一、函数
1、函数也是对象:执行def函数后,系统就创建了相应的函数对象。
在堆中创建好函数对象,在栈里保存变量:test01,调用test01即可以在堆中调用函数。在栈中定义一个新的对象,对应的堆也是test01的堆。
2、变量的作用域(全局变量和局部变量)
变量起作用的范围成为变量的作用域
-
全局变量:global:尽可能少的使用全局变量, 如果想使用全局变量需要在函数内加入global 变量名
-
局部变量:函数执行完不能在函数外使用
print(locals()) print("globals()")
3、局部变量和全局变量效率的测试
import math
import time
def test01():
start=time.time()
for i in range(10000000):
math.sqrt(30)
end=time.time()
print("耗时{0}".format((end-start)))
def test02():
b=math.sqrt
start=time.time()
for i in range(10000000):
b(30)
end=time.time()
print("耗时{0}".format((end - start)))