一、函数:是逻辑结构化和过程化的一种编程方法(函数名重复是以最后一个为次函数)
优点:代码重用、保持一致性、易保护、可扩展性。
定义:(函数关键字)def test(x):(函数名及参数,内定义形参)
‘The function deinitions’ #文档描述(非必要但是最好写)
x += 1 #代码块区域
return x #定义返回值
#有参数
def test(x)
y = 2*x+1
return y
a = test(2)
print(a) #5
#无参数
def test()
x = 3
y = 2*x+1
return y
a = test()
print(a) #7
二、函数的过程:过程就是简单特殊没没返回值的函数,没有返回值自动返货None
返回值=0,返回None;返回值 只有一个,返回 object(次值);返回值>0,返回元组
def test01():
msg = 't01'
print(msg)
def test02()
msg = 't02'
print(msg)
return msg
def test03()
msg = 't03'
print(msg)
return 1,2,3,['age',3],{'name',22},'girl',None
a = test01() #t01
b = test02() #t02
c = test03() #t03
print(a) #None
print(b) #t02
print(c) #(1,2,3,['age',3],{'name',22},'girl',None)
三、函数的参数(一个参数不能传两个值)
1、形参变量只有在被调用时才分配内存单位,在调用结束时即可释放分配的内存单元,因此形参只有在函数内部有效。函数调用结束返回主调用函数后则不能在使用形参变量。
2、实参可以使常量、变量、表达式、函数等,无论实参是何种类型的量,在进行调用时,他们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值、输入等办法使用参数获得确定值。
3、位置参数和关键字参数(缺一不可),位置参数必须在关键字参数的左边一一对应
标准调用:实参与形参位置一一对应;关键字调用:未知无需固定
4、默认参数
def inst(x,type='myco')
print(x)
print(type)
inst('name') #name
#myco
inst('name',type='age') #name
#age
inst('name','age') #name
#age
5、参数组
#**是字典,*是列表
# 1)列表
def test(x,*args)
print(x)
print(args)
#其余以列表形式
test(1,2,3,4) #1
#(2,3,4)
test(1,{'name',12}) #1
#({'name',12})
#加一个*表示把次列表以元组形式输出
test(1,*['age',22,'name']) #1
#('age',22,'name')
# 2)字典
def test(x,**kwrgs)
print(x)
print(kwargs)
test(1,y=2,z=3) #1
#{'y':2,'z':3}
#3)列表与字典(固定模式,可接受任意长度的参数)
def test(x,*args,**kwargs)
print(args,args[1])
print(kwargs,kwargs.get(age))
test(1,3,22,name='a',age=3) #(3,22)22
#{'name':'a','age':3}3