需要實(shí)現(xiàn) :代碼 函數(shù)-類- 異常檢查。
未完成。
9-13 ,寫作閱讀: collections 和 random 的文檔: 未
代碼風(fēng)格: 變量名小寫_下滑線風(fēng)格。 類名:駝峰命名風(fēng)格
類, 修改屬性的值的三種方式:
- 直接修改
- 通過(guò)方法修改
- 通過(guò)方法對(duì)屬性進(jìn)行遞增
如何在修改屬性值的時(shí)候, 防止回調(diào)引起的錯(cuò)誤?
出現(xiàn)錯(cuò)誤!
- https://stackoverflow.com/questions/23944657/typeerror-method-takes-1-positional-argument-but-2-were-given
- 錯(cuò)誤描述: Car() takes 0 positional arguments but 3 were given
代碼:
def Car():
"""模擬汽車的嘗試"""
def __init(self, make, model, year):
self.make = make
self.model = model
self.year = year
def get_decriptive_name(self):
"""return the decriptive info"""
long_name = str(self.year) +' '+self.make +' '+ self.model
return long_name.title()
錯(cuò)誤原因:
繼承: 子類關(guān)聯(lián), 給子類定義屬性和方法, 重寫父類方法
super().init(): 特殊函數(shù)幫助Python將父類和子類關(guān)聯(lián)起來(lái)
用實(shí)例(另一個(gè)類): 當(dāng)做屬性
: 但調(diào)用時(shí),不能直接用實(shí)例的屬性, 必須通過(guò)實(shí)例的函數(shù)接口來(lái)獲得
否則會(huì)出現(xiàn): Battery' object is not callable 錯(cuò)誤
(相當(dāng)于C++里面的私有繼承)
文件與異常
返回的異常也是Python 中的對(duì)象, 也有屬性和方法
需要注意的點(diǎn)
- Python將所有文本都解讀為字符串
- 文件路徑:盡量用絕對(duì)路徑,避免python搜索不到
- with open() as , 語(yǔ)法, Python會(huì)自動(dòng)在適當(dāng)?shù)臅r(shí)候關(guān)閉文件(除去了手動(dòng)關(guān)閉的麻煩)
- rstrip() 方法的作用: 去除多余空行
- a模式:如果要給文件添加內(nèi)容, 而不是覆蓋原有的內(nèi)容。