关于python:自我做什么?

What does self do?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Python 'self' keyword

如果这是一个令人难以置信的琐碎问题,请原谅我,但我从来没有在Python中理解过自我。它是做什么的?当我看到

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

他们做什么?我想我在函数中也看到过args。请用简单的方式解释:p


听起来你好像是偶然发现了Python面向对象的特性。

self是对对象的引用。它与许多C语言中的this的概念非常接近。查看此代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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主题的其他问题的这些答案。


它是对当前类实例的引用。在您的示例中,EDCOX1(2)引用EDCOX1×3"1"类对象的EDCX1·O.2属性。