為什麼要建立類?
1:有助於降低複雜度
2:複雜度減少意味著bug更少
3:相應的維護量同樣也減少了
在物件導向的世界中,**成為類的方法,資料稱為類的屬性,而例項化的資料(?)物件成為例項。
python 利用 class定義類
class athelete:
def __init__(self)
...
沒有self引數賦值,python直譯器無法得出方法呼叫要應用到那個物件例項中去
class athelete:
def __init__(self,value=0):
self.thing = value
def how_big(self):
return len(self.thing)
第3行中將提供的值賦至乙個名為」self.thing」的類屬性。
**例項
`def sanitize(time_string):
if '-' in time_string:
splitter = '-'
elif ':' in time_string:
splitter = ':'
else:
return time_string
mins,secs = time_string.split(splitter)
return(mins+'.'+secs)
class athlete:
def __init__(self,a_name,a_dob = none,a_times=):
self.name = a_name
self.dob = a_dob
self.times = a_times
def top3(self):
return sorted(set(sanitize(t) for t in self.times))[0:3]
def get_coach_data(file_name):
try:
with open(file_name) as f:
data = f.readline()
temp1 = data.strip().split(',')
return athlete(temp1.pop(0),temp1.pop(0),temp1)
except ioerror as ioerr:
print 'file error: '+ str(ioerr)
return none
james = get_coach_data('james2.txt')
print james.name + "'fastese times are: " + str(james.top3())`
因此只需要將應用到的新功能封裝在類中,沒有任何限制。
`x = [1, 2, 3]
print (x)`
gives you: [1, 2, 3, [4, 5]]
`x = [1, 2, 3]
x.extend([4, 5])
print (x)`
gives you: [1, 2, 3, 4, 5]
乙個新增物件,乙個新增列表。
繼承多重繼承
第六章 6 1 1節練習
練習6.6 說明形參 區域性變數以及區域性靜態變數的區別。編寫乙個函式,同時用到這三種形式。解答 只要定義有引數的函式,就會涉及到形參。區域性變數,就是只能在區域性使用的變數,無法在其他地方進行使用。當然,其還可以對全域性同名變數進行隱藏。區域性靜態變數,也是在區域性使用,但是其銷毀會在程式結束之後...
mysql第六章 第六章 mysql日誌
第六章 mysql日誌 一 錯誤日誌 錯誤日誌的預設存放路徑是 mysql 存放資料的地方 hostname.err 1.修改錯誤日誌存放路徑 mysqld log error data mysql mysql.log 2.檢視配置命令 show variables like log error 3...
第六章 指標
1.多位元組資料的位址是在最左邊還是最右邊的位置,不同的機器有不同的規定,這也正是大端和小端的區別,位址也要遵從邊界對齊 2.高階語言的乙個特性就是通過名字而不是位址來訪問記憶體的位置,但是硬體仍然通過位址訪問記憶體位置 3.記憶體中的變數都是義序列的0或1的位,他們可以被解釋為整數或者其他,這取決...