函数
函数
函数定义与调用
形参和实参
变量的作用域(全局变量和局部变量)
局部变量和全局变量的测试
import math
import time
def ceshi01():
start=time.time()
for i in range(1000000):
math.sqrt(30)
end =time.time()
print('耗时{0}'.format((end-start)))
def ceshi02():
b= math.sqrt
start=time.time()
for i in range(1000000):
b(30)
end = time.time()
print('耗时{0}'.format((end - start)))
ceshi01()
ceshi02()
耗时0.16200947761535645
耗时0.1390080451965332
Process finished with exit code 0
参数的传递
import copy
def testCopy():
''' 测试浅拷贝'''
a=[10,20,[5,6]]
b=copy.copy(a)
print('a:',a)
print('b:',b)
b.append(30)
b[2].append(7)
print('浅拷贝...')
print('a:', a)
print('b:', b)
testCopy()
def testDeepCopy():
''' 测试深拷贝'''
a=[10,20,[5,6]]
b=copy.deepcopy(a)
print('a:',a)
print('b:',b)
b.append(30)
b[2].append(7)
print('深拷贝...')
print('a:', a)
print('b:', b)
testDeepCopy()
a: [10, 20, [5, 6]]
b: [10, 20, [5, 6]]
浅拷贝...
a: [10, 20, [5, 6, 7]]
b: [10, 20, [5, 6, 7], 30]
a: [10, 20, [5, 6]]
b: [10, 20, [5, 6]]
深拷贝...
a: [10, 20, [5, 6]]
b: [10, 20, [5, 6, 7], 30]
Process finished with exit code 0
参数的几种类型
位置参数
默认值参数
命名参数
可变参数
强制命名参数
lambda表达式和匿名函数
eval()函数用法
递归函数_函数调用内存分析_栈帧的创建
嵌套函数_内部函数_数据隐藏
nonlocal和global 声明变量
LEGB规则