一、通过参数的形式为函数体传参
def func(a):
print(a)
func(1111)
二、通过闭包的方式为函数体传参
def func_1(x):
x = 2222
def func_2():
print(x)
return func_2
x = func_1(2222)
print(x)
x()
结果:
<function func_1.<locals>.func_2 at 0x000001DF3DD7C048>
2222
三、示例
# 传参的方式一:
def get(url):
response = requests.get(url)
print(len(response.text))
get('https://www.baidu.com')
get('https://weixin.qq.com/')
get('https://www.zhihu.com/')
结果:
2443
5599
170
# 传参的方式二:
def outter(url):
def get():
response = requests.get(url)
print(len(response.text))
return get
baidu = outter('https://www.baidu.com')
baidu()
weixin = outter('https://weixin.qq.com/')
weixin()
zhihu = outter('https://www.zhihu.com/')
zhihu()
结果:
2443
5599
170