python中静态变量是怎么在对象方法中访问的。

python中没有写在init函数中的变量,这种静态变量应该怎么在类中的def run(self)这种对象函数中访问到?
比如:

class myThread (threading.Thread):

    threadLock = threading.Lock()

    def __init__(self):
        threading.Thread.__init__(self)

    def run(self):
        print('%s线程启动' %self.name)
        
        self.threadLock.acquire()
        self.threadLock.release()

        print('%s线程退出' %self.name)
    

这里的threadLock怎么在run中使用,我这么写self.threadLock不行,还是会报错,但是我把threadLock写在外面是可以使用的



threadLock = threading.Lock()

class myThread (threading.Thread):

    def __init__(self):
        threading.Thread.__init__(self)

    def run(self):
        print('%s线程启动' %self.name)
        
        threadLock.acquire()
        threadLock.release()

        print('%s线程退出' %self.name)
阅读 3.4k
1 个回答

这个不叫静态变量,这个叫类属性,可以用类名或self访问,报啥错?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题