1. 程式人生 > 程式設計 >Python__雙劃線引數程式碼例項解析

Python__雙劃線引數程式碼例項解析

這篇文章主要介紹了python__雙劃線引數程式碼例項解析,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

程式碼如下

'''
>>> Class1.__doc__ # 型別幫助資訊 'Class1 Doc.' 
>>> Class1.__name__ # 型別名稱 'Class1' 
>>> Class1.__module__ # 型別所在模組 '__main__' 
>>> Class1.__bases__ # 型別所繼承的基類 (<type 'object'>,) 
>>> Class1.__dict__ # 型別字典,儲存所有型別成員資訊。 <dictproxy object at 0x00D3AD70> 
>>> Class1().__class__ # 型別 <class '__main__.Class1'> 
>>> Class1().__module__ # 例項型別所在模組 '__main__' 
>>> Class1().__dict__ # 物件字典,儲存所有例項成員資訊。 {'i': 1234}
'''
class Ren(object):
  '''ok,it's crazy'''
  name = 'a human being'

  @staticmethod
  def look():
    return "ok"

class Men(Ren):

  sex = "male"

class Women(Ren):

  sex = "female"

class Baby(Women):

  sex = "children"

if __name__ == "__main__":

  r = Men()
  print(Ren.__dict__,"__dict__")
  print(Ren.__doc__,"__doc__")
  print(Men.__doc__,"__doc__")
  print(Ren.__bases__,"__bases__")
  print(Baby.__bases__[0].__bases__,"__bases__")
  print(Baby.__bases__[0].__dict__,"__dict__")
  print(Baby.__dict__,"__dict__")
  print(Men.__bases__[0](),"__bases__")
  print(Men.__name__,"__name__")
  print(r.__class__(),"__class__")
  print(r.__module__,"__class__")
  print(Men.__module__,"__class__")
  print(__file__)

結果

{'__module__': '__main__','__doc__': "ok,it's crazy",'name': 'a human being','look': <staticmethod object at 0x000001FFD18E6518>,'__dict__': <attribute '__dict__' of 'Ren' objects>,'__weakref__': <attribute '__weakref__' of 'Ren' objects>} __dict__
ok,it's crazy __doc__
None __doc__
(<class 'object'>,) __bases__
(<class '__main__.Ren'>,) __bases__
{'__module__': '__main__','sex': 'female','__doc__': None} __dict__
{'__module__': '__main__','sex': 'children','__doc__': None} __dict__
<__main__.Ren object at 0x000001FFD1AD95C0> __bases__
Men __name__
<__main__.Men object at 0x000001FFD1AD96A0> __class__
__main__ __class__
__main__ __class__
D:/Projects/MxShop/tester.py

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。