赞
踩
关注微信公众号“酸痛鱼”,获得更多最新最全的文章。
本文中所涉及的代码,在未特殊声明的情况下,都是基于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。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。