演習課題「クラス変数の呼び出し2」
右側のコードエリアには、クラス PersonalComputer とインスタンス pc、ram を出力するコードが用意されています。
メンバ変数 ram ではなくクラス変数 ram
を出力するよう修正してください。
期待する出力値
64
※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む
#14:クラス変数とメンバ変数の優先度
このチャプターでは、クラス変数とメンバ変数の変数名が重複したときにどちらが優先されるか学習しましょう。
- クラス変数とメンバ変数の変数名が重複した場合は、メンバ変数が優先される
class Person:
age = 1000
def __init__(self, name, age):
self.name = name
self.age = age
def add_age(self, year):
self.age += year
def add_and_print_age(self, year):
self.add_age(year)
print(self.age)
kirishima = Person("Kirishima", 15)
print(kirishima.age)
- メンバ変数 age の値である 15 が出力される
- ただし、
クラス名.クラス変数名
のように指定した場合はクラス変数の値を取得できる
class Person:
age = 1000
def __init__(self, name, age):
self.name = name
self.age = age
def add_age(self, year):
self.age += year
def add_and_print_age(self, year):
self.add_age(year)
print(self.age)
kirishima = Person("Kirishima", 15)
print(kirishima.age)
print(Person.age)
ログインすると採点できます
コードの実行