f用于{}的格式化,{}内是变量或函数的某个形参;%s这种格式化不行
def func():
func()
def func(name):
func('小明')
****************************************分割线****************************************
高阶函数:参数为函数;闭包:返回值为函数;装饰器:返回值为函数的高阶函数
高阶函数:
from functools import reduce
def accumulate(start,end,handle,sign):
#map的首参函数,其内的参数个数不定,同一列表中的各元素互不影响,返回一串值;
# 而reduce的首参函数内必须是俩参,迭代处理二参列表中的各元素,返回一个值
def add(start,end,handle):
def product(start,end,handle):
def handle(n):
print(add(1,5,handle))
**********************分割线**********************
def abc(): #第1句
x='qwerty' #第2句
print(abc()) #第3句
#上述代码,若改为def
abc(x)……print(abc('helloworld')),即函数头中的形参变量和函数体外的全局变量冲突,那么return
x使用的是下文传来的实参helloworld,否则就只能退而求其次地选用函数体外的全局变量x。
若为def abc(y),那么return
x迫于无奈也只能使用全局变量x——优先形参,找不到形参时方采用全局变量
****************************************分割线****************************************
闭包:
def count():
#x=i:x是匿名函数的形参,i是实参;不写=i,则报错lambda()缺少参数(实参)
x,y,z=count()
print(x(),y(),z(),sep=';')
*******************分割线*******************
def func():
#m=x,n=y:x和y是默认实参
print(func()()) #输出3
print(func()(3,7)) #输出10
*******************分割线*******************
def build(x, y):
#不加lambda,返回的是int;加了返回的则是function
print(build(2,3)())

被折叠的 条评论
为什么被折叠?



