简单理解python中的self

2020-07-21 09:59:50 浏览数 (1)

在我们写class类型时,就不可避免的用到self。刚开始学的时候,没有特别理解,就在__init__初始化的时候固定的写上。现在逐渐弄懂一些了。

首先,self只在class中才会出现,定义函数时则不必要。

然后,"self"不需要一定是self这个名称,也可以叫别的名字,只不过约定成俗写为self,如下也可以:

代码语言:javascript复制
class Person:
    def __init__(this, name, age):
        this.name = name
        this.age = age

a = Person('LiHua', 24)
print(a.name, a.age)

对于self的意义,首先要说一下__init__初始化函数,每次实例化的时候,都会调用这个函数:

代码语言:javascript复制
class Test:
    def __init__(self):
        print("YES!")

a = Test()

直接输出了'YES'。

我们往往用这个初始化函数赋值,这样可以在整个class中直接调用赋值的变量。比如:

代码语言:javascript复制
class Test:
    def __init__(self, name, age):
        self.name = name 
        self.age = age 
    def introduce(self):
        print('Hello, my name is {}, my age is {}.'.format(self.name, self.age))

a = Test('LiHua', 24)
a.introduce()

b = Test('Zhang Da', 26)
b.introduce()

输出: Hello, my name is LiHua, my age is 24. Hello, my name is Zhang Da, my age is 26.

对于self,我个人的理解就是可以更方便的赋一个在这个class里都可以用的“全局变量”值。

0 人点赞