
倒数第四句a._MyClass_id=“0573”是啥意思 怎么MyClass前面还有个下划线 是私有变量的意思吗 私有变量咋还可以print在类外部输出啊

倒数第四句代码是给对象a的一个属性赋值,属性名为"_MyClass_id",属性值为"0573"。这里的"_MyClass_id"并不是类MyClass的私有变量,因为Python中并没有严格的私有变量的概念,只是约定俗成的用下划线开头的变量名表示类的私有变量。但是这并不阻止外部代码直接访问和修改这些变量。
在这段代码中,"_MyClass_id"是一个普通的实例属性,因为它是在对象a上定义的。所以在类外部也可以通过对象a来访问和修改这个属性。最后一句代码输出的是对象a的属性"_MyClass_id"的值,即"0573"。
另外,类MyClass中的"_ID"是一个类属性,它被所有实例共享。在init方法中,将传入的"id"赋值给实例属性"_id",将传入的"ID"赋值给类属性"_ID"。在info方法中,输出类属性"_ID"的值。因此,最后一句代码输出的是类属性"_ID"的值,即"0579"。