はじめに
明朝の壮大な宫殿の中心部で、勤勉な宦官が宫殿の莫大な财宝の棚卸しと管理を行う重要な任务に取り组んでいます。古代の壮大な殿堂と豪华な部屋の中で、「宝器の管理人」という称号を持つ主人公は、最大限の精度と注意を払わなければなりません。强力で多用途な Python 言语のツールを使って、彼は绵密な记录を维持しなければなりません。
あなたの目标は、宫殿の信頼できる宦官が、Python におけるコンストラクタの概念を身につけるのを支援することです。これは、すべての独自の宝器のプロパティをカプセル化し、クラスベースの构造を使ってプロセスを自动化するために不可欠です。この没入型のシナリオでは、コンストラクタを定义して利用する方法を学び、优雅な効率でデータを扱うスキルを向上させます。これは、宫殿の名声に相応しい取り组みです!
コンストラクタ付きの Python クラス
このステップでは、宫殿のコレクションにある宝器を表す Python クラスを作成します。名前、年代、出身地などの属性を初期化するためのコンストラクタを定义します。
次の内容の~/projectディレクトリにあるartifact.pyという Python ファイルを开いてください。
class Artifact:
def __init__(self, name, age, origin):
self.name = name
self.age = age
self.origin = origin
## Example usage
if __name__ == "__main__":
jade_vase = Artifact("Jade Vase", 150, "China")
print(f"Artifact: {jade_vase.name}, Age: {jade_vase.age}, Origin: {jade_vase.origin}")
Artifactクラスには__init__メソッドがあり、これは Python におけるコンストラクタです。クラスの新しいインスタンスを作成するときに自动的に呼び出されます。self パラメータはクラスの现在のインスタンスを指し、クラスに属する変数にアクセスするために使用されます。
ターミナルで次のコマンドを実行して Python スクリプトを実行します。
python ~/project/artifact.py
次の出力が表示されるはずです。
Artifact: Jade Vase, Age: 150, Origin: China
宝器にメソッドを追加する
次に、宦官が宝器の情报を表示および更新できるようにするメソッドを追加することで、Artifactクラスを拡张しましょう。宝器の详细を表示するメソッドと、その年代を更新するメソッドを作成します。
新しいメソッドを含めるようにartifact.pyファイルを修正します。
class Artifact:
def __init__(self, name, age, origin):
self.name = name
self.age = age
self.origin = origin
def display_info(self):
print(f"Artifact: {self.name}, Age: {self.age}, Origin: {self.origin}")
def update_age(self, new_age):
if new_age >= 0:
self.age = new_age
else:
print("Invalid age. Please enter a positive number.")
## Example usage
if __name__ == "__main__":
jade_vase = Artifact("Jade Vase", 150, "China")
jade_vase.display_info()
jade_vase.update_age(160)
jade_vase.display_info()
display_infoメソッドは宝器の详细を出力します。update_ageメソッドは年代属性の更新を可能にし、有効な正数のみが设定されるようにします。
ターミナルで再度対応するコマンドを実行して更新された Python スクリプトを実行し、出力を确认します。
次の情报がターミナルに表示されるはずです。
Artifact: Jade Vase, Age: 150, Origin: China
Artifact: Jade Vase, Age: 160, Origin: China
まとめ
この実験では、あなたは古代の明朝の宫殿を歩きながらインタラクティブな体験をしました。そこでは、Python のコンストラクタを使って宝器の记录を行うキャラクターを支援しました。主な焦点は、Python におけるコンストラクタの概念と、メソッドを通じてクラス属性を操作する方法を理解することに置かれていました。
クラスとそのコンストラクタを作成し、机能的なメソッドを追加するまで、あなたは実践的な経験を得ました。オブジェクトをインスタンス化し、その属性を初期化し、クラスで定义されたメソッドを使ってオブジェクトデータを操作する方法を学びました。これは、すべての Python 开発者にとっての基础的なスキルセットです。
私たちは、あなたが Python のコンストラクタの基本的な考え方と、データのカプセル化とオブジェクト指向プログラミングにとってどのように强力なツールになるかを理解していただけたことを愿っています。今、あなたは宫殿の宝器管理人の自信を持って、さらに复雑なプログラミングのチャレンジに取り组むことができます!



