有个问题困惑已久,求大神解答!!
本帖最后由 zhang0127 于 2019-6-15 22:02 编辑如上图,标记1是全局变量x,然后在函数内对x进行修改就会报错;标记3,在一个类定义内,count属于函数的外部变量(类属性),在标记4处(函数内部)对count进行修改却可以顺利执行,这是为神马啊???
图1
x=0 和 x+=1 不在同一域。一个全局,一个函数内部。
图2
count = 0 是类全局
self.count 是类实例化后每个实例的变量。
count 不等于 self.count (两者不是同一个东西。)
改名方便 理解
a = 0
self.b += ord(i)
再看,是一个东西吗? ba21 发表于 2019-6-14 23:27
图1
x=0 和 x+=1 不在同一域。一个全局,一个函数内部。
ba21 发表于 2019-6-14 23:27
图1
x=0 和 x+=1 不在同一域。一个全局,一个函数内部。
zhang0127 发表于 2019-6-14 23:39
我就是被这个给搞晕了,如果不给一个类全局变量count,则下面的函数self.count就会找不到,就会报错 zhang0127 发表于 2019-6-14 23:39
self.count += ord(i)
self.count = self.count + ord(i)
请问您,self.count的初始值是什么???????
>>> class Nstr:
c = 0
def __init__(self, x):
self.count = 0
for i in x:
self.count += ord(i)
>>> a = Nstr('x')
>>> ba21 发表于 2019-6-14 23:50
self.count += ord(i)
self.count = self.count + ord(i)
请问您,self.count的初始值是什么????? ...
理解啦,谢谢你~~~
页:
[1]