ホームページ  >  記事  >  バックエンド開発  >  Python でクラスを使用する場合

Python でクラスを使用する場合

silencement
silencementオリジナル
2019-06-21 13:37:174823ブラウズ

Python でクラスを使用する場合

Python のすべてのデータはオブジェクトです。Python には、強力で使いやすい高度な組み込みデータ型が多数用意されています。これは Python の利点の 1 つです。では、カスタム クラスをいつ使用するのでしょうか?たとえば、 Person クラスを設計するときに、カスタム クラスを使用しない場合は、次のようにすることができます。

person=['mike', 23, 'male']  #0-姓名, 1-年纪, 2-性别
print(person[0], person[1], person[2])

ご覧のとおり、組み込み型リストを使用する場合は、添字を使用して次のことを行う必要があります。メンバー データを参照しますが、直感的ではありません。代わりに dic タイプを使用できます:

person1={'name':'mike', 'age': 23, 'sex': 'male'}
person2={'name':'hellen', 'age': 20, 'sex': 'female'}
print(person1['name'], person1['age'], person1['sex'])

この方法では添え字を覚える必要がなくなり、より直感的になります。ただし、辞書の構文はまだ少し面倒なので、person.name、person.age などのように参照できれば良いでしょう。これはカスタム クラスの存在の利点です。

class Person:
    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex
    def __str__(self): #重载该函数便于测试
        sep = ','
        return self.name+sep+str(self.age)+sep+self.sex
person1 = Person('mike', 23, 'male') 
person2 = Person('hellen', 20, 'female')
print(person1)
print(person2.name, person2.age, person2.sex)

ご覧のとおり、このクラスのコンストラクターが定義されている限り、このクラスのインスタンスは簡単に生成でき、参照にも便利です。組み込み型を直接使用する方がはるかに便利です。実際、Python は組み込み型 dic を使用して、カスタム クラスのメンバーのストレージと参照を実装します。この観点から見ると、カスタム クラスは組み込みクラスを使用する簡略化された方法であり、組み込み型は必要な内部コンポーネントです。カスタムタイプの一部です。同時に、カスタム クラスは独自のメンバー関数を定義したり、事前定義されたメソッドをオーバーロードしたりできるため、カスタム クラスは組み込みクラスの機能を拡張し、実際のもののより適切なシミュレーションを提供できます。これがオブジェクト指向プログラミングの利点です。プログラミングを行う際には、シミュレートしたいものの概念を作り、その概念をクラスを使って理解することがオブジェクト指向設計のポイントです。同じタイプの複数のオブジェクトを生成する必要がある場合は、それらをできるだけ抽象化するカスタム クラスを設計する必要があります。

カスタム クラスを使いすぎないでください。一部の関数は関数で定義するだけで済みます。現時点では、カスタム クラスを設計する必要はありません。

以上がPython でクラスを使用する場合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。