如何避免“未解析的属性引用”

问题描述 投票:0回答:1

以下代码工作正常,但在 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()
python pycharm
1个回答
0
投票

这是一个警告,因为您通过将

ss
设置为
0
将其定义为整数。您可以使用正确的类型将其关闭:

ss: threading.Thread
keepgoing = True
...
© www.soinside.com 2019 - 2024. All rights reserved.