python3學習筆記 物件導向

2021-10-04 07:58:46 字數 3197 閱讀 2452

python物件導向也是通過類的機制實現。

python類的語法如下。

class

example

:# 基本屬性

property1 =

0 property2 =

''# 私有屬性,類外不能被訪問

__property3 =

''# 屬性p4在上面沒有顯示宣告。可通過建構函式直接宣告並初始化。

def__init__

(self, p1, p2, p3, p4)

: self.property1 = p1

self.property2 = p2

self.__property3 = p3

self.property4 = p4

def__print

(self)

:print

('aaaa'

)def

speak

(self)

:print

('property1 = %d, property2 = %s, property3 = %s'

%(self.property1, self.property2, self.__property3)

)

下面仔細介紹一下python的類。

私有屬性:__private_attrs:兩個下劃線開頭,宣告該屬性為私有,不能在類地外部被使用或直接訪問。

在類內部的方法中使用時,用self.__private_attrs。

在類外部訪問時,可以使用 object._classname__attrname 在外部訪問私有屬性。

公有屬性。不以兩個下劃線開頭。

公有屬性和私有屬性都必須顯示初始化。

類屬性初始化方式有兩種。

直接在類中宣告並初始化。

通過建構函式宣告並初始化。

稍後再給出例子。

在類地內部,使用def關鍵字可以為類定義乙個方法,與一般函式定義不同,類方法必須包含引數self,且為第乙個引數。
__private_method:兩個下劃線開頭,宣告該方法為私有方法,不能在類地外部呼叫。

只能在類的內部呼叫 self.__private_methods

"""

測試python類

"""class

person

:""" this is a comment."""

# 定義屬性

person_id =

0 person_name =

'' person_age =

0# 私有屬性,外部不能訪問

__person_*** =

''# 屬性example沒有在上面出現

def__init__

(self,

id, name, age, ***, location)

: self.person_id =

id self.person_name = name

self.person_age = age

self.__person_*** = ***

self.location = location

defspeak

(self)

:print

('my id is %d, name is %s, age is %d, *** is %s, i live in %s'%(

self.person_id, self.person_name, self.person_age, self.__person_***, self.location)

)person1 = person(

20132805

,'samuel king',25

,'male'

,'an hui'

)person1.speak(

)# 訪問類的私有屬性

print

('訪問類的私有屬性:'

, person1._person__person_***)

print

(person1.__class__)

print

(person1.__dict__)

print

(person1.__dir__())

print

(person1.__sizeof__())

print

(person1.__doc__)

print

(person1.__module__)

"d:\program files\anaconda3\envs\practice\python.exe" d:/workspace/pycharm-workspace/practice/jinyuxin0323/demo1.py

my id is 20132805, name is samuel king, age is 25, *** is male, i live in an hui

訪問類的私有屬性: male

python3 物件導向學習

類物件支援兩種操作 屬性引用和例項化。屬性引用使用和 python 中所有的屬性引用一樣的標準語法 obj.name。類物件建立後,類命名空間中所有的命名都是有效屬性名。所以如果類定義是這樣 usr bin python3 class myclass 乙個簡單的類例項 i 12345 def f s...

Python3基礎筆記 物件導向

只是對一些新的知識的記錄 class classname 類例項化後,可以使用其屬性,實際上,建立乙個類之後,可以通過類名訪問其屬性。init 方法可以有引數 定義乙個名為 init 的特殊方法 構造方法 def init self self.data 類定義了 init 方法的話,類的例項化操作會...

python3物件導向

類 class 描述同屬性和方法的物件的集合。方法 類中定義的函式 例項化 建立乙個類的例項,類的具體物件。物件 通過類定的資料例。包括兩個資料成員 類變數和例項變數 和方法。支援操作 屬性引用和例項化 class myclass i 12345 deff self return hello wor...