Python小白学习笔记五 (函数 1)

标签: python小白笔记  python

函数 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)

版权声明:本文为weixin_45610121原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45610121/article/details/108062689