MagicforestA 2022-06-30 11:12 采纳率: 100%
浏览 30
已结题

两端简易函数代码求解释

这里有两段代码,output都是3 ,但容易混淆,谁能清楚解释一下

```python
#第一段
class A:
    X=0
    def __init__(self,v=0):
        self.Y=v
        A.X+=v
a=A()
b=A(1)
c=A(2)
print(c.X)

#第二段

class A:
    def __init__(self,v=2):
        self.v=v
    def set(self,v=1):
        self.v+=v
        return self.v

a=A()
b=a
b.set()
print(a.v)
#根据第一段代码逻辑,这里我觉得是4

```

  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2022-06-30 11:42
    关注

    第一段A类似其他语言的静态属性,所有实例共享的,任何一个实例操作过,其他实例都会得到最新的结果(意思就是同一个地址上存储的内容),题主可以看下这个

    第二段是申明了一个b变量同时指向a变量的地址上面的对象,用a或者b改这个地址中的内容,2个变量都会获取到一样的的内容,因为操作的是同一个地址上的对象

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

报告相同问题?

问题事件

  • 系统已结题 7月8日
  • 已采纳回答 6月30日
  • 修改了问题 6月30日
  • 创建了问题 6月30日