Python 物件導向

2021-09-25 09:58:18 字數 2653 閱讀 2606

在建立類定義方法的時候self引數

哪乙個物件呼叫的方法,self就是哪乙個函式物件的引用;在封裝的方法內部,self就表示當前呼叫當法物件自己,在呼叫的時候就不必傳遞self引數(定義的時候,第乙個引數必須是self)

class cat:

def __init__(self,name,color):

self.name = name

self.color = color

def get_name(self):

print('name is %s' %self.name)

def get_color(self):

print('color is %s' %self.color)

tom = cat('tom','blue')

erpang = cat('pang','yellow') # 例項化兩個物件

#兩個物件是使用同乙個類建立出來的,但是其資料不一致,相互之間沒有關係

tom.get_color() # 當物件呼叫方法的時候,其中self引數就是呼叫方法的物件本身

tom.get_name()

erpang.get_color()# 當物件呼叫方法的時候,其中self引數就是呼叫方法的物件本身

erpang.get_name()

輸出結果:

color is blue

name is tom

#當呼叫方法的物件是tom的時候,self引數就是引用的該物件,輸出都是例項化該物件的時候,設定的屬性

color is yellow

name is pang

#當呼叫方法的物件是erpang的時候,self引數就是引用的該物件,輸出都是例項化該物件的時候,設定的屬性

初始化方法__init__

這個初始化方法是內建方法,是專門用來定義乙個類具有哪些屬性和方法的。

由於類可以起到模板的作用,因此,可以在建立例項的時候,把一些我們認為必須繫結的屬性強制填寫進去。通過定義乙個特殊的__init__方法,在建立例項的時候,就把name,score等屬性綁上去

注意到__init__方法的第乙個引數永遠是self,表示建立的例項本身,因此,在__init__方法內部,就可以把各種屬性繫結到self,因為self就指向建立的例項本身。

有了__init__方法,在建立例項的時候,就不能傳入空的引數了,必須傳入與__init__方法匹配的引數,但self不需要傳,python直譯器自己會把例項變數傳進去。

使用:類名() 就可以建立乙個物件,在建立物件的時候,python直譯器會自動執行以下操作:

1.為物件在記憶體中分配空間–建立物件;

2.呼叫初始化方法為物件的屬性設定初始值。

在建立物件的時候就設定物件的屬性。使用預設的初始化方法對屬性進行設定。

1.把希望設定的屬性值,定義成__init__方法的引數

2.在方法內部使用self.屬性名 = 形參 接收外部傳遞的引數

3.在建立物件的時候,使用類名(屬性)呼叫

class fruits():

def __init__(self, new_name): ##初始化方法

self.name = new_name

def sweet(self):

print('%s味道很甜' %(self.name))

def colour(self):

print('%s顏色是紅色' %(self.name))

#print(fruits()) #呼叫函式,顯示記憶體位址

#建立乙個物件

str方法

希望使用print輸出物件變數的時候,能夠列印自定義內容就可以利用__str__這個內建的方法了。但是輸出的內容只能是字串型別。

使用print輸出物件變數時候,預設情況會輸出這個變數引用的物件是由哪乙個類建立的物件以及在記憶體中的位址

預設輸出:

class fruits():

def __init__(self, new_name):

self.name = new_name

def __str__(self): #返回的必須是乙個字串

return '我是%s' %(self.name)

def sweet(self):

print('%s味道很甜' %(self.name))

def colour(self):

print('%s顏色是紅色' %(self.name))

#print(fruits()) #呼叫函式,顯示記憶體位址

#建立乙個物件

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...