python class类self
时间: 2023-10-30 22:05:35 浏览: 125
self在Python中是一个约定俗成的关键字,它代表类的实例。在类的方法中,self作为第一个参数传递,指向调用该方法的实例对象。通过self可以访问实例的属性和方法。同时,self.__class__指向类本身,可以用于访问类的属性和方法。
在Python解释器内部,当我们调用一个实例对象的方法时,实际上Python会将方法的调用转换为类名.方法名(实例对象)的形式,即将self替换为类的实例对象。
例如:
```python
class Test:
def ppr(self):
print(self)
t = Test()
t.ppr()
```
输出结果为:
```
<__main__.Test object at 0x000000000284E080>
```
在描述符类中,self指的是描述符类的实例。描述符是一种特殊的类,用于控制对类属性的访问。在描述符类的__get__方法中,self表示描述符类的实例,ins表示调用描述符的实例对象,cls表示调用描述符的类。
例如:
```python
class Desc:
def __get__(self, ins, cls):
print('self in Desc: %s ' % self)
print(self, ins, cls)
class Test:
x = Desc()
def prt(self):
print('self in Test: %s' % self)
t = Test()
t.prt()
t.x
```
输出结果为:
```
self in Test: <__main__.Test object at 0x000000000284E080>
self in Desc: <__main__.Desc object at 0x000000000284E1D0>
<__main__.Desc object at 0x000000000284E1D0> <__main__.Test object at 0x000000000284E080> <class '__main__.Test'>
```
总结起来,self在Python的类中代表类的实例,可以用于访问实例的属性和方法。同时,self.__class__指向类本身,可以用于访问类的属性和方法。在描述符类中,self指的是描述符类的实例。
阅读全文