Pythonクラス属性とオブジェクト属性の違い
- 命名規則:
1.1クラス属性はクラスによって作成され、命名規則はクラス名です。属性名
1.2オブジェクト属性はオブジェクトによって作成され、命名規則はオブジェクト名です。属性名
- メソッドの呼び出し:
2.1クラス属性はクラスによって呼び出され
ます2.2オブジェクト属性はオブジェクトによって呼び出されます
- 呼び出しルール:オブジェクト属性がある場合、クラス属性を呼び出すことはできません
- オブジェクトプロパティは動的に追加および削除できます。追加後、オブジェクトプロパティは現在のオブジェクトに対してのみ有効になります。削除後、もう一度呼び出すとクラスプロパティが呼び出されます。
class Person(object):
name = "person"
def __init__(self, name):
pass
self.name = name
print(Person.name)
per = Person("tom")
print(per.name)
per.age = 18
print(Person.name)
print(per.age)
per2 = Person("lilei")
print(per2.name)
del per2.name
print(per2.name)