Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 12, 2015 23:04:52

kpotko
Зарегистрирован: 2015-01-07
Сообщения: 21
Репутация: +  1  -
Профиль   Отправить e-mail  

список экземпляров класса

GreyZmeem
State.class_instances.append(…)Вы можете описать для чего вам сохранять все создаваемые объекты (да еще и в классах потомках)? Мне кажется что вы сильно усложняете себе задачу, когда действительно можно, как написал Alex_HH, все сохранять в обычный list.

Всего лишь то, что просит препод , не больше.
ему внезапно захотелось, чтобы появился класс-наследник, с дополнительным параметром , и его объекты тоже сохранялись в массив/список, и потом выводились всей пачкой в цикле.

State.class_instances.append(…), если его делать же, то выдаст ошибку, что подано больше аргументов, чем ожидалось (в классе State : self,country,capital , а в наследнике будет еще +1 свойство)

Офлайн

#2 Янв. 13, 2015 01:16:40

GreyZmeem
От: Киев
Зарегистрирован: 2013-12-03
Сообщения: 147
Репутация: +  34  -
Профиль   Отправить e-mail  

список экземпляров класса

class State(object):
    class_instances = []
 
    def __init__(self, country, capital):
        self.country = country
        self.capital = capital
        self.class_instances.append(self)
 
    def __str__(self):
        return u'The capital of {} is {}.'.format(self.country, self.capital).encode('utf-8')
 
    @classmethod
    def print_out(cls):
        for state in cls.class_instances:
            print state
 
 
class StatePopulation(State):
    def __init__(self, population, *args, **kwargs):
        super(StatePopulation, self).__init__(*args, **kwargs)
        self.population = population
 
    def __str__(self):
        return u'The capital of {} is {}. Population: {}.'.format(self.country, self.capital, self.population).encode('utf-8')
 
 
State('Russia', 'Moscow')
State('Ukraine', 'Kiev')
State('Belarus', 'Minks')
StatePopulation(1606000, 'Zimbabwe', 'Harare')
 
State.print_out()
The capital of Russia is Moscow.
The capital of Ukraine is Kiev.
The capital of Belarus is Minks.
The capital of Zimbabwe is Harare. Population: 1606000.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version