class
dog():
"""建立了狗類"""
def__init__
(self, name:str, age:int) -> none:
'''初始化屬性name和age'''
self.name = name
self.age = age
defsit(self) -> none:
'''模擬小狗蹲下'''
print(self.name.title()+' is now sitting.')
defroll_over
(self) -> none:
'''模擬小狗打滾'''
print(self.name.title()+' rolled over!')
taidi = dog('taidi', 2) # 物件例項化
print(taidi.sit())
方法__init__()
方法是共享的,屬性不共享
類中的方法由同乙個類建立的所有例項物件所共享,類中的屬性不會由同乙個類建立的其他物件所共享>>> type(d) # 物件的型別
'__main__.dog'>
>>> id(d) # 物件在記憶體中的位址
92579984
>>> hex(id(d)) # 位址轉為十六進製制數
'0x584a890'
class
car():
def__init__
(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.odometer = 0
defget_descriptive_name
(self):
long_name = str(self.year)+' '+self.make+' '+self.model
return long_name.title()
defread_odometer
(self):
print("this car has "+str(self.odometer)+" miles on it.")
defupdate_odometer
(self, mileage):
if mileage >= self.odometer:
self.odometer = mileage
else:
print('you can`t roll back an odometer!')
defincrement_odometer
(self, miles):
self.odometer += miles
deffill_gas_tank
(self):
print('this car has fill gas tank!')
# 電動汽車 繼承 汽車類
class
electriccar
(car):
def__init__
(self, make, model, year):
super().__init__(make, model, year)
self.battery_size = 70
# 定義了屬於子類的方法和屬性
defdescribe_battery
(self):
print("this car has a "+str(self.battery_size) + '-kwh battery.')
deffill_gas_tank
(self):
print('this car doesn`t need a gas tank')
my_tesla = electriccar('tesla', 'model s', 2016)
print(my_tesla.get_descriptive_name())
# 子類中傳入父類作為引數,並且需要呼叫 super 方法去為父類初始化值
class
electriccar
(car):
def__init__
(self, make, model, year):
super().__init__(make, model, year)
class
battery
():def
__init__
(self, battery_size=70):
self.battery_size = battery_size
defdescribe_battery
(self):
print('this car has a '+str(self.battery_size)+'-kwh battery.')
class
electriccar
(car):
def__init__
(self, make, model, year):
self.battery_size = battery() # 類的例項物件作為子類例項屬性,預設值為70
super().__init__(make, model, year)
deffill_gas_tank
(self):
print('this car doesn`t need a gas tank')
my_tesla = electriccar('tesla', 'model s', 2016)
my_tesla.battery_size.describe_battery() # 子類的例項物件的屬性去呼叫battery的方法
Head First Python(定製資料物件)
新的檔案格式 sarah sweeney,2002 6 17,2 58,2.58,2 39,2 25,2 55,2 54,2.18,2 55,2 55,2 22,2 21,2.22 如果使用split bif把資料抽取到乙個列表,第乙個資料項是名字,然後是出生日期,然後是計時資料。sarah get...
Head First Python 讀書筆記
idle整合開發環境 in 操作符 檢查乙個物件是否在另乙個物件中 不用大括號分開,靠縮排 區分 作為乙個 塊,有 的地方,必須縮排 迭代處理乙個物件序列的三種典型方法 序列是乙個有序的物件集合 for迴圈 知道迴圈次數 迴圈數字列表,迭代變數 x 指的是被迭代物件中的item for x in 1...
HeadFirstPython 資料持久化
usr bin env python coding utf 8 這一章主要是講如何將資料進行持久化。使用pickle對資料進行醃製。在對資料進行醃製之前,我們需要對資料進行格式化 針對資料 取出我們想要的資料。在中間的知識點是 檔案開啟與關閉,以及其異常處理。我用的是python2.7 在某些語法上...