日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python面向對象特殊成員

系統 1782 0

類的特殊成員之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.py
My Blog is Url: http://yw666.blog.51cto.com
My Name is: Yangwen
My Blog is Url: http://yw666.blog.51cto.com
My 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.py
value
k1 values
key
          

特殊的

            
#!/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.py
slice(1, 3, None) 
            
               __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__': 
            
              , '__doc__': '\n  類的注釋\n  ', '__module__': '__main__', '__dict__': 
              
                , '__init__': 
                
                  }
{'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.py
1
2
3
          

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


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 蒙自县| 彭水| 昌邑市| 巴中市| 宜兰县| 大同市| 六安市| 宁安市| 铁岭市| 台湾省| 三台县| 岱山县| 根河市| 贵港市| 牡丹江市| 千阳县| 临高县| 潞城市| 焦作市| 眉山市| 饶阳县| 牙克石市| 泗洪县| 许昌县| 于都县| 双峰县| 尚志市| 漯河市| 吉林省| 洞头县| 抚宁县| 大埔县| 湛江市| 云龙县| 阳东县| 东山县| 镇沅| 洪泽县| 舟曲县| 鲁山县| 延寿县|