小编use*_*142的帖子

调用函数的目的没有括号python

考虑以下:

class objectTest():

    def __init__(self,a):

        self.value = a

    def get_value(self):

        return self.value


class execute():

    def __init__(self):

        a = objectTest(1)
        b = objectTest(1)

        print(a == b)
        print(a.get_value() == b.get_value)
        print(a.get_value() == b.get_value())
        print(a.get_value == b.get_value)


if __name__ == '__main__':

    execute = execute();
Run Code Online (Sandbox Code Playgroud)

此代码返回

>>>
False
False
True 
False
Run Code Online (Sandbox Code Playgroud)

鉴于get_value是一个函数,我希望执行停止并返回错误,但事实并非如此.有人可以解释为什么python解释器允许这种语法而不是引发属性错误,这在我的情况下会节省我宝贵的时间.

python python-3.x

18
推荐指数
4
解决办法
2万
查看次数

python time.sleep()延迟了以前的命令

当试图中断tkinter应用程序时,似乎time.sleep()将一些先前的命令置于保持状态.根据我的理解和以前的经验,label1的文本应设置为"之前"一秒钟,然后更改为"之后".但是,"before"值永远不会显示,并且"after"在执行后正常打印一秒钟.

from tkinter import *
import time
class Display(Frame):
    def __init__(self, parent):
        Frame.__init__(self, parent)
        self.parent = parent
        label1 = Label(text = "before")
        label1.grid()
        self.after(1000, label1.config(text = "after"))

def main():
    root = Tk()
    Display(root)
    root.mainloop()

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

请注意,在(...)之后使用time.sleep(...)会产生与tkinter相同的结果

from tkinter import *
import time
class Display(Frame):
    def __init__(self, parent):
        Frame.__init__(self, parent)
        self.parent = parent
        label1 = Label(text = "before")
        label1.grid()
        time.sleep(1)
        label1.config(text = "after")

def main():
    root = Tk()
    Display(root)
    root.mainloop()

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

我想tkinter正在等待某些东西来执行图形工作(控制台没有问题)但是我没有看到什么,而且tkinter doc没有解决这个问题. …

python time sleep tkinter

1
推荐指数
1
解决办法
1201
查看次数

标签 统计

python ×2

python-3.x ×1

sleep ×1

time ×1

tkinter ×1