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