python 學習--定製類
# python 定製類
class DStudent(object):
# 初始化引數,類似於c# 和 java中的建構函式
# 沒有'_'表示是公有欄位外部可以訪問
# 一個‘_'表示外部可以訪問但是不建議訪問
# 兩個'__'表示外部不能訪問
def __init__(self,name):
self.__name = name
self.__count = 0
# __str__() 和 __repr__(),兩者的區別是__str__()返回使用者看到的字串,而__repr__()返回程式開發者看到的字串,也就是說,__repr__()是為除錯服務的
def __str__(self):
return 'Student object (name:%s) and count:%s' % (self.__name,self.__count)
# 如果一個類想被用於for ... in迴圈,類似list或tuple那樣,就必須實現一個__iter__()方法,該方法返回一個迭代物件,然後,Python的for迴圈就會不斷呼叫該迭代物件的__next__()方法拿到迴圈的下一個值,直到遇到StopIteration錯誤時退出迴圈。
def __iter__(self):
return self
def __next__(self):
self.__count+= 1
if self.__count>50:
raise StopIteration()
return self
# 取制定下表的元素
def __getitem__(self, item):
self.__count = item
return self
# 動態返回屬性
def __getattr__(self, item):
if(item=="test"):
return 'haha'
# 一個物件例項可以有自己的屬性和方法,當我們呼叫例項方法時,我們用instance.method()來呼叫。能不能直接在例項本身上呼叫呢?在Python中,答案是肯定的。
def __call__(self, *args, **kwargs):
print('<-----call---->')
__repr__ = __str__
s = DStudent('Cp')
print(s)
for n in s:
print(n)
print('------')
print(s[0])
print(s[1])
print(s[2])
print('------')
print(s.test)
print('------')
s()
相關文章
- 【廖雪峰python進階筆記】定製類Python筆記
- C++學習 類定義(一)C++
- Python學習之路8.1-類Python
- Python學習:類和例項Python
- Python學習系列之類的定義、建構函式 def __init__Python函式
- Python學習之路41-元類Python
- Python私有變數如何定義?Python學習教程!Python變數
- Python pyinstaller類庫使用學習總結Python
- Python pycryptodome類庫使用學習總結Python
- Python pymodbus類庫使用學習總結Python
- Python學習,給自己的程式碼做個合集,定製自己的桌面軟體!Python
- Python學習之路8.2-對Python類的補充Python
- Python運算子分為哪幾類?Python學習系列!Python
- Python 學習筆記之類「物件導向,超類,抽象」Python筆記物件抽象
- 學習python有什麼好處?哪類人群適合學python?Python
- Python學習手冊之類和繼承Python繼承
- 零基礎學習 Python 之初識「類」Python
- ElasticSearch7.3 學習之定製分詞器(Analyzer)Elasticsearch分詞
- Python 3 學習筆記之類與例項Python筆記
- Python clickhouse-driver 類庫使用學習總結Python
- Python學習之路——類-物件導向程式設計Python物件程式設計
- docker學習(常用命令,映象燒錄,定製映象)Docker
- python學習總結之 函式定義defPython函式
- 學習javaScript必知必會(6)~類、類的定義、prototype 原型、json物件JavaScript原型JSON物件
- python創意小作品程式碼-Python學習,給自己的程式碼做個合集,定製自己的桌面軟體!...Python
- 學習python多久?該如何學習python?Python
- 如何高效的學習python?python學習技巧Python
- 跨行業如何學習好python?Python學習!行業Python
- Python如何快速學習?Python學習方法技巧!Python
- 如何用 Python 和深度遷移學習做文字分類?Python遷移學習文字分類
- 機器學習之分類迴歸樹(python實現CART)機器學習Python
- PYTHON 學習Python
- Python學習Python
- TypeScript學習(三)—— 類TypeScript
- C#學習——基本類——Math類C#
- Docker 學習筆記(第六集:使用 Dockerfile 定製映象)Docker筆記
- 《機器學習Python實現_10_06_整合學習_boosting_gbdt分類實現》機器學習Python
- 如何學習Python?Python學習入門路線Python
- 你適合學習python嗎?python學習人群Python