第三周-第14章节-Python3.5-函数式编程

# pcj
#函数
def funct1():
'''this is funct1'''
print("in the funct1")
return 0 #return 表示结束函数与返回值

#过程 过程无返回值 .即可以表达为,过程就是没有返回值的函数
def funct2():
'''this is funct2'''
print("in the funct2")


# 调用:
funct1()
funct2()
x=funct1() # x,表示接到funct1的返回值
y=funct2() #返回none
print("funct1 is reture %s" %x) #返回值为0
print("funct2 is reture %s" %y) #返回值为none
print("------------------我是分割线-----------------------------------------------")
def test01():
pass

def test02():
return 0

def test03():
return 0,10,"hello",{1,2},("pcj")

t1=test01()
t2=test02()
t3=test03()
print (t1) #总结:返回值为none
print(t2) #总结:返回值为object
print (t3) #总结:返回值为tuple
print("------------------我是分割线-----------------------------------------------")
#有参数的函数
def test(x,y): # xy 为形参,形式的参数
print(x)
print(y)

test(1,2) #1,2为实参 即把1 2 分别传上上面的x y 实参,实际存在的(位置调用)
test(y=2,x=1) #也可以这样调用,位置可以不一样。不用管顺序(关键字调用)


# 默认参数
def f1(x,y=2): #这个就叫做默认参数
print(x)
print(y)
f1(1,y=10) #当然,这里也还可以重新对Y进行赋值
# 默认参数的特点:
# 调用函数时,默认参数可传可不传
# 用途:如安装软件时,都会有一些默认选项。或连接数据库的端口号。默认男。等等太多了

#多个参数的传递【参数组】
def test(*args): # *就表示,我接收到参数是不固定的,args接收多个位置参数,转换为元组
print(args)

test(1,2,3,4,5) # 接收后,变成一个元组进行存放
print("------------------我是分割线-----------------------------------------------")
#组合方式
def test1(x,*args):
print (x)
print(args)
test1(1,2,3,4,5) #结果为,1为 x 2345 为args
print("------------------我是分割线-----------------------------------------------")
#把N个关键字参数传换为字典的方式
def test2(**kwargs):
print(kwargs)
test2(name="pcj",age=22,sex="男")
#和位置参数结合
def f2(name,**kwargs):
print(name)
print(kwargs)
f2("pcj",age=18,sex="男")
原文地址:https://www.cnblogs.com/pcjbk/p/10987855.html