1.函数的实参与形参
例:
定义函数: def student(name): --> name: 形参
函数体
调用函数: student(“Alice”) --> Alice: 实参
2.函数的使用技巧
(1) 默认值
在定义函数时,给形参赋的值,便是该函数的默认值
例: def student(id, name=“Jason”)
调用函数时,便可以不传默认参数的值
(2) 以形参形式传参 (关键字传参)
例: def login(user, password, email_name):
函数体
调用函数: login(user=“Hello”, email_name=“Jason”, password=123)
便可以准确传递参数, 并无视原本函数参数顺序传参
(3) 混合形式传参: ** * 代表之后所有参数传参时必须使用关键字传参
例: def login(user, password, , email_name):*
(4) 序列传参
例: def calc(a, b, c):
return (a + b) * c
调用函数: l = [1, 3, 5] 【 l = (1,3,5) 元组也适用 】
print(calc(*l)) --> 20
星号会按照对应顺序依次传入序列中的参数
(5) 字典传参 (最常见)
例: def health_check(name, age, height):
print(name, age, height)
调用函数: param = {“name”: “Alice”, “height”: “176”, “age”: “18”}
health_check(**param) --> Alice 18 176
字典传参时则需要用两个星号, 按键值一一对应的关系匹配传参, 故可以无视参数顺序
(6) 返回值包含多个数据 (返回字典)
例: def get_detail_info():
dict1 = {
“employee”: [
{“name”: “Alice”, “salary”: “8000”},
{“name”: “Jason”, “salary”: “7200”}
],
“devicec”: [
{“id”: “4396”, “class”: “xx笔记本”},
{“id”: “7777”, “class”: “xx台式机”}
]
}
return dict1
调用函数: print(get_detail_info()) -->
{‘employee’: [{‘name’: ‘Alice’, ‘salary’: ‘8000’}, {‘name’: ‘Jason’, ‘salary’: ‘7200’}], ‘devicec’: [{‘id’: ‘4396’, ‘class’: ‘xx笔记本’},{‘id’: ‘7777’, ‘class’: ‘xx台式机’}]}
3.模块的查找顺序
当前包 --> 内置函数 --> 系统变量
4.模块的属性
(1) dir --> 列出对象的所有属性及方法
(2) help --> 查看类、方法的帮助信息
(3) name --> 模块的名称
(4) file --> 文件全路径
5.包的简介、引用
简介:
(1) 包可以用来组织模块 ( 可以包含其他模块的模块 )
(2) 目录必须包含文件 init.py ( 如果没有,则找不到该包; 和系统文件夹的区别就是多了该文件 )
(3) 模块重名问题解决
引用:
(1) 引入整个包: import module
(2) 只引入包中所需要的属性和方法: from module.xx.xx import xx
(3) 指定别名: from module.xx.xx import xx as renename
(4) 引入所有: from module.xxx import * (不建议使用)