def CreateText(win, text, x, y, size, font, color, style):
txtObject = Text(Point(x,y), text)
if size==None:
txtObject.setSize(12)
else:
txtObject.setSize(size)
if font==None:
txtObject.setFace("courier")
else:
txtObject.setFace(font)
if color==None:
txtObject.setTextColor("black")
else:
txtObject.setTextColor(color)
if style==None:
txtObject.setStyle("normal")
else:
txtObject.setStyle(style)
return txtObject
def FlashingIntro(win, numTimes):
txtIntro = CreateText(win, "CELSIUS CONVERTER!", 5,5,28)
for i in range(numTimes):
txtIntro.draw(win)
sleep(.5)
txtIntro.undraw()
sleep(.5)
我试图让CreateText
函数在不使用参数的情况下用我的“默认”值创建一个文本对象。我希望备用文本是12磅的黑色信使。我尝试过用空字符串""
代替None
,但没有运气。我对Python相当陌生,而且几乎没有编程知识。在
在函数定义中设置默认值:
另外,在Python中,最好使用以下方法测试
^{pr2}$None
等单例对象:等等。。。在
在python中,我们将参数/关键字的默认值直接放入函数签名中,即:
您可以将默认值设置为None,即
size=None
,在某些情况下这是有用的,但在本例中,您不需要这样做。不带默认值的参数是必需的,如果它们在调用时不存在,则会引发错误(正如您刚才看到的)。在更新:
正如@agf所指出的,如果函数修改或返回了可变的默认值,则不应在签名中设置可变的默认值。在这种情况下,最好使用
argument=None
。在您需要为参数指定default values:
或者,输入实际的默认值,这样就不需要
^{pr2}$if
语句:相关问题 更多 >
编程相关推荐