【问题标题】:I'm having some trouble with python turtle我在使用 python turtle 时遇到了一些问题
【发布时间】:2018-08-10 22:02:25
【问题描述】:

所以,我对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() 命令没有任何参数。有谁知道我做错了什么?

【问题讨论】:

标签: python turtle-graphics


【解决方案1】:

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

这是turto1.penup() 正在寻找的一个论点。它被调用的实例。

【讨论】:

  • 非常感谢!我不敢相信我没有注意到这一点!感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2021-11-18
  • 2012-05-13
  • 2021-07-06
  • 1970-01-01
  • 2021-01-19
  • 1970-01-01
  • 2020-06-12
  • 1970-01-01
相关资源
最近更新 更多