函数的定义
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
函数的定义:
def sum(x,y):
print(‘x = [0]’.format(x))
print(‘y = [0]’.format(y))
return x+y
a = 10
b = 20
c = sum(a,b)
print(c)
函数的参数
1. 给b变量设定一个默认值
如果实参传入的时候,指定了b的值,那b优先选择传入的实参,当b没有值时,才会用默认值
def funcA(a, b=0):
print a
print b
funcA(1)
funcA(10,20)
结果
1
0
10
20
2. 参数为tuple
带*的参数就是用来接收可变数量的参数的
def funcB(a, b, *c):
print(a)
print(b)
print(‘length of c is :%d’ % len(c))
print(c)
funcB(1, 2, 3, 4, 5, 6)
#第二种传入参数,*test,解包
test = (‘hello’,’world’)
funcB(1, 2, *test)
结果:
1
2
length of c is :4
(3, 4, 5, 6)
#第二种传入参数,*test,解包
1
2
length of c is :2
(‘hello’, ‘world’)
#前面两个参数都被ab接受了,剩下的4个参数,全部都被c接受了,c在这里是一个tuple,在调用funcB的时候,至少要传递两个参数,
3. 参数为dict
如果一个函数定义中,最后一个形参有**(双星号)前缀,所有正常形参之外的其他关键字都将被放置在一个字典中传递给参数
def funcC(a,**b):
print(a)
# print(b)
for x in b:
print(x + “:” + str(b[x]))
funcC(100, c=’你好’, b=200)
#第二种传入参数,**args,解包
args = {‘1’: ‘a’,’2′: ‘b’}
funcC(100,**args)
结果:
100
c:你好
b:200
#第二种传入参数,**args,解包
100
1:a
2:b