函数
函数定义
# 定义一个计算绝对值的函数
def cal_abs(x):
if x >= 0:
return x
else:
return -x
# 调用函数
print('-1的绝对值是:%s' % cal_abs(-1))
# -1的绝对值是:1
默认参数
默认参数可以简化函数的调用。设置默认参数时,要注意:必选参数在前,默认参数在后,否则Python的解释器会报错;
def enroll(name, sex='male'):
print("name = %s,sex = %s" % (name, sex))
enroll("jack") # 调用enroll不需要传入sex参数也可调用
# name = jack,sex = male
可变参数
在Python函数中,还可以定义可变参数。顾名思义,可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。
我们以数学题为例子,给定一组数字a,b,c……,请计算a2+ b2 + c2 + ……。
函数可以定义如下:
def calc(*numbers): # *表示接收可变参数,将可变参数组成一个tuple
sum = 0
for n in numbers:
sum = sum + n * n
return sum
calc(1, 2, 3)
calc(*[1, 2, 3]) # *将列表转换为可变参数
# 14
关键字参数
关键字参数允许传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
def person(name, age, **other):
print('name:', name, 'age:', age, 'other:', other)
person('jack', 18, city='beijing', sex='male')
person('jack', 18, **{'city': 'beijing', 'sex': 'male'}) # **将dict转变为关键字参数