[Python] Implementieren Sie öffentliche Eigenschaften von Python-Klassen

高洛峰
Freigeben: 2017-02-16 11:30:44
Original
1452 Leute haben es durchsucht

Hintergrund

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.

Idee

Ä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.

Code

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
Nach dem Login kopieren

Demonstration

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)
Nach dem Login kopieren

Eindrücke

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!