
Gra4
12.08.2016
11:19:48

Stanislav
12.08.2016
11:20:20
*args типо
Но...

Zart
12.08.2016
11:24:14
эх.. если б в условии стояло бы не "отсеивать None", а "отсеивать ложные", вышло бы
l1, l2 = zip(*filter(all, zip(l1, l2)))

Google

Stanislav
12.08.2016
11:24:43

Pavel
12.08.2016
11:24:46
функция(*список) - этот такой способ передать элементы списка в аргументы функции.
Когда функция принимает не список, а несколько отдельных значений, а нам нужно вкорячить ей список, то можно сделать функция(список[0], список[1]), но это не работает, если список неизвестной длины.

Zart
12.08.2016
11:25:18
разворачивает список в список аргументов

Stanislav
12.08.2016
11:25:24
Значит *arg
Я думал это толкьо при создании функции
А передавать можно сразу таплом

Pavel
12.08.2016
11:26:07
*arg превращает несколько аргументо в список, а f(*lst) - список в несоклько аргументов.

Zart
12.08.2016
11:27:22
такую звездочку можно употреблять в:
списке аргументов функции:
f(a, b, *args) - в этом случае одна переменная аргс получит все оставшиеся аргументы, если есть
при передаче аргументов в функцию:
def f(a, b):
...
l = (1, 2)
f(*l) # сама функция не обязана иметь *args
и в третьем питоне добавили еще два использования
def f(a, b, *, c): # при вызове параметр c нужно указывать только в кейворд нотации: f(0, 1, c=2)
...
и анпак туплов теперь доступен вне аргументов функций:
a, *b = [1, 2, 3, 4, 5]
a == 1, b == [2, 3, 4, 5]

Stanislav
12.08.2016
11:29:24
Интересная фигня
Спс за инфу

Google

Zart
12.08.2016
11:30:31
и еще из мира распаковки туплов:
>>> a, (b, c), *d = [(1, 2), (3, 4), (5, 6), (7, 8)]
>>> a, b, c, d
((1, 2), 3, 4, [(5, 6), (7, 8)])

Stanislav
12.08.2016
11:32:05
http://i.imgur.com/0vKcsRt.png
Да и правда работает
(только на трай ехцепт не смотрите, не знал что args=())

Gra4
12.08.2016
11:33:39
Мне кажется, именно так Зарт смотрит на очередной вопрос

Zart
12.08.2016
11:35:38
угу, белый и пушистый

Andrew
12.08.2016
11:41:29
Zart а в питоне есть такое чтоб в программу можно было передавать файл вот так, ./myprog.py < myfile
типо в C++ решалось это while(cin»a){ return };

Aleksey
12.08.2016
11:42:17
argparse и путь к файлу наверное.

Andrew
12.08.2016
11:42:30
нууу argparse эт понятно

Sergey
12.08.2016
11:42:33

Andrew
12.08.2016
11:42:45
но там же типо myprogram.py -c parm1

Alexander
12.08.2016
11:43:00

Andrew
12.08.2016
11:43:27
а подскажет кто решение, есть программа запускается она с конфигом, конфиг передается через -c config, как можно сделать что если конфиг изменился, программа его перечитала без перезапуска? вижу как вариант, повесить порт какойто и кидать команду, или в вечный цикл сделать subprocess.Popen("diff") и так далее
мб есть разумнее весч

Sergey
12.08.2016
11:50:23
хотя обычно при правке конфига демону передают команду на релоад
потмоу что в конфиге могут быть ошибки или надо его применить не сразу

Zart
12.08.2016
11:51:37
но идея хуевая

Google

Zart
12.08.2016
11:54:18
ищи по inotify, если это linux
тяжеловесно малость. но можно. врапперов на пайпи для inotify/dnotify/fam/findfirstchangenotification было несколько штук

Stanislav
12.08.2016
11:55:51
А зачем нужен pypy?

Sergey
12.08.2016
11:56:11
pypi != pypy

Stanislav
12.08.2016
11:56:47
Я про интерпритатор
Он типа быстрый

Sergey
12.08.2016
11:57:22
если совсем вкратце, то ради jit

Zart
12.08.2016
11:58:36
pypy давно превратился в кошерный джит-фреймворк, на котором запилили кроме питона еще несколько языков

Stanislav
12.08.2016
12:00:08
И че, кто-то юзает питон на PyPy?

