Size: a a a

Сообщество Python Программистов

2020 April 29

R3

Rud 356 in Сообщество Python Программистов
Коротко, четко и по делу
источник

R3

Rud 356 in Сообщество Python Программистов
У тебя есть один класс в котором есть поле - слова с функциями из других классов
источник

KV

Konstantin Vinogrado... in Сообщество Python Программистов
Rud 356
У тебя есть один класс в котором есть поле - слова с функциями из других классов
Не. Сейчас опишу макет.
источник

R3

Rud 356 in Сообщество Python Программистов
Потом ты пытаешься сделать первым делом создать первый класс с этой хуетой или нет?
источник

KV

Konstantin Vinogrado... in Сообщество Python Программистов
class tmp:
   pole1 = 1
   pole2 = 2
   slovar = {
       "txt": save_to_txt,
       "xlsx": save_to_xlsx,
   }

   def __init__(self):
       ...
   
   def save_to_txt(self):
       ...
   
   def save_to_xlsx(self):
       ...
источник

KV

Konstantin Vinogrado... in Сообщество Python Программистов
Rud 356
Потом ты пытаешься сделать первым делом создать первый класс с этой хуетой или нет?
Вот так он ругается.
источник

R3

Rud 356 in Сообщество Python Программистов
ПХПХП))))
источник

R3

Rud 356 in Сообщество Python Программистов
Дак ты делай в ините через self)
источник

R3

Rud 356 in Сообщество Python Программистов
Так ты вообще ссылаешься хуй знает куда т.к. эти методы зависят от инстанса класса
источник

KV

Konstantin Vinogrado... in Сообщество Python Программистов
Я думаю о переносе словаря вниз. Но тогда поля класса объявляются в двух местах. Я думаю переносить все поля вниз.
источник

R3

Rud 356 in Сообщество Python Программистов
не выйдет
источник

KV

Konstantin Vinogrado... in Сообщество Python Программистов
На уровне класса нет Self
источник

R3

Rud 356 in Сообщество Python Программистов
Этот словарь будет общим для всего класса в его варианте, а вот методы он хочет дернуть у представителя
источник

KV

Konstantin Vinogrado... in Сообщество Python Программистов
Rud 356
Этот словарь будет общим для всего класса в его варианте, а вот методы он хочет дернуть у представителя
Проще if да?
источник

KV

Konstantin Vinogrado... in Сообщество Python Программистов
Заюзать общую функцию save и там вместо словаря юзать if.

if self.to_save == "txt":
   self.save_to_txt()
elif  self.to_save == "xlsx":
   self.save_to_xlsx()
источник

R3

Rud 356 in Сообщество Python Программистов
тут два путя:
class S:
   def __init__(self):
      self.param1 = 1
      self.param2 = 2
      self.d = { 'txt': self.save, 'xlsx': self.xmlx_save}

Или
class S:
  param1 = 1
  param2 = 2
  d = { 'txt': S.save, 'xlsx': S.xmlx_save}
  @staticmethod
  def save(...): ...
  @staticmethod
  def xmlx_save(...): ...
источник

R3

Rud 356 in Сообщество Python Программистов
Konstantin Vinogradov
Заюзать общую функцию save и там вместо словаря юзать if.

if self.to_save == "txt":
   self.save_to_txt()
elif  self.to_save == "xlsx":
   self.save_to_xlsx()
Вот варианты
источник

R3

Rud 356 in Сообщество Python Программистов
Через нормальное объявление логичнее т.к. все данные для работы внутри класса
источник

KV

Konstantin Vinogrado... in Сообщество Python Программистов
Rud 356
тут два путя:
class S:
   def __init__(self):
      self.param1 = 1
      self.param2 = 2
      self.d = { 'txt': self.save, 'xlsx': self.xmlx_save}

Или
class S:
  param1 = 1
  param2 = 2
  d = { 'txt': S.save, 'xlsx': S.xmlx_save}
  @staticmethod
  def save(...): ...
  @staticmethod
  def xmlx_save(...): ...
А во втором варианте он их увидет?
Вроде нужно после объявления методов пихать словарь...
источник

R3

Rud 356 in Сообщество Python Программистов
а во втором варианте тебе самому придеца брать и впихивать их в аргументы или таскать через S.param1
источник