簡體   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