python self太多_Python3基础:原来你是这样的self

关注微信公众号“酸痛鱼”,获得更多最新最全的文章。

本文中所涉及的代码,在未特殊声明的情况下,都是基于Python3程序设计语言编写的。

建议您在PC浏览器中阅读本文,以获得更好的阅读体验。

0

self不是关键字

在Python中定义一个类的成员函数时,要求至少要有一个参数,这个参数用于指代对象本身。通常,这个参数的名称叫self。然后而self只是一个惯例,它并不是一个关键字(保留字),你可以用任意别的名字代码self。

如下面代码所示,无论你将self改成this还是me,它都将指向对象本身。

class Printer:

def __init__(self, v):

self.v = v

def printSelf(self):

print("self.v ==", self.v)

def printThis(this):

print("this.v ==", this.v)

def printMe(me):

print("me.v ==", me.v)

if __name__ == "__main__":

p = Printer("oops")

# 输出:self.v == oops

p.printSelf()

# 输出:this.v == oops

p.printThis()

# 输出:me.v == oops

p.printMe()

1

请遵循惯例

所谓惯例,也就是约定俗成的东西。虽然self不是一个关键字,但在实际开发过程中,self基本都是当做关键字对待。

除了耍酷和故意打乱代码的目的之外,无论出于什么样的原因,都不建议你用别的名字代替self,也不要用self作为它用。

基于可读性方面的考虑,self的意思直观明了,即“对象本身”,在上下文中看到self,我们一眼就能明白它的意思。另外,大部分IDE都会对self高亮,以区别普通的变量。

基于可维护性方面的考虑,你肯定不希望3个月后再阅读自己的代码时,要花很长时间去重新理解某行代码或者某个变量的含义。在团队开发中,如果有人发现你不按照惯例开发,要么会被大佬骂上几句,要么就会被同事暗暗地骂成SB。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值