四十一、python面向对象二
A、成員:
1.字段:靜態字段(每個對象都有同一字段),普通字典(每個對象都有不同的數據)
2.方法:靜態方法(無需使用對象的內容),類方法,普通方法(使用對象中的數據)
3.特性:普通特性(將方法偽造成字段)
通過類去訪問的有:靜態字段,靜態方法,類方法
通過對象去訪問的有:普通字段,類的方法
自己的成員自己去訪問
靜態方法:沒有self,前添加@staticmethod,即為靜態方法(通過類去訪問)
類方法:比靜態方法多一個參數,該參數是為了顯示哪個類,前添加@classmethod
特性:將方法未造成字段來執行,前添加@property 快速判斷,類執行,對象執行
self 對象調用
無self 類調用
test01
class Provice:
#靜態字段,類中
China |
B、利用反射導入模塊、查找類、創建對象、查找對象中的字
imp=__import__("test01",fromlist=True)
<module 'test01' from 'F:\\myworkspacedirectory\\Function\\member\\test01.py'> |
C、成員修飾符
成員:
字段:靜態字段(每個對象都有同一字段),普通字典(每個對象都有不同的數據)
方法:靜態方法(無需使用對象的內容),類方法,普通方法(使用對象中的數據)
特性:普通特性(將方法偽造成字段)
兩種:共有的,私有的(兩個下劃線開頭,只有自己能使用,派生類也不能訪問)
class Provice:
#靜態字段,類中
China |
D、類的特殊成員1
__init__
__del__
__call__===>Django
xxx.__dict__:可查看類中的成員
class Foo: call {'__module__': '__main__', '__doc__': '\n 我是類的注釋\n ', 'country': 'zhongguo', '__init__': <function Foo.__init__ at 0x000001C307CB8950>, '__call__': <function Foo.__call__ at 0x000001C307CB89D8>, '__getitem__': <function Foo.__getitem__ at 0x000001C307CB8A60>, '__setitem__': <function Foo.__setitem__ at 0x000001C307CB8AE8>, '__delitem__': <function Foo.__delitem__ at 0x000001C307CB8B70>, 'add': <function Foo.add at 0x000001C307CB8BF8>, '__dict__': <attribute '__dict__' of 'Foo' objects>, '__weakref__': <attribute '__weakref__' of 'Foo' objects>} |
E、iter:類的特殊成員2
class Foo:
def __iter__(self):
|
總結
以上是生活随笔為你收集整理的四十一、python面向对象二的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云 Centos7 部署 Djang
- 下一篇: Fiddler抓包工具-拦截,断点