文章插图
Python编写类的时候,每个函数参数第一个参数都是self,一开始我不管它到底是干嘛的,只知道必须要写上 。后来对Python渐渐熟悉了一点,再回头看self的概念,似乎有点弄明白了 。
首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的 。self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数 。
self名称不是必须的,在python中self不是关键词,你可以定义成a或b或其它名字都可以,但是约定成俗(为了和其他编程语言统一,减少理解难度),不要搞另类,大家会不明白的 。
下例中将self改为myname一样没有错误:
文章插图
self指的是类实例对象本身(注意:不是类本身) 。
文章插图
在上述例子中,self指向Person的实例p 。为什么不是指向类本身呢,如下例子:
文章插图
如果self指向类本身,那么当有多个实例对象时,self指向哪一个呢?
总结
self在定义时需要定义,但是在调用时会自动传入 。
self的名字并不是规定死的,但是最好还是按照约定是用self
self总是指调用时的类的实例 。
【Python类中的self到底是干啥的】
推荐阅读
- 全连接神经网络的原理及Python实现
- python神经网络一键格式化黑白视频为彩色视频
- 如何用Python爬取网易云两百万热歌
- 和潘博文类似的事件 潘博文事件作者澄清
- 人类是外星生物 人类就是外星人制造的
- 为了观察,人类发现了大自然的许多现象 人类生活在大自然的王国里,他们不仅是大自然的居民
- 蝾螈是两栖动物还是爬行动物 蝾螈是两栖类动物吗
- 棕床垫的优缺点
- 世界上被称为神的男人 世界上最早的古人类是什么人
- 世界上最忠诚的感情是狗对主人 狗是人类最忠诚的