python進階-魔法方法
doc
- 表示類的描述資訊
class Foo:
"""描述資訊........"""
def func(self):
pass
print(Foo.__doc__)
modul__和__class
- __module__表示當前操作的物件在那個模組
- __class__表示當前操作的物件的類是什麼
test.py
class Person(object):
def __init__(self):
self.name = 'laowang'
main.py
from test import Person
obj = Person()
print(obj.__module__) # 輸出test, 即: 輸出模組
print(obj.__class__) # 輸出test.Person 即:輸出類
init
- 初始化方法, 通過類建立物件時, 自動觸發執行
class Person():
def __init__(self, name):
self.name = name
obj = Person('laowang') # 自動執行類中的__init__方法
del
- 當物件在記憶體中被釋放時, 自動觸發執行
call
- 物件後面加括號,觸發執行
__init__方法的執行是由建立物件觸發的, 即: 物件 = 類名() ; 而對於__call__方法的執行是由物件後加括號觸發的
class Foo:
def __init__(self):
pass
def __call__(self, *args, **kwargs):
print('__call__')
foo = Foo()
foo()
dict
- 檢查類中的所有屬性
class Province(object):
coutry = 'China'
def __init__(self, name, count):
self.name = name
self.count = count
def func(self, *args, **kwargs):
print('func')
# 獲取類的屬性, 即: 類屬性,方法
print(Province.__dict__)
obj1 = Province('山東', 10000)
print(obj1.__dict__)
str
- 如果一個類中定義了__str__方法, 那麼在列印物件時, 預設輸出該方法的返回值
class Foo():
def __str__(self):
return 'laowang'
obj = Foo()
print(obj) # laowang
相關文章
- 魔法方法推開Python進階學習大門Python
- Python基礎11(魔法方法)Python
- Python進階Python
- python dict實現的魔法方法Python
- Python魔法方法是什麼?如何使用?Python
- Python進階之物件導向(類的特殊方法)Python物件
- Python爬蟲進階之urllib庫使用方法Python爬蟲
- Python進階 — matplotlibPython
- Python進階之道Python
- Python進階 -- matplotlibPython
- [ Python ] 常用運算子對應的魔法方法Python
- Python進階細節Python
- python 中的魔法方法:__str__ 和__repr__Python
- Python魔法方法__getattr__和__getattribute__詳解Python
- Python 函式進階-高階函式Python函式
- python網路進階篇Python
- Python函式的進階Python函式
- Python進階03 模組Python
- Python的基礎進階Python
- 【模組二】Python進階Python
- python進階(25)協程Python
- python進階(17)協程Python
- python進階(12)閉包Python
- python魔法函式Python函式
- Python進階07 函式物件Python函式物件
- Python進階之物件導向Python物件
- Python學習路線·進階Python
- Python 函式進階-迭代器Python函式
- python進階(11)生成器Python
- 『無為則無心』Python物件導向 — 59、魔法方法Python物件
- Python的魔法函式Python函式
- python-進階教程-對切片進行命名Python
- Python進階:切片的誤區與高階用法Python
- c#_String.Split 方法進階篇C#
- Python進階教程5——物件導向Python物件
- Python進階-演算法-遞迴Python演算法遞迴
- Python進階-演算法-快速排序Python演算法排序
- 09-Python之路---函式進階Python函式