我解释一下python的类方法为什么要写一个self参数
答案:2 悬赏:0 手机版
解决时间 2021-03-26 13:27
- 提问者网友:佞臣
- 2021-03-25 21:26
我解释一下python的类方法为什么要写一个self参数
最佳答案
- 五星知识达人网友:一袍清酒付
- 2021-03-25 23:05
类(class)初始化之后会得到实例(instance)。
self就是用于代表初始化的到的实例。
明确地写一个self参数,使得类的方法(method)和普通的函数(function)本质上没有差异,所有的输入参数都显示地传递到方法/函数当中。
当然作为类的方法,作用的对象一定会是实例,因而在Python的设计之初,完全可以设计成self不作为一个参数,但是那样就需要一个关键字代表实例,比如在javascript中就是this。
然而Python的哲学是"Explicit is better than implicit.",显示要比隐示好,因此Python类的方法需要一个self参数代表实例是符合逻辑的。
self就是用于代表初始化的到的实例。
明确地写一个self参数,使得类的方法(method)和普通的函数(function)本质上没有差异,所有的输入参数都显示地传递到方法/函数当中。
当然作为类的方法,作用的对象一定会是实例,因而在Python的设计之初,完全可以设计成self不作为一个参数,但是那样就需要一个关键字代表实例,比如在javascript中就是this。
然而Python的哲学是"Explicit is better than implicit.",显示要比隐示好,因此Python类的方法需要一个self参数代表实例是符合逻辑的。
全部回答
- 1楼网友:杯酒困英雄
- 2021-03-26 00:44
self 表示类实例自身,相当于C++中的this
在类中用self可以引用类实例的成员,方法
如
class test:
def printhello(self):
print("hello")
def output(self):
self.printhello()
output中就使用self调用了类本身的printhello方法
在类中用self可以引用类实例的成员,方法
如
class test:
def printhello(self):
print("hello")
def output(self):
self.printhello()
output中就使用self调用了类本身的printhello方法
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