Python之類的學習

2021-10-24 19:23:47 字數 3425 閱讀 5180

2 使用類和例項

3 繼承

根據dog類建立的每個例項都將儲存名字和年齡。我們賦予了每條狗蹲下(sit())和打滾(roll_over())的能力:

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!"

)

方法__init__()是乙個特殊的方法,每當你根據dog類建立例項時,python都會自動執行它。

以self為字首的變數都可供類中的所有方法使用,我們還可以通過類的任何例項來訪問這些變數。

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.'

)

my_dog.name
my_dog.sit(

)my_dog.roll_over(

)

class

car():

"""a ****** attempt to represent a car."""

def__init__

(self, manufacturer, model, year)

:"""initialize attributes to describe a car."""

self.manufacturer = manufacturer

self.model = model

self.year = year

defget_descriptive_name

(self)

:"""return a neatly formatted descriptive name."""

long_name =

str(self.year)

+' '

+ self.manufacturer +

' '+ self.model

return long_name.title(

) my_new_car = car(

'audi'

,'a4'

,2016

)print

(my_new_car.get_descriptive_name(

))

class

car():

"""a ****** attempt to represent a car."""

def__init__

(self, manufacturer, model, year)

:"""initialize attributes to describe a car."""

self.manufacturer = manufacturer

self.model = model

self.year = year

self.odometer_reading =

0def

get_descriptive_name

(self)

:"""return a neatly formatted descriptive name."""

long_name =

str(self.year)

+' '

+ self.manufacturer +

' '+ self.model

return long_name.title(

) my_new_car = car(

'audi'

,'a4'

,2016

)print

(my_new_car.get_descriptive_name(

))

乙個類繼承另乙個類時,它將自動獲得另乙個類的所有屬性和方法原有的類稱為父類,而新類稱為子類。

建立子類的例項時,python首先需要完成的任務是給父類的所有屬性賦值。為此,子類的方法__init__()需要父類施以援手。

class

car():

"""a ****** attempt to represent a car."""

def__init__

(self, manufacturer, model, year)

:"""initialize attributes to describe a car."""

self.manufacturer = manufacturer

self.model = model

self.year = year

self.odometer_reading =

0def

get_descriptive_name

(self)

:"""return a neatly formatted descriptive name."""

long_name =

str(self.year)

+' '

+ self.manufacturer +

' '+ self.model

return long_name.title(

)class

electriccar

(car)

:"""電動汽車的獨特之處""""

def__init__

(self,manufacturer,model,year)

:"""初始化父類屬性"""

super()

.__init__(manufacturer,model,year)

my_tesla = electriccar(

'tesla'

,'models'

,2016

)print

(my_tesla.get_descriptive_name(

))

Python學習之類的繼承

類變數,存在類的記憶體裡 name 我是類name def init self,name,role,weapon,life value 100,money 15000 建構函式,在例項化時做類的初始化工作 self.name name 例項變數 靜態屬性 作用域就是例項本身 self.role ro...

Python 學習入門之類

物件導向程式設計是最有效的軟體編寫方法之一。在物件導向程式設計中,編寫表示現實世界中的事物和情景的類,並基於這些類來建立物件。類的簡單示例 class dog def init self,name,age self.name name self.age age def sit self print ...

Python學習之類和物件

類 是乙個函式包。類中可以放置函式和變數,類中的函式可以很方便的使用類中的變數。在類中被定義的函式被稱為類的 方法 描述的是這個類能做什麼。我們使用類名.函式名 的格式,就可以讓類的方法執行起來。在類中被定義的變數被稱為類的 屬性 使用類名.變數名的格式,可以把類中的屬性的值提取出來。類的屬性可以修...