Python - Programmation orientée objet - _Dict

python programmation orient objet dict


Pourquoi dire __dict__

  • In Python Intérieur de la classe,Qu'il s'agisse d'une propriété de classe、Propriétés de l'Instance、Exemple de méthode、Méthode de classe、Méthode statique,Tout est stocké dans un dictionnaire,Où le nom de la propriété est la clé,Et la valeur comme valeur pour cette clé
  • Pour faciliter la visualisation des propriétés contenues dans la classe、Méthodes,Vous pouvez utiliser ce que la classe fournit __dict__ Propriétés,Rappelez - vous que c'est un attribut,Ce n'est pas une façon de

Châtaignes à héritage unique

class PoloBlog:
sum = 0
def __init__(self, name):
self.name = name
def test(self):
pass
@classmethod
def test_cls(cls):
pass
@staticmethod
def test_static():
pass
blog = PoloBlog("Petit ananas")
blog.test()
# Appel d'objet d'instance
print(blog.__dict__)
# Appel d'objet de classe
print(PoloBlog.__dict__)
# Résultats obtenus
{'name': 'Petit ananas'}
{'__module__': '__main__', 'sum': 0, '__init__': <function PoloBlog.__init__ at 0x105d2b0d0>, 'test': <function PoloBlog.test at 0x105d4d310>, 'test_cls': <classmethod object at 0x105c47fa0>, 'test_static': <staticmethod object at 0x105c47d90>, '__dict__': <attribute '__dict__' of 'PoloBlog' objects>, '__weakref__': <attribute '__weakref__' of 'PoloBlog' objects>, '__doc__': None}
  • Si vous appelez avec un objet instance __dict__ Affiche un dictionnaire de toutes les propriétés de l'Instance
  • Appelé avec un objet de classe __dict__ Toutes les méthodes d'instance sont sorties 、Propriétés de la classe、 Un dictionnaire de méthodes de classe

Plusieurs châtaignes héritées

class A:
a = 0
def __init__(self):
self.name = "Petit ananas"
pass
def test(self):
pass
class B(A):
b = 0
def __init__(self):
super(B, self).__init__()
self.age = 24
# Appelé par un objet de classe
print(A.__dict__)
print(B.__dict__)
# Appelé par l'objet instance
a = A()
b = B()
print(a.__dict__)
print(b.__dict__)
# Résultats obtenus
{'__module__': '__main__', 'a': 0, '__init__': <function A.__init__ at 0x1022553a0>, 'test': <function A.test at 0x102255430>, '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__doc__': None}
{'__module__': '__main__', 'b': 0, '__init__': <function B.__init__ at 0x1022554c0>, '__doc__': None}
{'name': 'Petit ananas'}
{'name': 'Petit ananas', 'age': 24}

Les parents ont leurs propres __dict__, La même sous - classe A sa propre __dict__, Il ne contient pas de parent __dict__

Adoption __dict__ Modifier la valeur

Ou le code ci - dessus

a = A()
print(a.__dict__)
# Modifier la valeur de l'attribut
a.__dict__["name"] = "Nouvel ananas"
print(a.__dict__)
# Résultats obtenus
{'name': 'Petit ananas'}
{'name': 'Nouvel ananas'}

Participation à cet articleTencent Cloud Self - media Sharing Plan,Bienvenue à la lecture,Partager ensemble.

