Python小白学习笔记五 (函数 1)
程序员文章站
2022-05-28 18:53:29
...
函数 function
pycharm快捷键
Ctrl + P 参数信息(在方法中调用参数)
Ctrl + Q 快速查看文档
Ctrl + Alt + M 提取方法
定义
1.用于封装一个特定的功能,表示一个功能或者行为。
2.函数是可以重复执行的语句块, 可以重复调用。
作用
提高代码的可重用性和可维护性(代码层次结构更清晰)。
"""
函数内存分布
"""
# 1. 将函数的字节码加载到内存中(代码区)
def func01():
a = 10
# 2. 调用函数时在内存中开辟空间(栈帧),存储局部变量.
func01()
# 3. 函数执行后,该空间立即销毁.
def func02(p1, p2):
# 2. 函数内部修改可变对象
p1 = 20 # 栈帧中的变量
p2[0] = 20
# 1. 传入可变对象
a = 10
b = [10]
func02(a, b)
# 3. 无需通过返回值传递结果
print(a) # 10
print(b) # [20]
定义函数
1.语法:
def 函数名(形式参数):
函数体
2.说明:
def 关键字: 全称是define,意为”定义”。
函 数 名: 对函数体中语句的描述,规则与变量名相同。
形 式 参 数: 方法定义者要求调用者提供的信息。
函 数 体: 完成该功能的语句。
3.函数的第一行语句建议使用文档字符串描述函数的功能与参数。
调用函数
1.语法:函数名(实际参数)
2.说明:根据形参传递内容。
返回值
1.定义:方法定义者告诉调用者的结果。
2.语法:
return 数据
3.说明:
return后没有语句,相当于返回 None。
函数体没有return,相当于返回None。
可变/不可变类型在传参时的区别
1.不可变类型参数有:
数值型(整数,浮点数)
布尔值bool
None 空值
字符串str
元组tuple
2.可变类型参数有:
列表 list
字典 dict
集合 set
3.传参说明:
不可变类型的数据传参时,函数内部不会改变原数据的值。
可变类型的数据传参时,函数内部可以改变原数据。
函数参数
实参传递方式argument
位置传参
定义:实参与形参的位置依次对应。
序列传参
定义:实参用*将序列拆解后与形参的位置依次对应。
关键字传参
定义:实参根据形参的名字进行对应。
字典关键字传参
1.定义:实参用**将字典拆解后与形参的名字进行对应。
2.作用:配合形参的缺省参数,可以使调用者随意传参。
"""
函数参数
实际参数:与形参进行对应
位置实参:按顺序
序列实参:拆
关键字实参:按名称
字典实参:拆
"""
def func01(p1, p2, p3):
print(p1)
print(p2)
print(p3)
# TypeError: func01() takes 3 positional arguments but 4 were given
# func01(1, 2, 3, 4)
# TypeError: func01() missing 1 required positional argument: 'p3'
# func01(1, 2)
# 1. 位置实参:根据顺序与形参进行对应
func01(1, 3, 2)
# 2. 关键字实参:根据名称与形参进行对应
func01(p1=1, p2=2, p3=3)
func01(p2=2, p1=1, p3=3)
# 使用容器思想传递参数:统一管理数据
# 3.序列实参:将序列拆分后与形参按顺序对应
list01 = ["a", "b", "c"]
func01(*list01)
# 4.字典实参:将字典拆分后与形参按名称对应
dict01 = {"p3": "c", "p1": "a", "p2": "b"}
func01(**dict01)
上一篇: 第十三节--对象串行化_PHP教程