那请把你报错的代码贴出来,别贴草稿好吗?
这里
def make_repeat(n):
return s * n
n = 2
print(make_repeat(n)(8))
print(make_repeat(n)('FishC')) error
def make_repeat(n)(s):
return s * n
n = 2
print(make_repeat(n)(8))
print(make_repeat(n)('FishC')) error
def make_repeat(n,s):
return s * n
n = 2
print(make_repeat(n,8))
print(make_repeat(n,'FishC'))right
def make_repeat(n=2,s):
return s * n
print(make_repeat(n,8))
print(make_repeat(n,'FishC'))error
def make_repeat(s):
return s * 2
print(make_repeat(8))
print(make_repeat('FishC')) right 我等 Boibot 发表于 2021-9-5 23:43
我等
def make_repeat(n):
return s * n# s是函数内局部变量,也没有传入的接口,所以调用的时候报错s没有定义。
n = 2
print(make_repeat(n)(8))# 普通函数不是这么多调用的,make_repeat返回的是普通值,不是函数的入口。
print(make_repeat(n)('FishC'))# error
# 修改如下:
def make_repeat(s, n=2):
return s * n
print(make_repeat(2))
print(make_repeat('FishC'))
# ===================================================================================
def make_repeat(n)(s):# 没有这种函数定义方式,定义参考上面的
return s * n
n = 2
print(make_repeat(n)(8))
print(make_repeat(n)('FishC'))# error
# ===================================================================================
#
def make_repeat(n, s):# 没有问题
return s * n
n = 2
print(make_repeat(n, 8))
print(make_repeat(n, 'FishC'))# right
# ===================================================================================
#
def make_repeat(n=2, s):# 函数定义一般关键字放后面,非关键字放前面,使用的时候要制定关键字,参考第一个
return s * n
print(make_repeat(n, 8))
print(make_repeat(n, 'FishC'))# error
# ===================================================================================
def make_repeat(s):# 没有问题
return s * 2
print(make_repeat(8))
print(make_repeat('FishC')) #right
还是仔细看看函数章节吧,在这不断尝试,不如咨询看看教程。 suchocolate 发表于 2021-9-6 10:12
还是仔细看看函数章节吧,在这不断尝试,不如咨询看看教程。
今天看了你发的菜鸟函数章节找到好多没弄懂的地方,之前都没注意到,我的知识体系都是漏洞 s是函数内局部变量,也没有传入的接口,所以调用的时候报错s没有定义。
普通函数不是这么多调用的,make_repeat返回的是普通值,不是函数的入口。
函数定义一般关键字放后面,非关键字放前面,使用的时候要制定关键字,参考第一个。
页:
1
[2]