![](/img/trans.png)
[英]Why are the id of method between instance object and class object not same?
[英]Class, instance/object method
我是編程新手。 我對這個類/實例/方法定義感到非常困惑。
我有一個簡單的問題。
如果我用紅筆在一張紙上畫一個正方形,有人能在這里解釋一下什么是類、方法和對象嗎?
此外,這是一個真實程序的代碼。 基於上面的解釋,我如何開始類似地思考Python?
import turtle
def draw_square():
window = turtle.Screen() #canvas to draw on
window.bgcolor("red")
brad = turtle.Turtle()
brad.shape("triangle")
brad.speed('10000')
brad.forward(100)
brad.right(90)
brad.forward(100)
brad.right(90)
brad.forward(100)
brad.right(90)
brad.forward(100)
window.exitonclick()
draw_square()
在您的類比中,該類將是“Square”,因為它是一個抽象概念,表示某物的類型(在這種情況下,是您在紙上繪制的事物的類型)。 “Draw”將是方法,因為它是對對象執行的操作。 對象將是您繪制的特定正方形。 因此,如果您將兩個相同的正方形並排繪制在一起,則會有兩個對象,它們都具有相同的類。
我已經評論了您的代碼以對其進行解釋:
import turtle
def draw_square(): # We are defining a method
window = turtle.Screen() # window is an object. Its class is turtle.Screen
window.bgcolor("red") # We are calling the bgcolor() method, which sets the color
brad = turtle.Turtle() # We are creating an object called brad, whose class is turtle.Turtle
brad.shape("triangle") # We are calling a method on brad, called shape
brad.speed('10000') # We are calling a method on brad, called speed
brad.forward(100) # We are calling a method on brad, called forward
brad.right(90) # etc. etc.
brad.forward(100)
brad.right(90)
brad.forward(100)
brad.right(90)
brad.forward(100)
window.exitonclick() # We are calling a method on window, called exitonclick
draw_square() # We are calling a method called draw_square, which we defined above
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.