回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有两个非常基本的面向对象问题</p>
<p>1)我们可以用成员函数修改类变量吗</p>
<p>例如</p>
<pre><code>class test:
'''test class'''
idd=0
def __init__(self,mark,subject):
self.markk=mark
self.subjectt=subject
def display(self):
print "the display is",self.markk,self.subjectt;
stud1=test(30,'maths')
stud2=test(40,'english')
</code></pre>
<p>当我试图使用stud1.idd=9;对象修改类变量idd时;,变量没有修改。test.idd=9修改了变量</p>
<p>有人能解释一下为什么不能从一个对象修改一个类变量吗</p>
<p>2)同样在上面的代码片段中,当我添加一个关键字global时,类varidlike</p>
<pre><code>class test:
'''test class'''
global idd;
idd=0;
print test.idd
</code></pre>
<p>它抛出了一个错误,比如name class test没有属性idd</p>
<p>但是当我注释掉全局idd时,它显示了值</p>
<p>那么,类中是否不支持全局关键字</p>
<p>有人能帮我了解一下这两个问题吗?因为这是我实现面向对象概念的基本步骤</p>