pythonself参数,python的self用法

http://www.itjxue.com  2023-01-07 03:08  来源:未知  点击次数: 

python类中self参数和cls参数

self:表示一个类的实例对象本身

输出:

a .fun_one() = A .fun_one( a ) 二者是等价的;

cls :所指的就是这个类本身

python中的self是什么

self是类的实例或对象。在Python中,self包含在第一个参数中。但是,Java中的情况并非如此,它是可选的。它有助于区分具有局部变量的类的方法和属性。init方法中的self变量引用新创建的对象,而在其他方法中,它引用其方法被调用的对象。

python的类方法为什么要写一个self参数

原因有多种。首先是python中几乎所有的东西的一级对象(一级对象的定义:),method也不例外,比如你写一个:

class X:

 def f(self, a, b):

...

那么可以这样引用f:

X.__dict__['f']

或者

X.f.__func__

现在问题来了,得到f以后怎么调用?f是一个方法,方法必须作用于对象。如果x是一个X对象,我们可以x.f(...),但是如果是以上面的方式得到的f呢?怎么f让作用于某个对象?最直观的方法就是和参数一起传递进去。

当然的限不同的设计也可以满足上面制。比如不要手写的self参数,增加this关键字,增加一个调用f个格式。这样的设计和pep20第二条不符合。

为理解python的self,不妨对比一下ruby和javascript。ruby的方式是方法不是一级对象,所以绕过了这个问题。javascript没有类,方法在调用时this会绑定到方法所属的对象,函数调用时this绑定到window,函数做构造器调用时this绑定到新对象。这么多规则,比Python复杂。

(责任编辑:IT教学网)

更多

推荐浏览器文章