标签:方法 多个 二层 *args 打破 cti 有关 fun ref
目录
def 函数名():
pass
def func():
pass
def func(args):
pass
def func():
pass
函数名()
从左到右依次接受位置实参
具有默认值,必须放在位置实参后面
从左到右依次传值给位置实参
按照形参名传值,必须放在放在位置实参后面
*形参:接受多余的位置实参,用元组接受
*实参:打散可迭代对象,当作位置实参传给形参
**形参:接受多余的关键字实参,用字典接收
**实参:打散字典,当作关键字实参传给形参
def func(*args,**kwargs): # 接收所有多余的值
pass
def func():
pass
f1 = func
lt = [func]
def f2():
return func
f3 = f2()
def f2(func):
pass
f2(func)
def f1():
def f2():
pass
内置函数
除了内置和局部都是全局
函数内部的
内置》全局》局部
从当前开始 局部》全局》内置
全局的x和局部的x没有关系
局部1和局部2的x没有关系
可变数据类型会打破作用域关系
def a():
x =10
def b():
print(x)
return b
import time
def index():
pass
def time_count(func):
def wrapper(*args,**kwargs):
start = time.time()
res = func(*args,**kwargs)
end = time.time()
print(end - start)
return res
return wrapper
index = time_count(index)
index() # wrapper()
def deco(func):
def wrapper(*args,**kwargs):
res = func(*args,**kwargs)
return res
return wrapper
@deco
def index():
pass
def sanceng(x):
def deco(func):
def wrapper(*args,**kwargs):
res = func(*args,**kwargs)
return res
return wrapper
return deco
@sanceng(x)
def index():
pass
含有iter方法的(除了数字)
含有iter和next的方法 (文件)
g = [123,2,3,4]
print(next(g)) # g.__next__()
含有yield的函数
函数调用函数本身:有退出条件
count = 0
def a():
print(count)
count +=1
if count == 100:
return
a()
递归能做的事,绝大部分能用循环代替
lambda 参数:返回值
一般与max/min/filter/map/sorted/sum
enumerate获取索引+值
类似流水线
标签:方法 多个 二层 *args 打破 cti 有关 fun ref
原文地址:https://www.cnblogs.com/wick2019/p/11584623.html