Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 24, 2016 12:26:59

Tsunetomo
Зарегистрирован: 2015-04-01
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

немогу разобраться с работой класса

Добрый день, немогу разобраться с работой класса, передаю значения в класс а срабатывает только метод __init__, который вызывается при создании объекта, следующие методы не выполняются, подскажите пожалуйста что я не учел? Вот пример кода:

 a = (' '*21, ' '*6, ' '*9, ' '*17, ' '*12, ' '*13, ' '*13, ' '*13, ' '*13)
b = ('    Наименование ТОБО', 'Адрес', 'Вн.кодТОБО', '840', '840', '978', '978', '643', '643', '826', '826')
c = (' '*21, ' '*5, ' '*10, '              BUY', '         SELL', '          BUY', '         SELL', '          BUY', '         SELL', '          BUY', '         SELL')
class CurrencyInstaller:
    def __init__(self, nameTobo, addressTobo, codeTobo, buy_840, sell_840, buy_978, sell_978, buy_643, sell_643, buy_826, sell_826 ):
	    self.nameTobo = nameTobo
	    self.addressTobo = addressTobo
	    self.codeTobo = codeTobo
	    self.buy_840 = buy_840
	    self.sell_840 = sell_840
	    self.buy_978 = buy_978
	    self.sell_978 = sell_978
	    self.buy_643 = buy_643
	    self.sell_643 = sell_643
	    self.buy_826 = buy_826
	    self.sell_826 = sell_826
    def get_data (self):
        return (self.nameTobo, self.addressTobo, self.codeTobo, self.buy_840, self.sell_840, self.buy_978, self.sell_978, self.buy_643, self.sell_643, self.buy_826,self.sell_826)
    def make_tab (get_data):
        return ";".join(get_data)
    def write_csv (make_tab):
        file_name =  datetime.strftime(datetime.now(), "%Y%m%d%H%M%S") + ".csv"
        with open(file_name, 'w') as filename:
            filename.write(coded_a)
            filename.write("\n")
            filename.write(coded_b)
            filename.write("\n")
            filename.write(coded_c)
            filename.write("\n")
            filename.write(make_tab)
#передаем значение
CurrencyInstaller('Отделение 1', 'г.Киев, ул.Интузиастов 39', '1', input('Введите курс покупки для 840 '), input('Введите курс продажи для 840 '), input('Введите курс покупки для 978 '), input('Введите курс продажи для 978 '), input('Введите курс покупки для 643 '), input('Введите курс продажи для 643 '), input('Введите курс покупки для 826 '), input('Введите курс продажи для 826 '))

Отредактировано Tsunetomo (Авг. 24, 2016 12:28:26)

Офлайн

#2 Авг. 24, 2016 12:36:36

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

немогу разобраться с работой класса

 print CurrencyInstaller(1,1,1,1,1,1,1,1,1,1,1).get_data()
(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
Метод надо вызвать.

Отредактировано noob_saibot (Авг. 24, 2016 12:42:08)

Офлайн

#3 Авг. 24, 2016 12:54:39

Tsunetomo
Зарегистрирован: 2015-04-01
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

немогу разобраться с работой класса

noob_saibot
print CurrencyInstaller(1,1,1,1,1,1,1,1,1,1,1).get_data()
Выдает ошибку:
   File "C:/Users/Alex/Desktop/project_csv/project_csv.py", line 52
    print CurrencyInstaller (1,1,1,1,1,1,1,1,1,1,1).get_data()
                          ^
SyntaxError: invalid syntax
Process finished with exit code 1

Офлайн

#4 Авг. 24, 2016 13:04:19

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

немогу разобраться с работой класса

Tsunetomo
filename.write(make_tab)
 filename.write(make_tab)
скобку закрыли? Если да, то код выложите полностью.

Отредактировано noob_saibot (Авг. 24, 2016 13:06:39)

Офлайн

#5 Авг. 25, 2016 01:30:07

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

немогу разобраться с работой класса

Tsunetomo
Выдает ошибку
скорее всего у вас 3 айтон и вам нужно
 print(CurrencyInstaller(1,1,1,1,1,1,1,1,1,1,1).get_data())



————————————————
-*- Simple is better than complex -*-

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version