2015-10-29 3 views
2
from traits.api import Str 
class Foo(HasTraits): 
    a=Str 
    b=Str() 

Есть ли разница в поведении между членами 'a' и 'b'?Разница в характеристиках между элементом записи как Trait или Trait() ex x = Str или x = Str()

Являются ли атрибуты атрибутов всегда конкретными экземплярами или могут быть членами класса?

ответ

5

Нет никакой разницы. MetaHasTraits (метакласс за HasTraits) с удовольствием поглотит любую форму и неявно создаст экземпляр первого без аргументов.

Атрибуты атрибутов всегда являются атрибутами экземпляра, а не атрибутами класса.

+0

Это, как говорится, я нашел «add_class_trait()»: http://docs.enthought.com/traits/traits_user_manual/advanced.html#add-class-trait – user3391229

+0

В той же строке опроса, если «a 'является членом класса, существует ли разница между a = MyClass() и a = экземпляром (MyClass) и a = экземпляром (MyClass,())? – user3391229

+0

@ user3391229 Это должен быть новый вопрос, а не комментарий. –

Смежные вопросы