国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python面向對象特殊成員

2019-11-25 16:13:53
字體:
來源:轉載
供稿:網友

類的特殊成員之call

#!/usr/bin/env python# _*_coding:utf-8 _*_class SpecialMembers:  # 類的構造方法  def __init__(self):    print("My Blog is Url: http://yw666.blog.51cto.com")  # 對象的構造方法  def __call__(self):    print("My Name is: Yangwen")# 創建一個對象,并且執行類的構造方法obj = SpecialMembers()# 執行對象的構造方法obj()# 先執行類的構造方法,然后在執行對象的構造方法SpecialMembers()()

輸出

yangwen@Darker:~$ python3 /home/yangwen/文檔/Python_code/sublime/Week06/Day04/s2.pyMy Blog is Url: http://yw666.blog.51cto.comMy Name is: YangwenMy Blog is Url: http://yw666.blog.51cto.comMy Name is: Yangwen

類的特殊成員之getitem、setitem、delitem

#!/usr/bin/env python# _*_coding:utf-8 _*_class SpecialMembers:  # 當執行obj['value']的時候就會自動執行__getitem__方法,并且把對象括號內的值當做__getitem__的值  def __getitem__(self, item):    print(item)  def __setitem__(self, key, value):    print(key, value)  def __delitem__(self, key):    print(key)# 創建一個對象obj = SpecialMembers()# 自動執行__getitem__方法obj['value']# 自動執行__setitem__方法obj['k1'] = "values"# 自動執行__delitem__方法del obj['key']

輸出

ansheng@Darker:~$ python3 /home/yangwen/文檔/Python_code/sublime/Week06/Day04/s2.pyvaluek1 valueskey

特殊的

#!/usr/bin/env python# _*_coding:utf-8 _*_class SpecialMembers:  # 當執行obj['value']的時候就會自動執行__getitem__方法,并且把對象括號內的值當做__getitem__的值  def __getitem__(self, item):    print(item, type(item), "__getitem__")  def __setitem__(self, key, value):    print(key, value)  def __delitem__(self, key):    print(key)# 創建一個對象obj = SpecialMembers()# 自動執行__getitem__方法obj[1:3] # __getslice__/__getitem__# 自動執行__setitem__方法obj[1:3] = [11, 22, 33] # __setslice__/__setitem__# 自動執行__delitem__del obj[1:3] # __delslice__/__delitem__

輸出

yangwen@Darker:~$ python3 /home/yangwen/文檔/Python_code/sublime/Week06/Day04/s2.pyslice(1, 3, None) <class 'slice'> __getitem__slice(1, 3, None) [11, 22, 33]slice(1, 3, None)

類的特殊成員之dict

獲取類或對象中的所有成員

#!/usr/bin/env python# _*_coding:utf-8 _*_class SpecialMembers:  """  類的注釋  """  def __init__(self):    self.Name = "Ansheng"    self.Blog = "http://yw666.blog.51cto.com"# 獲取類中的成員print(SpecialMembers.__dict__)# 創建一個對象obj = SpecialMembers()# 獲取對象中的成員print(obj.__dict__)

輸出

yangwen@Darker:~$ python3 /home/yangwen/文檔/Python_code/sublime/Week06/Day04/s2.py{'__weakref__': <attribute '__weakref__' of 'SpecialMembers' objects>, '__doc__': '/n  類的注釋/n  ', '__module__': '__main__', '__dict__': <attribute '__dict__' of 'SpecialMembers' objects>, '__init__': <function SpecialMembers.__init__ at 0x7ff2af2d7598>}{'Blog': 'http://yw666.blog.51cto.com', 'Name': 'Yangwen'}

類的特殊成員之iter

一個對象如果可以被for循環迭代時,說明對象中又__iter__方法,且方法中有yield值。

#!/usr/bin/env python# _*_coding:utf-8 _*_class SpecialMembers:  def __iter__(self):    yield 1    yield 2    yield 3# 創建一個對象obj = SpecialMembers()# 如果執行for循環對象時,自動會執行對象的__iter__方法,此時的__iter__就是一個生成器for i in obj:  print(i)

輸出

yangwen@Darker:~$ python3 /home/yangwen/文檔/Python_code/sublime/Week06/Day04/s2.py123

以上所述是小編給大家介紹的Python面向對象特殊成員,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 叙永县| 华蓥市| 临澧县| 远安县| 江西省| 辉县市| 抚宁县| 浦城县| 巴中市| 宝鸡市| 台湾省| 河曲县| 北辰区| 巫山县| 若尔盖县| 蛟河市| 白城市| 新源县| 仁怀市| 徐汇区| 渭源县| 灵川县| 安平县| 光山县| 项城市| 岳阳县| 灵川县| 建阳市| 沁水县| 阿拉尔市| 西和县| 泽普县| 冕宁县| 临桂县| 嘉兴市| 大渡口区| 崇明县| 华蓥市| 西华县| 台州市| 阜城县|