. 函数内存分布
# 1. 代码将函数存储内存中
def func01():
a = 10
print("func01执行了")
# 2. 调用函数会在内存中开辟一块空间(栈帧)
# 存储在函数内部创建的变量
func01()
# 3. 函数执行后,栈帧立即清空.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jUscgx8X-1602989450255)(C:\Users\hans_\Desktop\Tedu\正课\day09\函数内存图1.jpg)]
def func02(p1):
p1 = 200
list02 = [20]
func02(list02)
print(list02)# 20
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZPZfWxXN-1602989450257)(C:\Users\hans_\Desktop\Tedu\正课\day09\函数内存图2.jpg)]
. 作用域:
起作用的范围
局部作用域:函数内部
全局作用域:文件中,函数以外
适用性:
局部变量:小范围内(一个函数)
全局变量:大范围内(两个函数以上)
# -------------全局变量--------------
# 全局变量:在全局作用域内创建的变量
b = 20
c = 30
# ---------------函数--------------
def func01():
# 局部变量:在局部作用域内创建的变量
a = 10
print(b)
def func02():
# 局部作用域:函数内部
a = 10
# -