Python学习笔记8:self参数

短命女 2022-11-25 10:14 252阅读 0赞

示例:
编写一个汽车类,包含三个函数:构造函数,行驶速度和基础信息函数:

  1. class Car:
  2. def __init__(self, brand, color):
  3. self.brand = brand
  4. self.color = color
  5. def run(self, s):
  6. print("当前行驶速度: ", s, "km/h")
  7. def print_car(self):
  8. print("品牌:", self.brand, " , 颜色: ", self.color)
  9. if __name__ == '__main__':
  10. c = Car("宝马", "黑色")
  11. c.run(120)
  12. c.print_car()

这里会发现,每个函数的第一个参数都是self,而在调用的时候,并没有传值给self,这其实是Python规定的类的方法必须要有的一个参数,并没有什么特殊意义,在调用时候也不需要给他传值

可以为示例Car类添加一个print_self方法查看self到底是什么:

  1. class Car:
  2. def __init__(self, brand, color):
  3. self.brand = brand
  4. self.color = color
  5. def run(self, s):
  6. print("当前行驶速度: ", s, "km/h")
  7. def print_car(self):
  8. print("品牌:", self.brand, " , 颜色: ", self.color)
  9. def print_self(self):
  10. print(self)
  11. print(self.__class__)
  12. if __name__ == '__main__':
  13. c = Car("宝马", "黑色")
  14. c.print_self()

输出:

  1. <__main__.Car object at 0x100ca7590>
  2. <class '__main__.Car'>

从以上输出结果可以看出,self代表当前类的实例,而self.__class__就是Car类。

发表评论

表情:
评论列表 (有 0 条评论,252人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python中的self,cls参数

    python类里会出现这三个单词,self和cls都可以用别的单词代替,类的方法有三种, 一是通过def定义的 普通的一般的,需要至少传递一个参数,一般用self,这样的方法

    相关 python self

    最近在看python的一些代码,学习并且要掌握这些在短期内还是有一点难度的,日积月累,浮躁是个大问题。对于一个基本没从事过开发的我来说,看到python self这个值的时候很