Python为什么要self

如题所述

self是函数方法定义时表示自身的变量。你不是一定要将这个变量命名为self但是作为对象的方法执行时,该对象本身会作为第一个参数传入。如下:

class Person():
    def __init__(self):
        self.age = 0

    def one_year_later(self):
        self.age += 1
        return self.age

p = Person()
print(p.age)
# 0
print(p.one_year_later())
# 1
print(Person.one_year_later(p))
# 2
# 在调用p.one_year_later()的时候,其实本质是执行了Person.one_year_later(p)这里的p作为了参数传入了你所定义的one_year_later函数中

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答