Size: a a a

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

2020 May 09

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Бензофуран Гетероцикл
Хотите поугорать?
Смарите "простой просмотрщик статистики":
https://pastebin.com/Kf2iQL8e
Кстати, забавная херня с лямбдами в питоне, которую я не понял
Там в ините класса Table есть строка в которой table.headings(...) задаёт команду для клика. Когда я делал command = lambda: self.sortby(head) эта херня проставляла всем хедингам одну и ту же лямбду (!) и я ловил по jебалу некорректную работу (сортинг всегда шёл по последнему столбцу, независимо от того на какой столбец я кликал)

Зову пояснительную команду @borntohack @k4m454k @alext18

P.S. вот тут похожая херня у типа: https://stackoverflow.com/questions/46618459/tkinter-treeview-column-sorting
источник

AT

Alexander T in Сообщество Python Программистов
Бензофуран Гетероцикл
Кстати, забавная херня с лямбдами в питоне, которую я не понял
Там в ините класса Table есть строка в которой table.headings(...) задаёт команду для клика. Когда я делал command = lambda: self.sortby(head) эта херня проставляла всем хедингам одну и ту же лямбду (!) и я ловил по jебалу некорректную работу (сортинг всегда шёл по последнему столбцу, независимо от того на какой столбец я кликал)

Зову пояснительную команду @borntohack @k4m454k @alext18

P.S. вот тут похожая херня у типа: https://stackoverflow.com/questions/46618459/tkinter-treeview-column-sorting
потому что замыкание
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Alexander T
потому что замыкание
Подробнее можно?
источник

AT

Alexander T in Сообщество Python Программистов
Бензофуран Гетероцикл
Подробнее можно?
по последнему head все генерится
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Alexander T
по последнему head все генерится
Я это уже выкупил, ещё в первый запуск)
Но как так выходит-то?
источник

AT

Alexander T in Сообщество Python Программистов
Бензофуран Гетероцикл
Я это уже выкупил, ещё в первый запуск)
Но как так выходит-то?
def get_lambdas(n):
   return [lambda: x for x in range(n)]

for f in get_lambdas(10):
   print(f())
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Alexander T
def get_lambdas(n):
   return [lambda: x for x in range(n)]

for f in get_lambdas(10):
   print(f())
Language:
py3


Source:
def get_lambdas(n):
   return [lambda: x for x in range(n)]

for f in get_lambdas(10):
   print(f())


Result:
9
9
9
9
9
9
9
9
9
9
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Scheisse!
источник

AT

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


Source:
def get_lambdas(n):
   return [lambda: x for x in range(n)]

for f in get_lambdas(10):
   print(f())


Result:
9
9
9
9
9
9
9
9
9
9
def makefunc(n):
   def func():
       return n
   return func

def get_lambdas(n):
   return [makefunc(x) for x in range(n)]

for f in get_lambdas(10):
   print(f())
источник

AT

Alexander T in Сообщество Python Программистов
короче фишка в чем
источник

AT

Alexander T in Сообщество Python Программистов
в первом случае он создает функции, каждая из которых ССЫЛАЕТСЯ на объект который выкидывает итератор
источник

AT

Alexander T in Сообщество Python Программистов
точнее даже на имя
источник

AT

Alexander T in Сообщество Python Программистов
типа for x in range(10)
функция будет return x
именно ссылка, а не значение
источник

AT

Alexander T in Сообщество Python Программистов
и по окончании цикла эта переменная равна последнему значению
источник

AT

Alexander T in Сообщество Python Программистов
и даже доступна в неймспейсе)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Ааа, блять
источник

AT

Alexander T in Сообщество Python Программистов
да
источник

I

InzGIBA in Сообщество Python Программистов
Бензофуран Гетероцикл
Подробнее можно?
Если интересно: https://youtu.be/wKyUZY4-Dxc
источник

AT

Alexander T in Сообщество Python Программистов
а во втором случае эта логика выделяется, понял?
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Alexander T
и даже доступна в неймспейсе)
Опять ссылки подъёбывают
источник