前言:類將函式和資料整潔地封裝起來,讓你能夠靈活而高效地使用它們。
class
dog():
"""一次模擬小狗的簡單嘗試"""
def__init__
(self,name,age)
:"""初始化屬性name和age"""
self.name = name
self.age = age
defsit(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()+
".")
print
(" my dog is "
+str
( my_dog.age)
+" years old."
)
在定義類時,根據約定在python中,首字母大寫的名稱指的是類。
""" """
表示_文件字串_。
1、方法_ _ init _ _()
類中的函式,我們稱之為方法
self.name = name
與self.age = age
獲取儲存在形參name、age中的值,並將其儲存在變數name中,然後該變數被關聯到當前建立的例項。
上例中,sit()
和roll_over()
統稱為方法。
可將類視為有關如何建立例項的說明。
class
dog():
--snip-
-
❶ my_dog = dog(
' willie',6
)❷ print
(" my dog's name is "
+ my_dog.name.title()+
".")
❸ print
(" my dog is "
+str
( my_dog.age)
+" years old."
)
class
car():
""" 一 次 模 擬 汽 車 的 簡 單 嘗 試"""
❶ def
__init__
( self, make, model, year)
:""" 初 始 化 描 述 汽 車 的 屬 性"""
self.make = make
self.model = model
self.year = year
self.odometer_reading =
0
❷ def
get_descriptive_name
( self)
:""" 返 回 整 潔 的 描 述 性 信 息"""
long_name =
str( self.year)
+' '
+ self.make +
' '+ self.model
return long_name.title(
)def
read_odometer
(self)
:"""列印一條指出汽車里程的訊息"""
print
("this car has "
+str
(self.odometer_reading)
+" mile on it."
)❸ my_new_car = car(
' audi'
,'a4'
,2016
)print
( my_new_car.get_descriptive_name())
my_new_car.read_odometer(
)
2.1、給屬性指定預設值:
上例中:self.odometer_reading = 0
2.2、修改屬性的值:
直接修改屬性的值:
class
car():
--snip-
-
my_new_car = car(
' audi'
,'a4'
,2016
)print
( my_new_car.get_descriptive_name())
my_new_car.odometer_reading =
23my_new_car.read_odometer(
)#輸出結果:
2016 audi a4
this car has 23 miles on it.
通過方法修改屬性的值:
class
car():
--snip-
-
❶ def
update_odometer
( self, mileage)
:"""
將 裡 程 表 讀 數 設 置 為 指 定 的 值
禁 止 將 裡 程 表 讀 數 往 回 調
"""if mileage >
= self.odometer_reading:
self.odometer_reading = mileage
else
: ❷ print
(" you can't roll back an odometer!"
)my_new_car = car(
' audi'
,'a4'
,2016
)print
( my_new_car.get_descriptive_name())
❷ my_new_car.update_odometer(
23)
my_new_car.read_odometer(
)
通過方法對屬性的值進行遞增:
class
car():
--snip-
-def
update_odometer
( self, mileage):-
-snip-
- ❶ def
increment_odometer
( self, miles)
:""" 將 裡 程 表 讀 數 增 加 指 定 的 量"""
self.odometer_reading +
= miles
❷ my_used_car = car(
' subaru'
,'outback'
,2013
)print
( my_used_car.get_descriptive_name())
❸ my_used_car.update_odometer(
23500
) my_used_car.read_odometer(
)❹ my_used_car.increment_odometer(
100)
my_used_car.read_odometer(
)#輸出結果:
2013 subaru outback
this car has 23500 miles on it.
this car has 23600 miles on it.
本章**示例來自:[美] eric matthes. python程式設計:從入門到實踐
python 類與例項
私有變數 如想要內部屬性不被外部訪問,可在屬性的名稱前加上兩個下劃線 在python內部,例項的變數名如果以 開頭,就變成了乙個私有變數,只有內部可以訪問,外部不能訪問。當我們拿到乙個物件的引用時,如何知道這個物件的是什麼型別,有什麼方法?python是動態語言,根據類建立的例項可以任意繫結屬性。給...
python學習 類與例項
python是一門物件導向 oop 程式語言,同樣用類class實現封裝 繼承 多型,例項就是具體的物件,每個例項資料型別相同,但擁有的資料不同。方法就是與例項繫結的函式,和普通函式不同,方法可以直接訪問例項的資料 1.類的方法在定義時第乙個引數必須為self,而普通函式定義時則不需要。例項呼叫方法...
python學習筆記 類與類的例項
一.class human object age 0 name li lei a human b human a.age 1 print a.age print b.age a.name 0 wang print a.name print b.name 執行結果 xiaoheng ubuntuxh ...