第八章 函数
一、定义函数
1.使用关键字def 来告诉Python你要定义一个函数。
二、关键字实参
1.下面两个函数是等效的
describe_pet(animal_type='hamster', pet_name='hany')
describe_pet(pet_name='hany', animal_type='hamster')
三、默认值
注意 使用默认值时,在形参列表中必须先列出没有默认值的形参,在列出有默认值的形参。
四、禁止函数修改列表
1.切片表示法[:]创建列表的副本
五、传递任意数量的实参
1.形参名*toppings中的星号让Python创建一个名为toppings的空元组,并将收到的所有值都封装到这个元组中。
例:
def make_pizza(*toppings):
print(toppings)
make_pizza('pepperoni')
make_pizza('mushrooms', 'green peppers', 'extra cheese')
OUT:
('pepperoni',)
('mushrooms', 'green peppers', 'extra cheese')
六、结合使用位置实参和任意数量实参
1.如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。
2.Python先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。
七、使用任意数量的关键字实参
1.形参**user_info中的两个星号让Python创建一个名为user_info的空字典,并将收到的所有名称-值对都封装到这个字典中。
例:
def build_profile(first, last, **user_info):
profile = {}
profile['first_name'] = first
profile['last_name'] = last
for key,value in user_info.items():
profile[key] = value
return profile
user_profile = build_profile('albert', 'einstein',
location='princeton',
field='physics')
print(user_profile)
OUT:
{'first_name': 'albert', 'last_name': 'einstein', 'location': 'princeton', 'field': 'physics'}
八、将函数存储在模块中
1.import语句允许在当前运行的程序文件中使用模块中的代码。
九、导入整个模块
1.模块是扩展名为.py的文件,包括要导入到程序中的代码。
2.如果你使用import语句导入了名为module_name对整个模块,就可是下面的语句来使用其中任何一个函数:
module_name.function_name()
十、导入特定函数
1.可以导入模块中的特定函数:
form module_name import function_name()
2.通过用逗号分隔函数名,可根据需要从模块中任意导入任意数量的函数:
form module_name import function_0, function_1, function_2
十一、使用as给函数指定别名
1..给函数指定别名的通用语法如下:
from module_name import function_name as fn
十二、使用as给函数指定别名
1.给模块指定别名的通用语法如下:
import module_name as mn
十三、导入模块中的所有函数
1.使用星号(*)运算符可让Python导入模块中的所有函数:
from module_name import *