python 類 基礎筆記

2021-08-13 16:27:26 字數 2738 閱讀 6899

類—–抽象 比如 房屋圖紙—是抽象的–乙個模板。所以我們在畫圖紙的時候,可以先設定好房子的結構,比如,有個窗戶,有個門

class

fangzi

(object):

def__init__

(self,window,door):

self.window=window

swlf.door=door

物件(類的例項化)—-根據圖紙建造出來的房子。因為我們的圖紙裡面規劃房子要有窗戶,門。所以我們建造出來的房子也帶有窗戶和門。但是我們可以根據自己的需要,給窗戶和門取名字。(比如甲根據這個圖紙建造了房子,那就是甲的房子可以把房子的窗戶叫做甲窗戶,甲門,而乙也根據圖紙建造了房子,可以叫作乙窗戶,乙門)

jia=fangzi('jiaw','jiad')

print jia.window

jiaw

print jia.door

jiad

yi=fangzi('yiw','yid')

print yi.winfow

yiwprint yi.door

yid

我們還可以給圖紙新增一些方法,比如開窗戶,開門

class

fangzi

(object):

def__init__

(self,window,door):

self.window=window

swlf.door=door

defopen

():print

'opendoor'

print

'openwindow'

jia=fangzi('jiaw','jiad')

jia.open()

opendoor

openwindow

和靜態語言不同,python允許對例項變數繫結任何資料,也就是說,對於兩個例項變數,雖然它們都是同乙個類的不同例項,但擁有的變數名稱都可能不同:

例如:

bart = student(『bart simpson』, 59)

lisa = student(『lisa simpson』, 87)

bart.age = 8

bart.age

8 lisa.age

traceback (most recent call last):

file 「」, line 1, in

attributeerror: 『student』 object has no attribute 『age』

class

student

(object):

def__init__

(self, name, gender):

self.name = name

self.__gender = gender #外部無法直接訪問gender屬性

defget_gender

(self):

#通過該方法,可以讓外部訪問gender

return self.__gender

defset_gender

(self,gender):

self.__gender=gender

#通過該方法,可以讓外部修改gender屬性

bart = student('bart', 'male')

#傳入male,這時,gender被賦值為male,可通過bart.get_gender()訪問

bart.set_gender('female')

#修改gender為female

if bart.get_gender() != 'female':

#通過bart.get_gender()訪問,判斷gender是否被修改為female

print('loss!')

else:

print('sucess!')

self.__gender=gender 限制了gender被外部訪問和修改

def get_gender(self) 設定gender可被外部訪問

def set_gender(self,gender)設定了gender可被外部修改

這樣的好處是,可以對引數做檢查,避免傳入無效的引數

如下

class

student

():def

__init__

(self,name,scode):

self.name=name

self.__scode=scode

defget_scode

(self):

return self.__scode

defset_scode

(self,scode):if0

100:

self.__scode=scode

else:

raise valueerror('bad scode')

s=student('ming',80)

print s.get_scode()

s.set_scode(88)

print s.get_scode()

通過set_scode(self,scode)方法來設定成績期間,當輸入輸入不在0-100之間,就會報錯。

Python學習筆記(十五) 類基礎

以mark lutz著的 python學習手冊 為教程,每天花1個小時左右時間學習,爭取兩周完成。寫在前面的話 2013 7 24 23 59 學習筆記 1,python中的大多數oop故事都可以簡化為乙個表示式 object.attribute 當類啟用時,為了找出attribute首次出現的地方...

Python學習筆記(十五) 類基礎

以mark lutz著的 python學習手冊 為教程,每天花1個小時左右時間學習,爭取兩周完成。寫在前面的話 2013 7 24 23 59 學習筆記 1,python中的大多數oop故事都可以簡化為乙個表示式 object.attribute 當類啟用時,為了找出attribute首次出現的地方...

python 類class基礎簡明筆記

感謝莫煩老師 詳情class calculator 首字母要大寫,冒號不能缺 name good calculator 該行為class的屬性 price 18 def add self,x,y print self.name result x y print result def minus se...