【Python】創建和使用類
阿新 • • 發佈:2017-11-16
自動運行 over 多個實例 引用 bottom color ack 小寫 運行
面向對象編程是最有效的軟件編寫方法之一
創建Dog類
class Dog(): ‘‘‘一次模擬小狗的簡單測試‘‘‘ def __init__(self,name,age): self.name = name self.age = age def sit(self): ‘‘‘模擬小狗被命令下蹲‘‘‘ print(self.name.title() + "is now sitting.") def roll_over(self): ‘‘‘模擬小狗被命令打滾‘‘‘print(self.name.title() + "rolled over!")
1.在這裏我們定義了一個Dog類,在Python中,首字母大寫的名稱指的是類
2.方法__init__()是一個特殊的方法,每當你根據Dog類創建新實例時,Python會自動運行它,在這個方法中,開頭和結尾有兩個下劃線,這是一種約定,旨在避免Python默認方法與普通方法發生沖突,在此方法中又是那個形參,參數self必不可少,還必須位於其他形參的前面,Python調用這個方法來創建Dog實例時,將自動傳入實參self,每個與類相關聯的方法調用都自動傳遞實參self,它是一個指向實例本身的引用,讓實例能夠訪問類中的屬性和方法。self會自動傳遞,只需要傳入後面兩個形參(name和age)
3.self.name,以self為前綴的變量都可提供類中的所有方法使用,我們可以通過類的任何實例來訪問這些變量,self.name = name 獲取存儲在形參name中的值,並將其存儲到變量name中,然後該變量被關聯到當前創建的實例。像這種可以通過實例訪問的變量稱為屬性。
根據類創建實例
my_dog = Dog(‘Lucy‘,3) print("My dog‘s name is " + my_dog.name +".") print("My dog is " + str(my_dog.age) +" years old.")
我們通常可以認為手寫字母大寫的指的是類,小寫的名稱指的是類創建的實例
1.調用方法
my_dog = Dog(‘Lucy‘,3) my_dog.sit() my_dog.roll_over() print("My dog‘s name is " + my_dog.name +".") print("My dog is " + str(my_dog.age) +" years old.")
2.創建多個實例
my_dog = Dog(‘Lucy‘,3) your_dog =Dog(‘Michile‘,4) print("My dog‘s name is " + my_dog.name +".") print("My dog is " + str(my_dog.age) +" years old.") my_dog.sit() print("your dog‘s name is " + your_dog.name +".") print("your dog is " + str(your_dog.age) +" years old.") your_dog.sit()在這個實例中,我們創建了2條小狗,他們分別名為Lucy跟Michile.每條小狗都是一個獨立的實例,擁有自己的屬性。
【Python】創建和使用類