その前に
クラスの名前についてはPythonのコーディングスタイルガイドの「Class Names」で「CapWords規約に従った名前にする」ことが基本的には推奨されている。「CapWords」規約とは、その規約名を見ると分かる通り、「単語の先頭は大文字で始めて、名前が複数の単語でつづられるときには、それらをアンダースコアなどを使わずにつなげる」命名法のことだ。例えば、本フォーラムを表すクラスを作るのであれば「DeepInsider」という名前になる。
このように先頭を大文字、他を小文字、アンダースコアは使わずに単語をつなげるような名前にすることで、変数や関数の名前(全て小文字、複数単語はアンダースコアでつなぐ)や定数の名前(全て大文字)と一目でその違いが分かる。
class てんこ盛り
# coding: utf-8 # Created: 09/02/2020 # Copyright: (c) paiza 2020 # paiza > プログラミング学習 > Python > Python3入門編 > # Python入門編9: さらにクラスを理解しよう > クラス変数とクラスメソッド from pprint import pprint as 出力 class 戦隊: __隊員数 = 0 @classmethod def 総括(cls): 出力(str(戦隊.__隊員数) + "人で、テロリストを撃破した。") def __init__(self, 名前): self.名前 = 名前 戦隊.__隊員数 += 1 出力(str(戦隊.__隊員数) + "番目の軍人、" + self.名前 + "が登場した。") def 攻撃(self, 敵): 出力(self.名前 + "は、" + 敵 + "を攻撃した!") class 狙撃手(戦隊): def __init__(self): super().__init__("狙撃手") def 攻撃(self, 敵): self.__spell() 出力(self.名前 + "は、" + 敵 + "にライフル銃を放った!") def __spell(self): 出力("ズバーン!") 出力("=== パーティーでテロリストと戦う ===") hero = 戦隊("隊長") warrior = 戦隊("戦士") wizard = 狙撃手() party = [hero, warrior, wizard] for メンバー in party: メンバー.攻撃("テロリスト") 戦隊.総括()
=== パーティーでテロリストと戦う === 1番目の軍人、隊長が登場した。 2番目の軍人、戦士が登場した。 3番目の軍人、狙撃手が登場した。 隊長は、テロリストを攻撃した! 戦士は、テロリストを攻撃した! ズバーン! 狙撃手は、テロリストにライフル銃を放った! 3人で、テロリストを撃破した。
”’
コメント