Size: a a a

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

2020 February 06

М

Мем in Сообщество Python Программистов
Бензофуран Гетероцикл
Language:
py3


Source:
a = 2
print(a.__class__.__name__)


Result:
int
это ж имя класса, а не объекта
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Мем
Подскажите, как вернуть имя объекта класа?
Зачем тебе имя класса объекта?
источник

VA

Vadim Apenko in Сообщество Python Программистов
Artem Fadeev
объясните нормально куда я должен положить файл
В ту директорию, где ты будешь писать свои программы.
источник

М

Мем in Сообщество Python Программистов
Бензофуран Гетероцикл
Зачем тебе имя класса объекта?
наоборот
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Мем
наоборот
Ок. Наоборот.
Но зачем?
источник

З

Захар in Сообщество Python Программистов
Бензофуран Гетероцикл
Ок. Наоборот.
Но зачем?
так модно щас
источник

VK

Vadim Korotov in Сообщество Python Программистов
Vadim Apenko
Кстати. Предлагают вот.
Прям совсем дёшево предлагают
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Vadim Korotov
Прям совсем дёшево предлагают
Кстати, я почти здоров
И апи почти доделано
источник

KV

Konstantin Vinogradov in Сообщество Python Программистов
Бензофуран Гетероцикл
Моё решение примерно такое:


заводим результирующий список
добавляем в стек кортеж из ссылки на обрабатываемый объект и индекса (ноль)

Заходим в цикл
Берём из стека ссылку и индекс
Идём по объекту
Если взятый элемент не список/кортеж - добавляем в результирующий список
Иначе сохраняем в стек текущий объект и индекс, добавляем в стек встреченный итерэбл и индекс (ноль), рестартим цикл
Если стек пуст то выходим из циклп
def main():
   MyMysiv = [0, [7, [9, 8]], [7, [9, 8]], [7, [9, 8]]]
   stack = []
   MyMysivExit = []
   is_job = True
   i = 0
   while is_job:
       is_job = False
       if isinstance(MyMysiv[i], list):
           if i < len(MyMysiv) - 1:
               stack.append((i+1, MyMysiv))
           MyMysiv = MyMysiv[i]
           i = 0
           is_job = True
           continue

       MyMysivExit.append(MyMysiv[i])
       i += 1
       if i >= len(MyMysiv):
           if len(stack) == 0:
               break
           lvl = stack.pop()
           i = lvl[0]
           MyMysiv = lvl[1]
       is_job = True
       
           
   print(MyMysivExit)

main()
источник

ЮЧ

Юрий 👨‍🔬 Чебышев in Сообщество Python Программистов
Бензофуран Гетероцикл
Ок. Наоборот.
Но зачем?
Чтобы на лету генерировать, очевидно🙈🙈🙈
источник

KV

Konstantin Vinogradov in Сообщество Python Программистов
а есть в стандартном idle отладка нормальная, как в Visual studio? с мониторингом переменных? или в какм-то стороннем редакторе только?
источник

l

let45fc in Сообщество Python Программистов
Мем
Подскажите, как вернуть имя объекта класа?
Перегрузи метод __repr__
источник

T

Tuum Daemonia in Сообщество Python Программистов
Konstantin Vinogradov
def main():
   MyMysiv = [0, [7, [9, 8]], [7, [9, 8]], [7, [9, 8]]]
   stack = []
   MyMysivExit = []
   is_job = True
   i = 0
   while is_job:
       is_job = False
       if isinstance(MyMysiv[i], list):
           if i < len(MyMysiv) - 1:
               stack.append((i+1, MyMysiv))
           MyMysiv = MyMysiv[i]
           i = 0
           is_job = True
           continue

       MyMysivExit.append(MyMysiv[i])
       i += 1
       if i >= len(MyMysiv):
           if len(stack) == 0:
               break
           lvl = stack.pop()
           i = lvl[0]
           MyMysiv = lvl[1]
       is_job = True
       
           
   print(MyMysivExit)

main()
НеПишиТакПеременныеВПитоне
источник

KV

Konstantin Vinogradov in Сообщество Python Программистов
Tuum Daemonia
НеПишиТакПеременныеВПитоне
Какие переменные напрягают?
источник

KV

Konstantin Vinogradov in Сообщество Python Программистов
Если только MyMysiv и MyMysivExit
источник

KV

Konstantin Vinogradov in Сообщество Python Программистов
Все остальные в норме как по мне.
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
let45fc
Перегрузи метод __repr__
А как через репр имя вообще вернуть 0_о
источник

AF

Artem Fadeev in Сообщество Python Программистов
Vadim Apenko
В ту директорию, где ты будешь писать свои программы.
пайчарм это директория?
источник

l

let45fc in Сообщество Python Программистов
Бензофуран Гетероцикл
А как через репр имя вообще вернуть 0_о
a = ObjectWithRepr()
print(a)
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
let45fc
a = ObjectWithRepr()
print(a)
Ну для того есть и __str__ вроде
источник