马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
学到了第59讲,一路过来,感觉自己在不断的进步,但是也在不断的遇到各种问题,学新的东西大概就是这样,一个不断深入,不断进步,不断解决各种问题的过程。
废话少说,切入正题。对于类中的self,我在看视频的时候就不大理解。看完后网上看了一下资料,大概也就明白了,但是还是觉得有必要来做个笔记。
本质上而言,“self”就是一个参数,是一个变量,和this, that, 或者A, B, C, D等等没有区别,只是大家约定俗成的用它来指代实例本身以方便调用。这就像家里的小孩子都有名字,但是爷爷奶奶爸爸妈妈叔叔阿姨喊“宝贝”的时候大家都知道是在喊谁一样。代码示例如下:
用self,代码如下:class Python:
def python(self):
print("Python is a kind of computer language.")
language = Python()
language.python()
Python is a kind of computer language.
用this的时候因为我在对language进行赋值的时候少了“()”,导致报错,希望大家引以为戒。代码如下:class Python:
def python(this):
print("Python is a kind of computer language.")
language = Python
language.python()
Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
language.python()
TypeError: Python.python() missing 1 required positional argument: 'this'
language = Python()
language.python()
Python is a kind of computer language.
什么都不用,大家也可以看到,有报错。代码如下class Python:
def python():
print("Python is a kind of computer language.")
language = Python()
language.python()
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
language.python()
TypeError: Python.python() takes 0 positional arguments but 1 was given
|