Как получить доступ к свойствам объекта по имени? - PullRequest
2 голосов
/ 19 января 2010
class a(type):
    def __str__(self):
        return 'aaa'
    def __new__(cls, name, bases, attrs):
        attrs['cool']='cool!!!!'
        new_class = super(a,cls).__new__(cls, name, bases, attrs)
                #if 'media' not in attrs:
                    #new_class.media ='media'
        return new_class

class b(object):
    __metaclass__=a
    def __str__(self):
        return 'bbb'

print b
print b()['cool']#how can i print 'cool!!!!'

Ответы [ 2 ]

5 голосов
/ 19 января 2010
print b().cool

attrs в вашем методе __new__ становится словарем объекта. На свойства объектов Python ссылается синтаксис ..

1 голос
/ 19 января 2010
print "cool!!!"

Или я что-то пропустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...