python學習筆記 子類

2021-08-21 19:46:28 字數 1244 閱讀 8151

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)+" miles on it.")

#定義乙個用來修改屬性值的函式

def update_odometer(self,mileage):

if mileage>=self.odometer_reading:

self.odometer_reading=mileage

else:

print("you can't rool back an odometer!")

def increment_odometer(self,miles):

self.odometer_reading+=miles

#子類

class electriccar(car):

def __init__(self,make,model,year):

super().__init__(make,model,year)

#父類英文superclass,super()讓子類可以呼叫父類方法

self.battery_size=70#電動車的獨有屬性

def describe_battery(self):

print("this car has a "+str(self.battery_size)+"-kwh battery.")

my_tesla=electriccar('tesla','model s',2016)

print(my_tesla.get_descriptive_name())

my_tesla.describe_battery()

如果父類存在乙個方法,並不適合乙個子類,你可以在該子類函式重寫。在你建立乙個子類物件時,呼叫該函式,python不會考慮該函式在父類是什麼情況

Python 父子類繼承筆記

簡介 繼承者含有被繼承者的所有屬性方法或函式。例如 class parent defhello self print 父類方法 class child parent pass python有自己的語法標準,當我希望類是空實現的時候。是不符合python的語法標準的,所以不能通過編譯,但我通過pass...

python建立子類 python 建立子類

如果你的類沒有從任何祖先類派生,可以使用object作為父類的名字。經典類的宣告唯一不同之處在於其 沒有從祖先類派生 此時,沒有圓括號 usr bin env python coding utf 8 class classicclasswithoutsuperclasses def fun1 sel...

python子類 python 子類和派生 繼承

新式類和經典類得區別 class classicclass pass class newstyleclass object pass x1 classicclass x2 newstyleclass print x1.class type x1 print x2.class type x2 輸出結果...