亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Klassenattribute

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:

2b7f8cc7d68ea31db222e5ad19ad696.png

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))
    # 打印構造函數(shù)中的屬性
    print(userInfo.__dict__)
    print(userInfo.get_account())
    # 用于驗證雙下劃線是否是真正的私有屬性
    print(userInfo._UserInfo__account)

Das Ausgabeergebnis ist wie folgt:

c8042ea045950ea6cab0606f2de1873.png

Weiter lernen
||
einreichenCode zurücksetzen