自建函数
如果要多次重复相同或者类似的代码,就很有必要写一个自定义的函数。
函数声明用 def 关键词,返回时用 return 关键词
函数的参数可以是位置参数和关键词参数,默认参数,可变参数和包裹位置参数和包裹关键词参数。
1.位置参数
调用函数的时候按照形参的先后顺序设置。
def my_func1(a,b):
if a > b:
return a+b
else:
return a*b
my_func1(-1,3)
# -3
#实参和形参一一对应,并且一个参数都不能落
- 关键词参数和默认参数
关键词参数是用键-值的形式加以命名,设定的时候可以用关键词参数的形式设定默认值。
def my_func2(a,b,c=1):
if a > b:
return (a-b)*c
else:
return (a+b)*c
my_func2(-1,2,c=1.5)
#1.5
my_func2(-1,2)
#1
my_func2(-1,2,1.5)
#1.5
#对于关键词参数可以通过 形参=实参 的形式传参,也可以通过位置参数的形式传参。如果是默认值,可以对其进行传参,也可以不传递参数。
3.可变参数,包裹位置参数和包裹关键词参数
如果传递的参数的数目不确定,可以设定可变参数。
def my_func3(*num):
i=0
for j in num:
i=i+j
return i
my_func3(2,3,4)
#9
#多个实参传递给形参,实际上num是以元组的形式存储实参的。这个形式是包裹位置参数
def my_func3(**num):
i=0
for key, value in enumerate(num):
i=i+key
return i
my_func3(a=1,b=2,c=3)
#6
#包裹关键词参数实际上是以字典的形式接受实参
4.不同参数的命名顺序
如果同时存在以上的参数类型,参数命名的顺序应该依照:
先位置参数,默认参数,包裹位置,包裹关键字(定义和调用都应遵循)
其实默认参数和包裹位置参数的前后顺序可以调换,但是只有在默认参数在前时,可以对其值执行修改。
网友评论