这里为什么要加一个初始值balance = 0

来源:2-4 多线程并发问题

weixin_慕妹5398817

2021-05-13 15:05:10

好像不加这个初始值就运行不了

相关代码:

​import threading

balance = 0

def change_it(n):
"""改变我的余额"""
global balance
balance = balance + n
balance = balance - n
print('----------------{0}'.format(n))

class ChangeBalanceThread(threading.Thread):

def __init__(self, num, *args, **kwargs):
super().__init__(*args, **kwargs)
self.num = num


def run(self):
for i in range(1000):
change_it(self.num)



if __name__ == '__main__':
t1 = ChangeBalanceThread(5)
t2 = ChangeBalanceThread(8)
t1.start()
t2.start()
t1.join()
t2.join()
print('the last:{0}'.format(balance))


写回答

1回答

时间,

2021-05-13

同学,你好!balance=0表示定义该变量并赋初始值,只有定义了才可以在后边代码中使用,没有定义肯定是用不了的

http://img.mukewang.com/climg/609cdfe30952e90606440309.jpg

祝学习愉快!

0

0 学习 · 8160 问题

查看课程