宫殿の宝器用の Python コンストラクタ

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

明朝の壮大な宫殿の中心部で、勤勉な宦官が宫殿の莫大な财宝の棚卸しと管理を行う重要な任务に取り组んでいます。古代の壮大な殿堂と豪华な部屋の中で、「宝器の管理人」という称号を持つ主人公は、最大限の精度と注意を払わなければなりません。强力で多用途なPython言语のツールを使って、彼は绵密な记录を维持しなければなりません。

あなたの目标は、宫殿の信頼できる宦官が、Pythonにおけるコンストラクタの概念を身につけるのを支援することです。これは、すべての独自の宝器のプロパティをカプセル化し、クラスベースの构造を使ってプロセスを自动化するために不可欠です。この没入型のシナリオでは、コンストラクタを定义して利用する方法を学び、优雅な効率でデータを扱うスキルを向上させます。これは、宫殿の名声に相応しい取り组みです!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ObjectOrientedProgrammingGroup(["Object-Oriented Programming"]) python/ObjectOrientedProgrammingGroup -.-> python/constructor("Constructor") subgraph Lab Skills python/constructor -.-> lab-271534{{"宫殿の宝器用の Python コンストラクタ"}} end

コンストラクタ付きの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のコンストラクタの基本的な考え方と、データのカプセル化とオブジェクト指向プログラミングにとってどのように强力なツールになるかを理解していただけたことを愿っています。今、あなたは宫殿の宝器管理人の自信を持って、さらに复雑なプログラミングのチャレンジに取り组むことができます!