繁体   English   中英

我在使用python乌龟时遇到了麻烦

[英]I'm having some trouble with python turtle

所以,我对turtle还是很陌生,我打算写一些文本,但是当我使用此功能时;

    turto1=turtle.Turtle
    turto2=turtle.Turtle
    def spuper():
        turto1.penup()
        turto2.penup()
        turto1.goto(-150,40)
        turto2.goto(-130,40)

我收到此错误:

    TypeError: penup() missing 1 required 
    positional argument: 'self'

我不确定为什么会这样,而且我很确定penup()命令没有任何参数。 有人知道我做错了吗?

将两个turtle.Turtle都更改为turtle.Turtle() 如果没有() ,则将类本身分配给变量。 这意味着当您尝试在其上调用方法时,第一个参数(该类的实例)不会隐式传递给该方法。 这意味着您必须显式传入一个实例( turtle.Turtle.penup(aTurtleInstanceThatYouDefinedElsewhere) ),否则该方法调用将被视为静态方法,如果未定义该错误,则会引发该错误。作为静态方法。 使用()您将创建类的实例并将其分配给变量。 这意味着,当您在其上调用方法时,您将隐式地将实例本身作为第一个参数传递给函数。

那是turto1.penup()寻找的一个参数。 正在被调用的实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM