8

重複の可能性:
Python'self'キーワード

これが信じられないほどおとなしい質問であるなら許してください、しかし私はPythonで自分自身を理解していませんでした。それは何をするためのものか?そして私が

def example(self, args):
    return self.something

彼らは何をしますか?関数のどこかでargsを見たことがあると思います。簡単に説明してください:P

4

3 に答える 3

14

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()
于 2011-07-14T18:26:34.693 に答える
6

selfexampleメソッド(この場合は関数)が属するクラスのインスタンスへの参照です。

Pythonのクラスシステムの完全な紹介については、クラスシステムのPythonドキュメントを参照してください。Stackoverflowの主題に関する他の質問に対するこれらの回答 も確認する必要があります。

于 2011-07-14T18:19:21.670 に答える
3

現在のクラスのインスタンスへの参照です。あなたの例では、クラスオブジェクトのプロパティをself.something参照しています。somethingexample

于 2011-07-14T18:20:58.603 に答える