python类中为什么要self?

  • 2020 年 1 月 11 日
  • 笔记

在python中创建类时必须有一个self参数,

eg: >>> class miss: …  

            def mi(self):

…             print "i like python"

… 

>>>love=miss()

>>>love.mi()

i like python

但是如果加入没有self这一个参数会怎么样?

>>> class miss:

…     def mi():

…             print "i like python"

… 

>>>love=miss()

>>>love.mi()

Traceback (most recent call last):

  File "<stdin>", line 1, in <module> TypeError: mi() takes no arguments (1 given)

Python的类的方法的这个特别的参数指代的是对象本身,而按照Python的惯例,它用self来表示 创建了对象love,在调用的过程中实际调用的是love.mi(self)。

  这个我自己的见解,也不知道是否正确,望指导