Python 物件導向

2022-08-24 01:21:09 字數 1461 閱讀 8854

class student(object):

#注意:特殊方法「init」前後有兩個下劃線!!!

def __init__(self,name,score):#第乙個引數self永遠是類建立的例項本身

self.__name=name

self.__score=score

def print_score(self):

print('%s: %s' % (self.__name,self.__score))

def get_grade(self):

if self.__score >= 90:

return 'a'

elif self.__score >= 60:

return 'b'

else:

return 'c'

bart = student('bart simpson', 59)

bart.get_grade()

方法就是與例項繫結的函式,和普通函式不同,方法可以直接訪問例項的資料,封裝-----

#__name是private變數        如果要讓內部屬性不被外部訪問,可以把屬性的名稱前加上兩個下劃線__ 

私有變數__name 的實質是_student__name,如此可以使用物件._student__name訪問,一般不這樣使用

python中存在特殊變數 __name__ (雙_開頭,雙_結束),外部物件是可以直接訪問特殊變數的

6.3 繼承和多型

python 是動態語言 鴨子理論,對於繼承,只要子類實現了父類的方法,就可以繼承父類

type('str')  #返回(class 'str')

isinstance('a',str)  #返回true

python中len()方法   len('abc')其實就是呼叫'abc'.__len__  #返回3

>>> class myobject(object):

...     def __init__(self):

...         self.x = 9

...     def power(self):

...         return self.x * self.x

>>> obj = myobject()

hasattr getattr setattr  直接操作物件的屬性狀態

hasattr(obj,'x')  #true

setattr(obj,'y',19) 

getattr(obj,'y')  #返回為19

--獲得物件的方法

getattr(obj,'power')

fn=getattr(obj,'power') #fn 指向obj.power

fn()==obj.power()

python是動態語言,建立物件時,可以任意繫結屬性

類屬性屬於類的,但是例項物件也可以進行訪問呼叫,類屬性和例項屬性名稱不要定義一樣的

python物件導向學習 python物件導向學習

物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。物件導向三個概念 1.封裝 即把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法讓可信的類進...

python物件導向總結 Python物件導向總結

python 物件導向 oop 1 物件導向 是乙個更大封裝,把乙個物件封裝多個方法 2 類 是對一些具有相同特徵或行為的事物的乙個統稱,是抽象的,不能直接使用 特徵被稱為屬性 行為被稱為方法 3 物件 是由類建立出來的乙個具體的存在,可以直接使用 先有類再有物件,類只有乙個,而物件可以有多個 類中...

python登入物件導向 python 物件導向

一 屬性和方法 1.a a 例項屬性 通過例項物件來新增的屬性就是例項屬性 a.count 10 例項方法都是在類中直接定義的 以self為第乙個引數的方法都是例項方法 當通過例項物件呼叫時,會自動傳遞當前物件作為self傳入 當通過類物件呼叫時,不會自動傳遞self a.test 等價於 a.te...