文章目录
一、函数
(一)分类
- 内置函数
- 标准库函数:通过import语句导入库,然后使用库中定义的函数
- 第三方函数
- 用户自定义函数
(二)核心要点
1.语法
def 函数名称([参数列表]}):
'''文档字符串''' #函数的注释。调用help(函数名._doc_)可以打印输出函数的文档字符串
语句/语句块
2.要点
python执行def时,会创建一个函数对象,并绑定到函数名变量上。
3.函数也是对象
def test():
print("hello")
test() #调用函数
c=test
c() #将test的内容赋值给c,此时调用c()的结果和test()一样
(三)参数
1.分类
参数可以划分为形参和实参两种
(1)含义
形式参数是在定义函数时使用的,不需要定义数据类型。
实参是在调用函数时,传递过去的。
(2)要点
- 圆括号内是形式参数列表,多个参数应用逗号隔开
- 无参数,也需要保留括号
- 实参列表必须与形参列表一一对应
2.参数的传递
(1)传递可变对象
- 可变对象有字典、列表和集合
- 传递可变对象时,原对象和形参指向同一个地址
- 对“可变对象”进行“写操作”,直接作用于原对象本身
(2)传递不可变对象
- 不可变对象有int、float、字符串、元组和布尔值
- 传递不可变对象时,原对象和形参指向同一个地址
- 在函数内对“不可变对象”进行修改,系统会创建一个新对象,此时原对象和新对象的地址不同
3.参数的类型
(1)位置参数
- 函数传递参数时,默认按照位置进行顺序传递
- 传递参数时,若个数不匹配,则报错
(2)默认值参数
- 为某些参数设置默认值
- 默认值参数通常放在位置参数的后面
def f1(a,b,c=10,d=20):
print(a,b,c,d)
f1(a=10,b=20)
(3)命名参数
按照形参的名称传递参数
def f2(a=10,b,c):
print(a,b,c)
f2(c=6,b=5)
(4)可变参数
- *param(一个星号),将多个参数收集到一个元组中
- **param(两个星号),将多个参数收集到一个字典中
>>>def f1(a,b,*c):
print(a,b,c)
>>>f1(8,9,19,20) #将19和20放到元组里
8,9,(