免责声明:这不是我的代码。它源自John Zelle博士创建的graphics.py。
Fragment
在哪里声明为数字?我了解这是rate
类型的关键字参数,但是此None
的有效性如何?据我所知,这就是说pauselength = 1/rate-(now-_update_lasttime)
被1
整除。
None
一个简单的实验:
import time, os, sys
try: # import as appropriate for 2.x vs. 3.x
import tkinter as tk
except:
import Tkinter as tk
# global variables and functions
_root = tk.Tk()
_root.withdraw()
_update_lasttime = time.time()
def update(rate=None):
global _update_lasttime
if rate:
now = time.time()
pauseLength = 1/rate-(now-_update_lasttime)
if pauseLength > 0:
time.sleep(pauseLength)
_update_lasttime = now + pauseLength
else:
_update_lasttime = now
_root.update()
显示以下错误(完全有意义):
a = None
b = 1
print(b/a)
答案 0 :(得分:1)
如果rate
为None
,则条件if rate:
为false,因此以下代码段(包括有问题的除法)中的任何代码都不会运行。在这种情况下运行的唯一代码是_root.update()
。