Python的類與物件

2021-08-22 08:38:10 字數 2231 閱讀 6300

很多人都知道python是一門物件導向的程式語言,那麼到底是如何物件導向呢,其實對於python來說,萬物皆物件,但是還有很重要的一點,得有類:

物件 = 屬性 + 方法

類的語法:class()

class fun():

def name(self,name):

self.name = name

def prints(self):

print("my name is ".format(self.name))

req = fun() #例項化物件

req.name("bob")

req.prints()

可以看到我們定義了乙個類fun(),然後裡邊有兩個函式,有self,其實這個self相當於c++的this指標,self就是指類本身,self.name就是fun類的屬性變數,而name是外部傳來的函式,不是fun自帶的,所以self.name = name的意思就是把外部傳來的引數name的值賦值給fun類自己的屬性變數self.name。和普通函式不同,在類中建立的函式,第一引數永遠是self。建立完後,就要例項化物件,不然無法呼叫裡面的函式。

類成員的封裝:對物件的成員進行訪問限制

三個級別:1,公開(public)     2,受保護的(protected)   3,私有的(private)

私有成員是最高端別的封裝,只能在當前類或物件中訪問

class person():

name = "meimei" #公開的成員

__age = 20 #私有的成員

p = person()

print(p.name)

print(p.__age) #訪問age會報錯

我們可以看到age的前面加了兩個下劃線,這就成了私有變數,如果我們在類的外部讀取它會報錯

但是python的私有不是真私有,相當於一種障眼法,可以理解成python自動給它改了名,如果真的想訪問:

class person():

name = "meimei" #公開的成員

__age = 20 #私有的成員

p = person()

print(p.name)

print(p._person__age) #訪問私有變數

在類的前面加乙個下劃線,再訪問變數,如果想修改這個私有變數那怎麼辦呢?難道還修改不了了?其實python是有方法的

class person():

name = "meimei" #公開的成員

__age = 20 #私有的成員

p = person()

print(p.name)

print(p._person__age) #訪問私有變數

p._person__age = 19 #修改私有變數的值

print(p._person__age) #訪問修改後的私有變數

受保護的:在類中或者子類中可以訪問,在外部不可以訪問。

封裝方法:在前面新增乙個下劃線即可。

再來介紹下python的乙個魔法方法:__init__,相當於乙個建構函式

class person():

def __init__(self):

print("i am very fond of meimei")

p = person() #例項化之後立馬訪問建構函式

__init__()方法體現在只要例項化乙個物件,這個方法就會在物件被建立時自動呼叫。

其實例項化物件時是可以傳入引數的,這些引數會自動傳入__init__()方法中

可以通過重寫這個方法來自定義物件的初始化操作。

class person():

def __init__(self,name):

self.name = name

def fun(self):

print("i am very fond of ".format(self.name))

p = person("meimei") #例項化時傳入引數

p.fun()

Python 類與物件

引數 預設值 可變引數 關鍵字引數 命名關鍵字引數 返回值 python class student def init self,arg,kwargd 可變引數 arg kwargd if name in kwargd self.name kwargd name defmain s student ...

Python 類與物件

python是一種物件導向的程式語言。python中,幾乎所有東西都是乙個物件。物件有屬性和方法。類是用於建立物件的 藍圖 要建立類,請使用關鍵字class 示例 建立乙個名為myclass的類,其屬性名為x class myclass x 8現在可以使用myclass類建立物件 示例 建立乙個名為...

Python 類與物件

一.一 類 是對一群有相同特徵或者行為的事物的統稱,是抽象的,不可直接使用。二 物件 是由類創造出來的實體,可以直接使用。三 類與物件之間的關係 1.先有類再有物件 2.類只有乙個而物件可以有多個 四 類的設計 3要素 類名 大駝峰命名法 屬性 描述這類事物的特徵 方法 描述這類事物的具體行為 二....