10 1 python類與例項的建立

2021-09-26 05:03:40 字數 4102 閱讀 2385

前言:類將函式和資料整潔地封裝起來,讓你能夠靈活而高效地使用它們。

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 = nameself.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 ...