第六章 第二節

2021-07-11 02:16:58 字數 1691 閱讀 9393

為什麼要建立類?

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的位,他們可以被解釋為整數或者其他,這取決...