版权声明
本文为[Notes de test pour les petits ananas]所创,转载请带上原文链接,感谢
https://pythonmana.com/2021/09/20210914180056928l.html

  1. 程序員是這樣學習【中藥學】知識的,先用python采集分析一波
  2. Python - pydantic(2)嵌套模型
  3. Python - 面向对象编程 - __dict__
  4. Python - 面向对象编程 - 反射 hasattr、getattr、getattr、delattr
  5. Python - 面向对象编程 - 实战(6)
  6. Python - 面向对象编程 - 魔术方法(双下划线方法)
  7. Python - 面向对象编程 - __new__() 和单例模式
  8. Python - 面向对象编程 - __call__()
  9. Python - repr()、str() 的区别
  10. Python - 面向对象编程 - __repr__()
  11. Python - eval()
  12. 用 Django REST framework 来实现一次性验证码(OTP)
  13. Python code checking tool (static code review)
  14. Python QT GUI Design: overview of UI interface visualization components and properties (Fundamentals - 3)
  15. 【算法学习】1863. 找出所有子集的异或总和再求和(java / c / c++ / python / go / rust)
  16. [apprentissage de l'algorithme] 1863. Trouver la somme Xor de tous les sous - ensembles (Java / C / C + + / python / go / Rust)
  17. Python code checking tool (static code review)
  18. Python 万能代码模版:爬虫代码篇
  19. Modèle de code universel Python: Code crawler
  20. 收藏 | Python 之 Pandas系统性总结!
  21. Take you to learn more about nginx basic login authentication: generating passwords using Python
  22. 超硬核Python避坑学习方案奉上!入门到就业一篇就搞定!
  23. Talk about how JMeter executes Python scripts concurrently
  24. Talk about how JMeter executes Python scripts concurrently
  25. Talk about how JMeter executes Python scripts concurrently
  26. python内置函数通过字符串的方式来执行函数代码块,类似java的反射机制相当强大!
  27. python内置函数通过字符串的方式来执行函数代码块,类似java的反射机制相当强大!
  28. python內置函數通過字符串的方式來執行函數代碼塊,類似java的反射機制相當强大!
  29. Les fonctions intégrées Python exécutent des blocs de code de fonction à travers des chaînes, et les mécanismes de réflexion comme Java sont assez puissants!
  30. Python module 1
  31. Python tip: use namedtuple instead of manually created classes
  32. Python - poetry(3)配置项详解
  33. Python - poetry(3)配置项详解
  34. Python - poetry(3)配置項詳解
  35. Python - poetry(3)配置項詳解
  36. Python - détails de l'élément de configuration Poetry (3)
  37. Python - détails de l'élément de configuration Poetry (3)
  38. Python案例实战,pygame模块,Python实现字母代码雨
  39. Python calculation vector angle code
  40. Python基础面试题解读|《Python面试100层》|第1层
  41. 面对小白的pandas命令手册+练习题【三万字详解】
  42. 面對小白的pandas命令手册+練習題【三萬字詳解】
  43. Face au Manuel de commande pandas de Xiaobai + question d'exercice [30 000 mots pour plus de détails]
  44. Interprétation des questions d'entrevue de base Python | 100 couches d'entrevue Python | couche 1
  45. Python data structure and algorithm (17) -- merge sort
  46. Les fonctions intégrées Python exécutent des blocs de code de fonction à travers des chaînes, et les mécanismes de réflexion comme Java sont assez puissants!
  47. Python笔记-uiautomator2截图点击,OpenCV找图
  48. Python文档阅读笔记-OpenCV中Template Matching
  49. Python笔记-利用OpenCV的matchTemplate屏幕找图并使用pyautogui点击
  50. Python筆記-利用OpenCV的matchTemplate屏幕找圖並使用pyautogui點擊
  51. Notes python - utilisez l'écran matchtemplate d'OpenCV pour trouver des images et cliquez sur
  52. Notes de lecture de documents python - Matching de modèles dans OpenCV
  53. Notes python - capture d'écran de l'automate 2 Cliquez pour ouvrir la vue
  54. python链接云服务器的mysql8
  55. python鏈接雲服務器的mysql8
  56. Mysql8 pour les serveurs Cloud liés Python
  57. Python资源大集合,要的话可以拿走!
  58. ️万字【Python基础】保姆式教学️,小白快速入门Python!
  59. ️萬字【Python基礎】保姆式教學️,小白快速入門Python!
  60. Wanzi [base Python] Baby - sitting Teaching, Little White Quick Start Python!