Python类中的self参数的理解

对于self参数来说,和一般初学者一样,只把它作为类里面函数参数的第一个必须要写的内容,感觉和C++ 类里面的this 指针类似,具体没有深究。现在有时间把这点再仔细理解下。

首先需要明确以下几点:

  • self 只用在 类 的方法中,单独的函数不需要。

  • self 在 定义类 的方法时, 是必须的,但调用时不用手动传入self,会自动传入。

  • self 并不是python中的关键字,是约定俗成的,可以换成其他的表示a,b, 但为了统一,都是使用 self。

self 是一个指向当前类的实例对象本身的一个引用,能够使得实例本身去访问类中的方法和属性。举例如下:

class Student():
    def __init__(self, name):
        self.name = name

    def print_name_age(self, age):
        '''输出该学生的姓名和年龄'''
        print(self.name, age)


a = Student('Jack') # 创建名为 Jack 的实例a
Student.print_name_age(a, 18) # self 即为 实例a

a.print_name_age(18)

以上两者的输出 均为 Jack 18

以self 为前缀的变量可供类中的所有方法使用

注意:要定义一个方法,除了第一个参数是self外,其他和普通函数一样。要调用一个方法,只需要在实例变量上直接调用,除了self不用传递,其他参数正常传入。

参考:

python中的self理解_python def self_Evan.lu的博客-CSDN博客

Python类中的self到底是干啥的 - Chown-Jane-Y - 博客园 (cnblogs.com)

你可能感兴趣的:(python,python,开发语言)