我在PYTHON 2.7.17中编写了以下代码:
class prt(object):
def _print(self, x):
self.x = x
print x
def Write_turtle(self, shape, move=False, text_of_show, font=('Arial', 16, 'bold')):
try:
x.shape(shape)
x.write(text_of_show, move, font)
except:
from turtle import *
x = Turtle()
x.shape(shape)
x.write(text_of_show, move, font)
它在第 5 行末尾给了我这个错误:
SyntaxError: non-default argument follows default argument
谁能帮我? 谢谢。
在你定义Write_turtle
参数move
和font
有 默认参数。正如错误消息告诉您的那样,您必须将它们放置 在参数列表的末尾,例如:
def Write_turtle(self, shape, text_of_show, move=False, font=('Arial', 16, 'bold'))
原因是,这些参数是可选的。如果未设置它们,则使用默认值。由于text_of_show
没有默认参数,因此始终必须对其进行设置。这也意味着,您必须在它之前为所有参数提供一个值。因此,move
的默认值已过时。如果您致电例如
Write_turtle((20, 10), True)
解释器不会知道True
是move
的值还是text_of_show
的值。如果如上所述正确重新排列参数,则可以调用:
Write_turtle((20, 10), True)
Write_turtle((20, 10), False, True)
第一个版本设置move=False
(其默认值(,第二个版本设置move=True
。
欲了解更多信息,请查看此内容!