函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。
定义函数时需要遵守以下规则:
语法:
def 函数名(参数1,参数2,参数3,...):
'''注释'''
函数体
return 返回的值
函数的调用:函数名加括号
调用函数时可使用的正式参数类型:
位置参数,也叫必需参数,在调用函数时位置参数必须传值,并且必须以正确的顺序和相同的数量传入传入。
def func(name,age):
print ('我叫%s,我今年%s岁了' %(name,age))
func('张三',18)
#输出
'我叫张三,我今年18岁了'
以“参数名 = 参数值”的形式作为传入函数称为关键字参数,使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
def func(name,age):
print ('我叫%s,我今年%s岁了' %(name,age))
func(age=18,name='张三')
#输出
'我叫张三,我今年18岁了'
在定义函数时,如果某些参数的值不会经常变化,可以将其设置为默认参数,调用函数时,如果给默认参数传递了实参,则使用传递来的实参,如果没有传递实参,则会使用默认参数。
# age为默认参数,默认为18
def func(name,age=18):
print ('我叫%s,我今年%s岁了' %(name,age))
func(age=28,name='张三') #age传了28,则使用传来的28
func(name='李四') #age没有传参,则使用默认的18
#输出
'我叫张三,我今年28岁了'
'我叫李四,我今年18岁了'
如果需要传给函数的参数很多,并且在函数声明时不确定在调用时会传入多少个参数,这种情况下,就要使用到不定长参数了
不定长参数使用*args和**kwargs来接收:
def func(a,b,*args,**kwargs):
print(a)
print(b)
print(args)
print(kwargs)
func(1,2,3,4,5,6,w=7,j=8)
#输出
1
2
(3, 4, 5, 6)
{'w': 7, 'j': 8}
编写一个求和函数,计算用户传入的所有参数之和,不能限制用户传入参数的个数
def sum(*args):
res = 0
for i in args:
res += i
return res
print(sum(1,2))
print(sum(1,2,3,4,5,6,7,8,9))
#输出
3
45
原文:https://www.cnblogs.com/wangjiachen666/p/9610327.html