ホームページ  >  記事  >  バックエンド開発  >  Python のクラス、オブジェクト、メソッド、属性の包括的な理解

Python のクラス、オブジェクト、メソッド、属性の包括的な理解

高洛峰
高洛峰オリジナル
2017-03-28 15:36:561437ブラウズ

以下のエディターは、Pythonのクラス、オブジェクト、メソッド、およびプロパティを包括的に理解することができます。編集者はこれがとても良いものだと思ったので、皆さんの参考として今から共有します。エディターをフォローして見てみましょう

">

Python ではすべてがオブジェクトです。いわゆるオブジェクトです。私自身がオブジェクトであり、私が遊んでいるコンピューターがオブジェクトであり、私が座っている椅子がオブジェクトです。私は物体です。私が家で飼っている子犬も物体です。色、大きさ、重さなどの属性 (特徴) を記述することで物体を表現します。吠えたり、尻尾を振ったり、などはその動作です

実際のオブジェクト (オブジェクト) を記述するときは、次の 2 つの側面を含めます:

それができること (動作)

それがどのようなものであるか (属性または特性)

。オブジェクトの性質は属性とも呼ばれます。

結論: オブジェクト = 属性 + メソッド

Python では同じ

属性とメソッドを持ちます

オブジェクトはクラス (クラス) に分類されます。 )人間、動物、植物など。これらがクラスの概念です。

クラスはオブジェクトのテンプレートまたは設計図であり、クラスはオブジェクトの抽象化であり、オブジェクトはインスタンス化です。クラスは特定のものを表しませんが、オブジェクトは特定のものを表します。 クラス people:

... def speech(self):

...

print

("hello!")
...
''' people クラスと speech メソッドを定義しますが、属性は定義しません。

属性はクラスに属しているのではなく、各クラスのインスタンスに属しているため、

異なる値を設定できます。各インスタンスのプロパティ

'''

>>> #class

... def speech(self): #method

... (「こんにちは!」)

...
> >>
>>> jack = people() #jack インスタンスを作成
>>> #tom インスタンスを作成
>>> module
>>> #jack. と入力すると、次のメソッドが表示されます
jack.class jack.doc jack.
module
jack.speak(
>>> jack.speak() #引用話法
>>> jack.age=39 #年齢属性を追加>>> jack.height
=120 #身長属性を追加
>>> jack.class jack.module jack.height
jack.doc jack.age jack.speak(
>>> jack.height120>>> ; jack.age
39
'''

#オブジェクトの初期化

クラスを作成するとき、init()という名前の特定のメソッドを定義できます。このメソッドは、このクラスのインスタンスが作成されている限り実行されます

。 init() メソッドにパラメータを渡すことができます。

このようにして、オブジェクトの作成時にプロパティを必要な値に設定できます。

このメソッドは、オブジェクトの作成時に初期化を完了します。

'''
>>> class peo:
... def init(self,name,age,sex):
... self.Name = 名前
... self.Age = 年齢
。 .. self.Sex = sex
... def speech(self):
... print "my name" + self.Name
...
>>> このクラスのオブジェクトをインスタンス化する場合:
>>> zhangsan=peo("zhangsan",24,'man')
>>> print zhangsan.年齢
>>> 名前
zhangsan
> >> print zhangsan.Sex
man
# ----------
>>> print zhangsan

'''

印刷するには印刷するには、str メソッド

str() を使用する必要があります。このメソッドは、オブジェクトを印刷するときにどのコンテンツを表示するかを Python に指示します

'''

class peo:

def init (self,name,age,sex):
self.Name = name
self.Age = 年齢
self.Sex = sex
def speech(self):
print "my name" + self.Name
def str (self ):
msg='私の名前は: ' +self.Name+ ","+ "私の年齢は: " + self.Age +','+ "私の性別は:" +self.Sex
# msg= 'my名前は: ' +self.Name+ ","+ "私の年齢は: " + str(self.Age) +','+ "私の性別は:" +self.Sex

return
msg
shanghai= peo( 'shanghai','23','man')# shanghai=peo('shanghai',23,'man')'''
msg='私の名前は: ' +self.Name+ "," + "私の年齢は: " + self.Age +','+ "私の性別は:" +self.Sex

ここで 23 は年齢ですが、self.Age が文字列であるため、
文字列

に変換されます。

23をエスケープしないとエラーが報告されます

プログラム内で事前にエスケープしたい場合はstr(self.Age)を使う必要があります

'''

Print shanghai

'' '
仮パラメータ self は何度も使用されます。

クラスは設計図のようなものです。 1 つのクラスを使用すると、

speak() メソッドが呼び出されたときに、どのオブジェクトがそれを呼び出したかを知る必要があります。パラメータはメソッドにどのオブジェクトを呼び出すかを指示します。これはインスタンス参照と呼ばれます。
張さん。 speech() は peo.speak(zhangsan)
'''


と書くのと似ています

以上がPython のクラス、オブジェクト、メソッド、属性の包括的な理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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