Heim > Artikel > Backend-Entwicklung > [Python] Implementieren Sie öffentliche Eigenschaften von Python-Klassen
Heute habe ich jemanden gefragt, ob Python-Klassen ähnliche Eigenschaften wie öffentliche Attribute haben. Das heißt, wenn die entsprechenden Attribute einer bestimmten Instanz geändert werden, werden die entsprechenden Attribute aller Instanzen der Klasse geändert entsprechend geändert. Ich dachte, ich hätte darüber nachgedacht, eine zusätzliche Singleton-Modus-Klasse zu verwenden, um das Problem zu lösen.
Ändern Sie eine Instanz, und die andere Instanz wird ebenfalls geändert. Es klingt wie die Merkmale des Singleton-Modus, zielt jedoch nur auf ein Attribut ab, sodass Sie eine Hilfsklasse ausleihen können.
class Attr(): attr = {} def __init__(self): self.__dict__ = self.attr class Myclass(): def __init__(self): self.attr = Attr() @property def value(self): return self.attr.value @value.setter def value(self, value): self.attr.value = value
In [47]: a = Myclass() In [48]: b = Myclass() In [49]: a.value = 1 In [50]: b.value Out[50]: 1 In [51]: b.value = 2 In [52]: a.value, b.value Out[52]: (2, 2)
Verwenden Sie Designmuster und deren Kombinationen.
Weitere [Python]-Implementierungen öffentlicher Attribute von Python-Klassen finden Sie auf der chinesischen PHP-Website für verwandte Artikel!