第八章 函数
关键字实参:
def describe_pet(pet_name, animal_type)
describe_pet( 'harry', 'hamster')
describe_pet(pet_name = 'harry', animal_type = 'hamster')
describe_pet(animal_type = 'hamster', pet_name = 'harry')
关键字实参的顺序无关紧要,因为python知道各个值应该存储到哪个形参中。
以上三个函数是等效的。
让实参变成可选的:
def get_formatted_name(first_name, last_name, middle_name = ' ')
# Python将非空字符解读为True
if middle_name:
full_name = first_name + ' ' + middle_name + ' ' + last_name
else:
full_name = first_name + ' ' + last_name
指定一个空字符串,并把可选参数放置形参列表的末尾。
可选值让函数能够处理各种不同情形的同时,确保函数调用尽可能简单
禁止函数修改列表
function_name(list_name[ : ])
切片表示法[ : ]创建列表的副本
传递任意数量的实参
def make_pizza(*toppings):
""""打印顾客点的所有配料"""
print(toppings)
make_pizza('pepperoni')
make_pizza('mushrooms','green peppers','extrachess')
形参名*toppings中的星号让Python创建一个名为toppings的空元组,并将收到的所有值豆封装到这个元组中。