《Python程式設計從入門到實踐》記錄之類的建立
阿新 • • 發佈:2018-11-28
1、建立類
下邊類是一個表示小狗的類,儲存了名字和年齡,以及小狗蹲下(sit())和打滾(roll_over())的能力:
# 定義類名 class Dog(): """一次模擬小狗的簡單嘗試""" # 文件字串描述類功能 def __init__(self, name, age): """初始化屬性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!")
根據上述程式碼講解類:
- 類的名字為Dog,在Python中,類名稱的首字母要大寫
- 類也需要有文件字串,對類的功能進行描述
- 類中的函式稱為方法
- 方法_init_():一個特殊的方法,建立類示例時,Python會自動執行。開頭和末尾各有兩個下劃線,是一種約定,為了避免Python預設方法與普通方法發生名稱衝突。_init_()方法中,必須包含self形參,且必須放在最前面,它是指向示例本身的引用,每個與類相關聯的方法都自動傳遞實參self(所以在建立類示例時,不用提供傳遞值)。
- self.name和self.age:兩個變數都有字首self,以self為字首的變數都可供類中的所有方法使用
,也可以通過類的任何示例來訪問這些變數。
2、根據類建立例項
#!/usr/bin/env python # -*- coding:utf-8 -*- class Dog(): """一次模擬小狗的簡單嘗試""" def __init__(self, name, age): """初始化屬性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!") my_dog = Dog('willie', 6) # 建立一個類例項 print("My dog's name is " + my_dog.name.title() + ".") # 訪問name屬性的值 print("My dog is " + str(my_dog.age) + " years old.") # 訪問屬相age的值 my_dog.sit() # 訪問類方法 my_dog.roll_over()
類例項中,可以使用句點表示法訪問類的屬性值,如my_dog.name何my_dog.age。
同時,也可以使用句點表示發訪問類的方法。
上訴程式碼執行結果為: