![](/img/trans.png)
[英]How can I change one variable in class every time when another changes? Python
[英]How can I set a variable within a class to include another variable and update when the other value changes?
我覺得很難解釋,所以這就是我的意思:
>>> class a(object):
a = 'z'
b = 'b'
c = 'c'
all = a,b,c
>>> print a.all
('z', 'b', 'c')
>>> a.a = 'a'
>>> print a.a
a
>>> print a.all
('z', 'b', 'c')
我如何才能使a.all
准確到我希望a.all
成為的班級中的所有a.all
('a','b','c')
我認為這是因為在創建類時會在那兒設置值。 但是我想每次我想訪問它時都可能需要設置“所有”值,我只是不想鍵入所有變量的名稱。 這已應用於具有20多個變量的類中。
也許有人會知道用函數重置“全部”變量的有效方法。
設置all
property
:
class A(object):
a = 'z'
b = 'b'
c = 'c'
@property
def all(self):
return (self.a, self.b, self.c)
請注意,您必須創建該類的實例才能起作用:
>>> a = A()
>>> a.all
('z', 'b', 'c')
>>> a.a = 'a'
>>> a.all
('a', 'b', 'c')
一種使用@property
解決方案:
class a(object):
a = 'z'
b = 'b'
c = 'c'
@property
def all(self):
return self.a, self.b, self.c
A = a()
print A.all
a.a = 'a'
print A.all
@property
需要一個實例而不是類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.