目的:想要num=10
之后,将全局的num
由0
变为1
1. 错误
num = 0
def count_num(num):
print('do sth')
for i in range(20):
num += 1
if num == 10:
num = 1
break
print(f'inner num :{num}')
count_num(num)
print(f'outer num:{num}')
do sth
inner num :1
outer num:0
2. 正确
num = 0
def count_num(n):
global num
print('do sth')
for i in range(20):
num += 1
if num == 10:
num = 1
break
print(f'inner num :{num}')
count_num(num)
print(f'outer num:{num}')
do sth
inner num :1
outer num:1
注意:global num
必须在函数内的顶层就定义,否则报错