VOOZH about

URL: https://paiza.jp/works/python3/primer/beginner-python9/7405

⇱ Python入門編9:クラスからメソッドを呼び出してみよう | プログラミング学習サイト【paizaラーニング】


演習課題「クラスの中のメソッドを呼び出す」

右のコードでは、Greetingクラスの中に、say_helloメソッドとsay_yeahメソッドを定義しています。
say_helloメソッドを呼び出すと「hello paiza」と表示されて、say_yeahメソッドを呼び出すと「YEAH YEAH YEAH!」と表示されます。

「hello paiza」に続けて、「YEAH YEAH YEAH!」と表示されるようコードを書き換えてください。


プログラムを実行して、正しく出力されれば演習課題クリアです!

期待する出力値

hello paiza
YEAH YEAH YEAH!

演習課題「親クラスのメソッドを呼び出す」

右のコードでは、Greetingクラスでsay_helloメソッドを定義して、Helloクラスでsay_helloメソッドをオーバーライドしています。

Helloクラスでsay_helloメソッドを書き換えて、「hello paiza」に続けて、「YEAH YEAH YEAH!」と表示されるようにください。

プログラムを実行して、正しく出力されれば演習課題クリアです!

期待する出力値

hello paiza
YEAH YEAH YEAH!

※paizaに会員登録すると無料で動画学習コンテンツをご利用いただけます
会員登録する

#06:クラスからメソッドを呼び出してみよう

ここでは、Pythonのクラスでの、いろいろなメソッド呼び出しについて学習します。

class Player:
def __init__(self, name):
self.name = name

def attack(self, enemy):
print(self.name + "は、" + enemy + "を攻撃した!")

class Wizard(Player):
def __init__(self):
super().__init__("魔法使い")

def attack(self, enemy):
self.__spell()
print(self.name + "は、" + enemy + "に炎を放った!")

def __spell(self):
print("ズバーン!")

print("=== パーティーでスライムと戦う ===")
hero = Player("勇者")
# hero.attack("スライム")
warrior = Player("戦士")
wizard = Wizard()

party = [hero, warrior, wizard]
for member in party:
member.attack("スライム")

# wizard.__spell()

【Python入門】クラスのインスタンス変数を隠す(プライベート変数)
https://pycarnival.com/mangling/

プライベートメンバ - Python学習講座(__変数名による隠蔽)
http://www.python.ambitious-engineer.com/archives/323

クラス — Python 3.6.5 ドキュメント(プライベート変数・名前マングリング)
https://docs.python.jp/3/tutorial/classes.html#private-variables