以下代码工作正常,但在 PyCharm 中给出警告,如下所示:
Unresolved attribute reference 'join' for class 'int':16
我了解警告是什么以及为什么会发生,但我想知道是否有更好的方法来删除警告。例如,如果我可以“输入” ss ,那么 IDE 就会明白发生了什么。通常,线程代码位于另一个模块中,并由 main 访问,我希望 main 不必了解有关“ss”的任何信息。
import time
import threading
ss=0
keepgoing=True
def fstart():
global keepgoing, ss
ss=threading.Thread(target=tmod)
ss.start()
keepgoing=True
def fstop():
global keepgoing
keepgoing=False
ss.join()
def tmod():
x=0
while keepgoing:
time.sleep(2)
print(str(x))
x+=1
if x==10 : x=0
def main():
print('Start')
fstart()
time.sleep(15)
fstop()
print('Done')
main()
这是一个警告,因为您通过将
ss
设置为 0
将其定义为整数。您可以使用正确的类型将其关闭:
ss: threading.Thread
keepgoing = True
...