1. Attribute direkt in der Klasse definieren
Der einfachste und direkteste Weg ist natürlich, sie in der Klasse zu definieren, zum Beispiel:
class UserInfo(object): name='两点水'
2. Definieren Sie Attribute im Konstruktor
Wie der Name schon sagt, werden die Attribute beim Konstruieren des Objekts definiert.
class UserInfo(object): def __init__(self,name): self.name=name
3. Attributzugriffskontrolle
In Java gibt es öffentliche (öffentliche) Attribute und private (private) Attribute, die den Zugriff auf Attribute steuern können. Gibt es also eine Attributzugriffskontrolle in Python?
Im Allgemeinen verwenden wir __private_attrs beginnend mit zwei Unterstrichen, um zu deklarieren, dass das Attribut privat ist und außerhalb der Klasse nicht verwendet oder direkt darauf zugegriffen werden kann. Bei Verwendung von self.__private_attrs in einer Methode innerhalb einer Klasse.
Warum können wir das nur allgemein sagen? Denn tatsächlich stellt Python keine Funktionen wie private Attribute bereit. Allerdings hängt die Zugriffskontrolle von Python auf Attribute vom Bewusstsein des Programmierers ab. Warum sagst du das? Schauen Sie sich das folgende Beispiel an:
Schauen Sie sich das Bild genau an, warum ist die doppelte Unterstreichung kein echtes privates Attribut? Schauen wir uns das folgende Beispiel an und verwenden Sie das folgende Beispiel zur Überprüfung:
#!/usr/bin/env python # -*- coding: UTF-8 -*- class UserInfo(object): def __init__(self, name, age, account): self.name = name self._age = age self.__account = account def get_account(self): return self.__account if __name__ == '__main__': userInfo = UserInfo('两点水', 23, 347073565); # 打印所有属性 print(dir(userInfo)) # 打印构造函数中的属性 print(userInfo.__dict__) print(userInfo.get_account()) # 用于验证双下划线是否是真正的私有属性 print(userInfo._UserInfo__account)
Das Ausgabeergebnis ist wie folgt:
nächsten Abschnitt