ホームページ >バックエンド開発 >Python チュートリアル >Python オブジェクト指向のインスタンス属性とクラス属性

Python オブジェクト指向のインスタンス属性とクラス属性

不言
不言オリジナル
2018-04-14 10:32:361286ブラウズ

この記事で共有する内容は、Python のオブジェクト指向のインスタンス属性とクラス属性に関するもので、必要な方は参考にしてください。

Python は動的言語であるため、インスタンスはクラスに基づいて作成されます。属性を自由にバインドできます。

属性をインスタンスにバインドする方法は、インスタンス変数を使用するか、self 変数を使用することです:

class Student(object):
    def __init__(self,name):
        self.name = name

s = Student('jeff')
print(s.name)
#jeff

クラス属性を定義すると、この属性は all として分類されますが、クラスのすべてのインスタンスにアクセスできます

。テストしてみましょう:

>>> class Student(object):
...     name = 'Student'
...
>>> s = Student()
>>> print(s.name)
Student
>>> print(Student.name)
Student
>>> s.name = 'jeff'
>>>
>>> print(s.name)
jeff
>>> print(Student.name)
Student
>>> del s.name
>>> print(s.name)
Student
>>> print(Student.name)
Student

上記の例からわかるように、プログラムを作成するときは、インスタンス属性とクラス属性に同じ名前を決して使用しないでください。同じ名前のインスタンス属性はクラス属性をブロックするためです。強度属性の後に同じ名前を使用すると、アクセスされるのはクラス属性になります

関連する推奨事項:

Python オブジェクト指向によるオブジェクト情報の取得

Python オブジェクト指向の継承とポリモーフィズム

以上がPython オブジェクト指向のインスタンス属性とクラス属性の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。