for i in range(5):
def test(i=i):
print(i)
test()
test()
test()
test()
test()
每次打印4张?有人可以帮我理解这个。
答案 0 :(得分:8)
您重新定义了test
4次:
同样如下:
#define test
def test(i = 0):
print(i)
#redefine test
def test(i = 1):
print(i)
#redefine test
def test(i = 2):
print(i)
#redefine test
def test(i = 3):
print(i)
#redefine test
def test(i = 4):
print(i)
所以最后一个只有test()
。
答案 1 :(得分:3)
在循环的每次迭代中重新定义函数std::map<int, bool (*)(const Point&, const Point&)>
std::multimap<RelationalOperator, bool (*)(const Point&, const Point&)>
std::vector<std::pair<int, bool (*)(const Point&, const Point&)>>
。
当循环完成时,test
只是:
test
答案 2 :(得分:3)
首先你的脚本完成for循环,在for循环结束时,i值为4
然后有多少次,你可以打电话给test()
,它会打印4
我在代码中添加了一些打印件,以便您可以更好地理解流程
for i in range(5):
print(i)
def test(i=i):
print("test")
print(i)
test()
test()
test()
test()
test()
输出将是:
0
1
2
3
4
test
4
test
4
test
4
test
4
test
4