python中self
pythonにおけるself作用について
クラスの方法は普通の関数とは特別な違いがあります.付加的な最初のパラメータ名が必要ですが、この方法を呼び出した時にはこのパラメータに値を割り当てません.Pythoonはこの値を提供します.この特別な変数は、オブジェクト自体を指し、慣例としては
このパラメータの名前は何でもあげられますが、 強い意見
C+++/Java/Cプログラマへの注釈Pythonの
あなたはきっとおかしいと思います.Pythonはどうやって
これはまた、パラメータを必要としない方法があるならば、この方法に
上記は簡明なpython教程から来ました.
例:
ヽusr/bin/python
coding:utf-8
クラスリスト: #testクラスを定義する
desc=「これはテストクラスです.」 #クラスのプロパティを定義します.
def_init_(self,name): #オブジェクト構造関数、初期化クラス
self.name=name
def show(self,name 2): #クラスで一つの方法を定義します.ショー()
print「ハローワールド」
print'name:',self.name
print'name 2',name 2
instance=test('これはnameに伝える値です') #testクラスのインスタンスオブジェクトinstanceを生成します.
print instance.desc #コールクラスのdesc属性
instance.show('これはname 2に伝える値') #呼び出しクラスでのショー()の方法
璢test.show(instance、'これはname 2に伝える値です')の中のinstanceはselfです.
クラスの方法は普通の関数とは特別な違いがあります.付加的な最初のパラメータ名が必要ですが、この方法を呼び出した時にはこのパラメータに値を割り当てません.Pythoonはこの値を提供します.この特別な変数は、オブジェクト自体を指し、慣例としては
self
という名前です.このパラメータの名前は何でもあげられますが、 強い意見
self
という名前を使っています.他の名前は全部あなたの使用に賛成していません.標準的な名前を使うと多くの利点があります.あなたのプログラムの読者が素早くそれを認識できます.self
を使うと、IDEもあります.C+++/Java/Cプログラマへの注釈Pythonの
self
は、C+におけるself
ポインタとJava、Cピラフにおけるthis
参照と等価である.あなたはきっとおかしいと思います.Pythonはどうやって
self
に価値を与えますか?そしてなぜあなたはそれに価値を与える必要がないですか?一例を挙げるとこれが分かりやすくなります.MyClass
というクラスがあると、このクラスの例MyObject
があります.このオブジェクトの方法MyObject.method(arg1, arg2)
を呼び出すと、これはPythonによって自動的にMyClass.method(MyObject, arg1, arg2)
に切り替わります.これはself
の原理です.これはまた、パラメータを必要としない方法があるならば、この方法に
self
パラメータを定義しなければなりません.上記は簡明なpython教程から来ました.
例:
ヽusr/bin/python
coding:utf-8
クラスリスト: #testクラスを定義する
desc=「これはテストクラスです.」 #クラスのプロパティを定義します.
def_init_(self,name): #オブジェクト構造関数、初期化クラス
self.name=name
def show(self,name 2): #クラスで一つの方法を定義します.ショー()
print「ハローワールド」
print'name:',self.name
print'name 2',name 2
instance=test('これはnameに伝える値です') #testクラスのインスタンスオブジェクトinstanceを生成します.
print instance.desc #コールクラスのdesc属性
instance.show('これはname 2に伝える値') #呼び出しクラスでのショー()の方法
璢test.show(instance、'これはname 2に伝える値です')の中のinstanceはselfです.