簡體   English   中英

如何在一個類中設置一個變量以包含另一個變量並在另一個值更改時更新?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM