python中self

Abstract

学习Python中,对self有些疑惑,就查了些资料,列出我看到资料进行整理。

self

python 里所有的 object 都有三个属性, 标识(identity), 类型(type) 和值(value). 其中 identity 可以用 id 函数获得, CPython 里的实现是 object 的内存地址. 值就是 object 具体存放的数据, 而 type, object 的类型, 决定了可以对数据所进行的操作.

指定变量的类型和对变量的初始化其实是分开的. 比如在 C 里面, 你可以写:

	int a;
	a = 1;

这里定义变量 a 的类型和对 a 的初始化是分开的. 但实际上, 通常情况下我们定义一个变量或者实例, 都想让它存储一些数据. 类似Python,变量的类型和对变量的初始化也是分开的,Python先调用__new__创建实例(instance),再调用__init__对实例进行初始化

所以,self代表一个类的实例(instance),使用self,我们可以访问类(class)的属性(attrubutes)和方法(methods)

self不是一个Python的关键字,它是函数的一个参数,所以可以使用其他但是变量名代替self,但是为了增强代码的可读性,最好使用self.

# Write Python3 code here  
  
class this_is_class:  
    def show(in_place_of_self):  
        print("we have used another parameter name in place of self")  
          
object = this_is_class()  
object.show()  

#Output:
#we have used another parameter name in place of self

reference

知乎回答①
geeksforgeeks: self in python class

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值