python 对类的一个疑问
class C:def __init__(self):
count = 6
我想知道外部怎么调用count,还是不能调用呢?
无论是self.count还是C.count
都显示类没有这个属性
很好奇{:10_266:}
只能这样
class C:
def __init__(self):
self.count = 6
c = C()
>>> c.count
6 冬雪雪冬 发表于 2020-10-31 22:45
只能这样
那,像我那样写count无法访问是吗 冬雪雪冬 发表于 2020-10-31 22:45
只能这样
其实没有写错,我就是很好奇,这样写能不能访问呢,毕竟count应该是在内存里的 oneface 发表于 2020-11-1 00:08
其实没有写错,我就是很好奇,这样写能不能访问呢,毕竟count应该是在内存里的
这是python的设计者故意这样设计的,应该是为了安全性吧,一些类里面的东西不可以被直接的访问和修改,比如存储一些秘密的东西,一个人的资产,这种隐私不能被直接的访问和修改,个人看法, 不一定对{:10_243:} oneface 发表于 2020-11-1 00:08
其实没有写错,我就是很好奇,这样写能不能访问呢,毕竟count应该是在内存里的
这个属于变量作用域的问题 只能是先实例化,再选择方法吧。你先整个c=C(),然后再用c.count就可以了。 hrp 发表于 2020-11-1 09:50
这个属于变量作用域的问题
懂了 小甲鱼的铁粉 发表于 2020-11-1 09:03
这是python的设计者故意这样设计的,应该是为了安全性吧,一些类里面的东西不可以被直接的访问和修改,比 ...
应该是在 __init__ 函数的局部变量,退出函数就销毁了,没法访问
页:
[1]