重複の可能性:
Python'self'キーワード
これが信じられないほどおとなしい質問であるなら許してください、しかし私はPythonで自分自身を理解していませんでした。それは何をするためのものか?そして私が
def example(self, args):
return self.something
彼らは何をしますか?関数のどこかでargsを見たことがあると思います。簡単に説明してください:P
重複の可能性:
Python'self'キーワード
これが信じられないほどおとなしい質問であるなら許してください、しかし私はPythonで自分自身を理解していませんでした。それは何をするためのものか?そして私が
def example(self, args):
return self.something
彼らは何をしますか?関数のどこかでargsを見たことがあると思います。簡単に説明してください:P
Pythonのオブジェクト指向機能に出くわしたようです。
self
オブジェクトへの参照です。this
これは、多くのCスタイル言語の概念に非常に近いものです。このコードをチェックしてください:
class Car(object):
def __init__(self, make):
# Set the user-defined 'make' property on the self object
self.make = make
# Set the 'horn' property on the 'self' object to 'BEEEEEP'
self.horn = 'BEEEEEP'
def honk(self):
# Now we can make some noise!
print self.horn
# Create a new object of type Car, and attach it to the name `lambo`.
# `lambo` in the code below refers to the exact same object as 'self' in the code above.
lambo = Car('Lamborghini')
print lambo.make
lambo.honk()
self
example
メソッド(この場合は関数)が属するクラスのインスタンスへの参照です。
Pythonのクラスシステムの完全な紹介については、クラスシステムのPythonドキュメントを参照してください。Stackoverflowの主題に関する他の質問に対するこれらの回答 も確認する必要があります。
現在のクラスのインスタンスへの参照です。あなたの例では、クラスオブジェクトのプロパティをself.something
参照しています。something
example