Zart
12.08.2016
12:00:40
ктото юзает

Sergey
12.08.2016
12:01:15
ну с 3.3+ он плохо совместим, хотя после вложений Mozilla может все же допилят

Zart
12.08.2016
12:01:37
тройку пилят медленно, ибо интереса негусто

Sergey
12.08.2016
12:01:54
mozilla им 200k отвалила на поддержку 3.5

Stanislav
12.08.2016
12:02:10
Он ноду даже выигрывает

Zart
12.08.2016
12:02:44
пайпай достигает скорости ценой оперативки, если сравнивать с цпитоном

Sergey
12.08.2016
12:03:11

Zart
12.08.2016
12:03:24
т.е. на обычном коде он раза в 4-8 шустрее, но при этом хавает в 2-3 раза больше озу
сильно-сильно зависит от конкретной задачки
они сильно улучшили в сравнении с тем что было давно
http://speed.pypy.org/
портирование под пайпай зависит от зависимостей 8\

Google

Zart
12.08.2016
12:05:35
PIL/Pillow раньше ставились под пайпай, сейчас у меня новые версии фейлят, более старая ставится, но не имеет поддержки жипегов... в общем с поддержкой бинарных экстеншенов от цпитона там всё еще довольно печально

Gra4
12.08.2016
12:05:41
https://www.toptal.com/python/%D0%BF%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D0%B5%D1%82-%D1%82%D0%B0%D0%BA-%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BF%D0%B8%D1%82%D0%BE%D0%BD%D0%BE%D0%B2/ru

Stanislav
12.08.2016
12:06:08

Zart
12.08.2016
12:06:18
почему существует так много С? С++? Бейсиков? Паскалей?

Gra4
12.08.2016
12:08:22
М?
А по-мне так интересная статейка

Stanislav
12.08.2016
12:09:20

Zart
12.08.2016
12:09:56
а, бля
я этот пост же читал в оригинале

Admin
ERROR: S client not available

Gra4
12.08.2016
12:16:16
Если честно
Я вообще не могу представить
Как устроен этот PyPy

Zart
12.08.2016
12:17:52
я конечно могу накидать ссылок... но сомневаюсь что это ваш уровень

Gra4
12.08.2016
12:18:16
Нет, я немного не об этом
Python интерпретируЮЩИЙ на C написан?

Nobue
12.08.2016
12:19:17
ну если не вдаваться в детали PyPy это просто альтернативная реализация интерпретатора питона в противовес стандартному CPython
я правда зуб не дам что там совсем нет кусочков плюсов, но вроде там чистый Си

Zart
12.08.2016
12:20:14

Google

Zart
12.08.2016
12:20:55

Gra4
12.08.2016
12:21:07
RPython

Nobue
12.08.2016
12:22:28
Cython меж тем вообще никакого отношения не имеет к интерпретаторам
это как бы отдельно стоящая ботвень транслирующая код питона в код Си
хотя это вопрос философский)
а вообще кто-нибудь юзал отличные от CPython интерпретаторы? тот же PyPy?
для чего-нибудь кроме тестов и экспериментов
я конечно видел их красивые графики производительности, но по-моему это больше научная забава пока
лично мне наиболее перспективной кажется идея сделать интерпретатор на LLVM
но вроде текущие реализации тоже пока далеки от релиза

Sergey
12.08.2016
12:28:11

Nobue
12.08.2016
12:28:19
да они есть вроде
https://github.com/dropbox/pyston
http://numba.pydata.org
просто они не особо живые или хоть как-то законченные

Sergey
12.08.2016
12:29:10
numba, кстати, у меня не дала какого-то профита по скорости от слова совсем

Alexey
12.08.2016
12:29:26
Всем добра

Nobue
12.08.2016
12:29:56
если я правильно понимаю процесс и это не мои больные фантазии, то LLVM крут тем что в теории он должен дать совместимость с уже существующими либами CPython
и это имхо единственный случай когда альтернативный интерператор может взлететь
потому как нафиг никому не сдался PyPy если под него надо все либы переделывать

Sergey
12.08.2016
12:31:07
все не надо

Nobue
12.08.2016
12:31:52
ладно, простите) я просто не так давно думал об этом

Sergey
12.08.2016
12:32:40
если альтернативные имплементации кто-то пилит, значит они кому-то все-таки нужны
Эта группа больше не существует