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