我读过
the SO post
关于“self”的解释,我读过
Python documentation
上课的时候。我想我明白
self
在Python类和其中的约定中。
但是,由于对Python及其习惯用法还比较陌生,我无法理解为什么有些
自己
在过程类型函数定义中。例如,在
Python documentation on integer types
,示例函数为:
def bit_length(self):
s = bin(self) # binary representation: bin(-37) --> '-0b100101'
s = s.lstrip('-0b') # remove leading zeros and minus sign
return len(s) # len('100101') --> 6
更换
自己
具有
num
是相同的功能结果;即:
def bit_length(num):
s = bin(num) # binary representation: bin(-37) --> '-0b100101'
s = s.lstrip('-0b') # remove leading zeros and minus sign
return len(s) # len('100101') --> 6
没有像这样的成语
__init__
等等,我可以在这里看到为什么
自己
在第一个案例中使用。我见过这种用法
自己
其他地方的程序功能,以及发现它令人困惑。
所以我的问题是:如果没有类或方法,为什么要使用
自己
在函数定义而不是描述性参数名中?