weixin_44709956 2021-09-23 12:27 采纳率: 100%
浏览 71
已结题

如何理解self.battery = Battery()实例用作属性

在自学python从入门到实践(第二版)中理解不了self.battery = Battery()。我知道类可以赋给一个变量名来实例化,也可以通过类名.属性名= 属性值来定义类属性。不知有哪位大神普及一下我。为什么可以这样把实例当作属性值?解释器遇到这行代码时,是如何具体执行的?

  • 写回答

2条回答 默认 最新

  • 关注

    就是说在类的内部,在类的实例调用类方法的时候,会隐藏的将自身传入,作为函数的第一个参数
    所以类函数里面第一个参数都是self,这个self就是指代对象
    所以当实例b调用b.set()(假定是这个参数)时候,内部实际是接受到这个b作为self的,并把b.battey设置为一个新的Battery类对象,这里的 Battery()就是实例化了一个Battery对象出来
    有帮助望采纳~
    就和你在外部创建一个新的对象一样,这里就是让另外一个实例的属性指向这个新创建的对象

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月1日
  • 已采纳回答 9月23日
  • 创建了问题 9月23日

悬赏问题

  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录