kangabo 2021-07-25 09:44 采纳率: 85.1%
浏览 86
已结题

如果self指向类本身,那么当有多个实例对象时,self指向哪一个呢?

我佛了,百度了下python的self十几个都是复制粘贴怪关键他们每个结尾都是复制粘贴了一句
如果self指向类本身,那么当有多个实例对象时,self指向哪一个呢?
留下疑问然后就结束,然后我搜这个疑问又是复制粘贴以及底下留这个没答案的疑问

img

  • 写回答

6条回答 默认 最新

  • soar3033 2021-07-25 13:23
    关注

    举个例子,假设有一个类p,它的定义是

    
    class p:
      def __init__(self):
        pass
    

    然后,我们实例化了两个类p的实例,一个a、一个b

    a=p()
    b=p()
    
    

    类实际是一个模板,我们定义class p,实际就是定义了一个代码模板。这个时候self是不指代具体目标的。
    当我们实例化类的时候,实际上就是复制了一个类的模板,比如a=p(),实际就是复制了一个类p的模板,然后将a指向这个复制的模板。而此时,这个复制的类p的模板里的self将指向a。同理,b=p(),也是复制了一份p的模板,而这一份模板里的self指向b。
    在上面的例子里,有两个实例化的类——a、b。它们各自的self分别指向自己本身——a、b。所以对于a=p(),类p的init(self)等同于,init(a)。对于b=p(),类p的init(self)等同于init(b)。
    可见,有多少个类的实例,就有多少个self,这些self互不干涉,分别指向实例化时的变量名。

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

报告相同问题?

问题事件

  • 系统已结题 8月2日
  • 已采纳回答 7月26日
  • 创建了问题 7月25日

悬赏问题

  • ¥20 macmin m 4连接iPad
  • ¥15 DBIF_REPO_SQL_ERROR
  • ¥15 根据历年月数据,用Stata预测未来六个月汇率
  • ¥15 DevEco studio开发工具 真机联调找不到手机设备
  • ¥15 请教前后端分离的问题
  • ¥100 冷钱包突然失效,急寻解决方案
  • ¥15 下载honeyd时报错 configure: error: you need to instal a more recent version of libdnet
  • ¥15 距离软磁铁一定距离的磁感应强度大小怎么求
  • ¥15 霍尔传感器hmc5883l的xyz轴输出和该点的磁感应强度大小的关系是什么
  • ¥15 vscode开发micropython,import模块出现异常
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部