Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред



<<
[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 512 | 59 | 111

PYTHON №9 Аноним 20/03/18 Втр 22:18:50  1159798  
pygood.png (1109Кб, 2000x2000)
F.A.Q. https://github.com/TheKnightsWhoSayNi/info/wiki/Hat

Свой код кидайте через https://repl.it/languages/python3

Книги: https://yadi.sk/d/tArKKuQu3Kejuq и ссылка на PyCharm
Книги: https://yadi.sk/d/H-00n-UG3RSQem/

Предыдущий тред >>1156174 (OP)


Python питон
Аноним 20/03/18 Втр 23:37:10  1159848
194563452.png (3Кб, 462x76)
Facepalm.jpg (7Кб, 180x180)
>>1159317>>1159295
>IndexError: list assignment index out of range
Аноним 21/03/18 Срд 01:31:02  1159893
Леса.png (438Кб, 570x585)
>>1159295
Если нужно изменить оригинал:
from itertools import repeat
start_list[1:len(start_list)-1] = repeat(0, len(start_list) - 2)

Если нужен новый лист:
from itertools import repeat
new_list = [start_list[0], *repeat(0, len(start_list) - 2), start_list[len(start_list)-1]]

Пнятненько?
Аноним 21/03/18 Срд 02:08:44  1159899
domovyi-sych1.jpg (27Кб, 387x496)
Из help(dict):
> | fromkeys(iterable, value=None, /) from builtins.type
> | Returns a new dict with keys from iterable and values equal to value.
Что значит
>from builtins.type
?
Аноним 21/03/18 Срд 04:47:34  1159922
2018-03-18 (1).png (231Кб, 1017x945)
>>1159798 (OP)
оп-хуй

сайтик для самых зеленых антошек
https://sites.google.com/view/pypry
Аноним 21/03/18 Срд 08:34:35  1159941
>>1159688
>кому надо тот сам комитит
Ты я смотрю, не сильно понимаешь в менеджменте. А ведь ирония в том, что ленивые куски говна часто бывают гениальным разработчиками и чтобы им чего-то добиться, нужно, чтобы рядом были не менее гениальные менеджеры, понимающие в то же время в разработке. Классический пример - Стив Возняк, который в одно рыло сделал Apple II, но все же знают, что он бы его сам никогда не создал, всё это стало возможным, только потому что его вдохновлял Стив Джобс...

>я тебе советовал не смотреть а стриммить
Ну, во-первых, я другой анон. Во-вторых, логично сначала посмотреть на то, как это происходит у других, чтобы потом решить нужно ли оно тебе и если да, то что можно улучшить.
Аноним 21/03/18 Срд 09:20:18  1159952
>>1159941
>ленивые куски говна часто бывают гениальным разработчиками
так себе утешение

>сам никогда не создал
я со свечкой не стоял, спорить не буду, знаю точно кто реально хочет — тот делает, остальные погружаются в маня-оправдания

>логично сначала посмотреть
нет, если тебе просто нужна мотивация, качай обс заводи и погнал, а если тебе надо найти йобыря, посветить сракой и собрать донаты со школьников, то да, гугли, рисуй кнопочки, пердолься с оверлаями, мультистримами и тд и тп
Аноним 21/03/18 Срд 09:37:39  1159954
>>1159952
Ты снова делишь на ноль. Сначала предлагаешь стримить, а потом предлагаешь это делать ни для кого, что равносильно тому, чтобы не стримить. При этом, похоже, ни одно стримера ты сам ни разу не смотрел даже.

>кто реально хочет — тот делает
Как у тебя всё просто! Еще скажи, что мотивация либо есть, либо ее нет... Мир, блядь, не сводится к нулю и единице и мотивация вполне может описываться единичным вектором в двумерном гильбертовом комплексном пространстве, а суперпозиция с мотивациями других людей может давать интерференционную картину, где все выигрывают, даже если по отдельности вероятность каждого из них стать единицей была крайне мала...
Аноним 21/03/18 Срд 10:02:14  1159958
MTFmx2It0nI.jpg (69Кб, 750x750)
>>1159954
>а потом предлагаешь это делать ни для кого
я сразу это предложил, ты читаешь мой текст и не понимаешь не то что сути, а даже конкретно написанного

запустить стрим — это проявить усердие и дисциплину по подготовке процесса, продумыванию задачи на перед, а это уже 90% успеха, когда ты примерно знаешь что будешь делать сильно мотивирует и успокаивает, нежели прыжок в неизвестность

я пробовал расписывать подробные туду листы, но стримы для двух человек оказались в тыщу раз производительнее

смотрел мэда лол, как и все, но это раньше, а щас смотрю стримы алегоритмик и эпиков, но в записи, ибо жалко времени на весь этот бесполезный пездежь, и да там нету звона монеток кек, раньше были котики, но эпики сослали няшку-комунити-парнишку в испашку и поставили заместо него колхозное бабо-ебало и больше нет котиков, и большая часть стримов превратилась в унылое говнище, проще ченджлист на форуме пролистать

>Как у тебя всё просто!
так и есть родной

>мотивация либо есть, либо ее нет
бывают замотивированные на половину лол?

ты либо тащишься от того что делаешь, либо убеждаешь себя в этом

ключевой момент не сидеть на жопе ровно когда дендриты тебя палкой пиздят, они просто хотят что бы ты стал лучше
Аноним 21/03/18 Срд 10:26:39  1159962
>>1159958
>запустить стрим — это проявить усердие и дисциплину по подготовке процесса
Запустить стрим - это нажать одну кнопку. Сама настройка занимает еще 5-10 минут. Олсо так сложилось, что я очень много стримов организовывал и провел. И в рамках хобби и по работе. В живую выступал перед аудиторией с лекциями, еще преподавал в аспирантуре. Всё это полезный опыт, но не нужно его переоценивать, более того, это вообще далеко не всем подходит, у многих вред от стресса значительно превысит любые положительные эффекты. Не говоря уже о том, что огромное время, потраченное на подготовку подачи материала, можно было бы посвятить изучению чего-то для себя нового.

>бывают замотивированные на половину лол?
Да. А еще бывает эмоциональное и профессиональное выгорание, депрессии, потеря цели в жизни, ощущение бессмысленности того, что делаешь и много всякого другого. Конечно, если ты еще молод, вряд-ли с чем-то подобным сталкивался.

>либо тащишься от того что делаешь, либо убеждаешь себя в этом
К сожалению, ты и сам не заметишь как одно превратится в другое. Кроме того, невозможно занимать всегда тем и только тем, что доставляет тебе удовольствие...

>хотят что бы ты стал лучше
Нет. Мозг и тело хотят только лениться и бесконечно сберегать энергию, удовлетворяя при этом основные первичные потребности, но не более того. И такой потребности, как саморазвитие, в нас нет и никогда не было. Ну иначе все бы становились учеными, стремились сделать великие открытия, разделяли идеи трансгуманизма и т.п. Но по факту мы имеем миллионы тупиц и единицы тех, кто пытается не быть тупым, но нихуя не понимает ни как этого добиться, ни, главное, - зачем!
Аноним 21/03/18 Срд 11:32:03  1159982
>>1159962
>Запустить стрим - это нажать одну кнопку.
заставляешь меня думать что я перфекционист, я например хоть и кормлю людей говном, но стараюсь делать это хорошо и продуманно

>вред от стресса
дальше можно было не читать, ты просто прямым текстом сказал что сидите не рыпайтесь, да и вообще анон жизнь жизнь, каждый норовит обидеть, слишком много стресса, может выйти в окно?

>эмоциональное и профессиональное выгорание, депрессии, потеря цели в жизни, ощущение бессмысленности того, что делаешь
и почему все это? ты внутренний диалог с собой не ведешь что ле!?

>если ты еще молод, вряд-ли с чем-то подобным сталкивался
бросил институт на 2 курсе, работал фотографом днем, потом во вторую смену на складе, после первой ночи фотографирования в ночном клубе украли камеру(спустя 2 недели после покупки на лове-подарок к др) в метро тому шо уснул, потом был немножко сиджи артистом, граф дизайнером и вот теперь к 26 докатился до тридешки в риалтайме

и таки да братуха, все по изичу, кушаю ноотропы нет и мне заибись ага спойлерИРОНИЯ

>бесконечно сберегать энергию, удовлетворяя при этом основные первичные потребности
ахаха мне можешь про это не рассказывать без работы со сбившимся режимом и маминым борщиком быстро скатываешься до животного брр нахуй

>потребности, как саморазвитие, в нас нет и никогда не было. Ну иначе
мы бы сидели и дальше на ветках и срали друг другу на головы

>ни, главное, - зачем!
даже на ошеломляющую пропоганду в совке все было не так радужно, хоть и имело успех, я при всем уважении к заслугам предков, считаю капитализм более совершенной формой, где отвественность за мотивацию лежит на индивиде, а скажем какой нибудь илон маск пробует тебя подзадорить
Аноним 21/03/18 Срд 11:50:28  1159987
>>1159982
Я в целом понимаю тебя и твою позицию (ты хочешь быть чем-то большим чем есть). Но тем не менее, вижу, что у тебя масса заблуждений в голове. Ну вот например:
>>потребности, как саморазвитие, в нас нет и никогда не было. Ну иначе
>мы бы сидели и дальше на ветках и срали друг другу на головы
Иронично, но люди - социальные животные, впрочем, как и все приматы. Именно социализация обусловила чрезмерное развитие коры головного мозга в результате чего мы стали, скажем так, разумными. А что есть социализация, ты задумывался когда-нибудь? Это обеспечение себе более высокого места в иерархии себе подобных! Считается, что это инстинкт. А еще мы уверенно можем заявить, что всё это завязано на размножение - более успешный, богатый, видимый и значимый человек всегда будет более востребован противоположным полом...

Однако социализация != саморазвитию. И появившееся в последнее время деление интеллекта на, скажем так, классический и интеллект социальный - прямое тому доказательство. Человек хорош только в том, в чем постоянно совершенствуется и нельзя стать лучше в программировании, тратя все свои силы на обеспечение более высокого места в социальной иерархии...

Если сказать совсем простыми словами - люди разные. И то, что ты это чуть-ли не прямо отрицаешь - такое себе.

>считаю капитализм более совершенной формой
Ну да, вот только если глянуть как живут в самой крутой стране мира - Швейцарии, то быстро придешь к выводу, что там нихуя не капитализм, а скорее социализм! Если же посмотреть на Японию - лишь немногим менее благополучную страну, то там до сих пор чуть-ли на кастовое общество, полное условностей. Вывод напрашивается очевидный - дело не вовсе не форме как таковой, а в социуме и тех негласных и гласных договоренностях, которых соблюдаются. Индвиды же вроде Илона Маска как раз выбиваются из общей картины, потому что они никаких договоренностей не соблюдают как раз! Но ирония в том, что вряд-ли ты когда-нибудь станешь хотя бы валютным миллионером, не говоря уже о том, чтобы стать оригиналом, о котором будут говорить окружающие...
Аноним 21/03/18 Срд 12:13:40  1159990
image.png (202Кб, 284x298)
>>1159987
>понимаю тебя и твою позицию
nya ^_^

полез в дебри, сделал все сложно и загрустил, анон не надо так

если тебе не нужен такой навык как социализация ок, капитализму нужны дети только лишь для передачи капитала, будь спецом, подыми лове, и даже лысым тебя полюбит какая нибудь соска спойлер и ты ее полюбишь, хотя бы на 2 года и все у вас будет хорошо, только не будь унылым депрессивным говном, вот уж точно такой никому не нужен самое забавное смотреть на няшных тян в таком состоянии, вот уж блять реально не понято чего им сука не хватает

>люди разные
снаружи, побитые окружающей средой и стартовыми условиями, но суть одна — чудовищные приспособленческие способности и бесконечные возможности такого гибкого органа как мозг

>вот только если глянуть
то да, а если пожить там с пару лет, да еще изучить историю хотя бы лет за 500, то дааа

а инфантильные япошки с маленькими писюнами, ну тут вообще все очевидно, ну и вообще островные народы так себе

>что вряд-ли ты когда-нибудь станешь хотя бы валютным миллионером
пфф

>о котором будут говорить окружающие...
лел, я же анонимус, мне такого даром не надо
Аноним 21/03/18 Срд 12:21:46  1159991
Пошли нахуй, вниманиебляди
Аноним 21/03/18 Срд 13:20:28  1160010
Релевантно ли начинать учить питон в 2д18 году? Сейчас занимаюсь в порядке хобби в основном жс говном: юзерскрипты, мелкая хуйня на электроне, думаю о ноде, как о бэкенде. Понятно, что порчти всё это может и питон(qt, flask etc), но стоит ли выбирать питон? Может лучше го какой-нибудь?
Задачи: небольшие десктоп приложения, серверные вещи(бэкенды, боты, кравлеры).
Аноним 21/03/18 Срд 13:56:25  1160027
>>1160010
>небольшие десктоп приложения
На пистоне можно конечно, но будет очень хуёво. Лучше Java или C#.
Аноним 21/03/18 Срд 13:58:24  1160028
>>1160027
Ну я имел ввиду pyqt
Аноним 21/03/18 Срд 14:16:08  1160038
>>1160027
>десктоп приложения
>Java
Окстись, еретик!
Аноним 21/03/18 Срд 14:35:02  1160058
>>1160038
Только C++, только на кишку и только с молитвою
Аноним 21/03/18 Срд 14:37:28  1160062
>>1160058
Так ведь плюсы сами по себе вообще не имеют графических библиотек никаких, так что вариант еще хуже, чем ява. Что до последней - там надо как минимум мочь в MVC, иначе будет не гуй, а хуй...
Анон 21/03/18 Срд 14:57:23  1160077
Сап, анон. Появилась такая проблема. Возможна ли реализация вот такой 3D задачи: есть некоторая функция: S(x, y), где x - полярный угол, y - азимутальный угол. Есть вектор k который описывает сферу, т.е. координаты (k, x,y) (сферические). Эта сфера должна быть разноцветная, где цвет указывает величину S(x,y). Можно ли сделать реализацию в matplotlib и если можно, то как? Если еще короче: как привязать цвет в координатах (k,x,y) к величине S(x,y)?
Аноним 21/03/18 Срд 15:31:16  1160088
>>1159822
Да, я как увидел reduce, я прям почувствовал, что это именно та функция которая мне нужна скорее всего из-за англ значения, потому что когда я сам пытался писать обход, у меня получалось типа {dir: [subdir1, subdir2], subdir1: [subdir1.1, subdir1.2]...}. То есть мне нужно было объединить части словаря очень хитрым способом, я за это даже не брался, потому что думал что для этого должно быть какое-то элегантное решение, ибо задача common use как мне кажется.
>>1159825
> >reduce(dict.get, ['a', 'b'], my_dict)
Да вот, в том и проблема. Я обычно для понимания по коду из примеров в терминале прохожусь, но подобную функцию так и не смог заставить работать. Однако в коде примера она работает.
Но в любом случае большое спасибо. Хорошо объяснил и пример отличный. И я наконец-то сообразил, какую роль играет там dict.get! Пиздец, прочитал описание, понял что он делает, но... Эти знания не никак не скореллировали с тем что происходит в коде. Чувствую себя идиотом, который пытается вставить куб в круглое отверстие.

Но всё ещё остался вопрос, почему list_of_keys берётся [:-1]
Всё, понял. Спасибо няш :3.
Аноним 21/03/18 Срд 15:42:55  1160095
HighresScreensh[...].png (935Кб, 1012x936)
>>1160077
так?

ты скажи чо надо или лучше сам гугли за UV пространства что бы внятно объяснить
Аноним 21/03/18 Срд 15:45:24  1160096
uv mapping точнее, пространство то оно одно Ю и ВИ хех
Анон 21/03/18 Срд 15:47:39  1160097
>>1160095
Построить сферу на которой цвет будет отображать значение посчитанной мною функции, которая зависит от углов.
P.S. Картинка похожа на то что нужно.
Аноним 21/03/18 Срд 16:09:57  1160109
UV.png (29Кб, 1024x1024)
shperaWorld Spa[...].png (8455Кб, 2048x2048)
shperaWorld Spa[...].png (5349Кб, 2048x2048)
>>1160097
>Построить сферу
не построить, а покрасить, хотя может ты и создать сможешь я не знаю, но это заеба какая то, сколько у тебя будет вершин?

вот на пике 16 на 32 сфера развернута, 482 итого вершины, не заибешься красить?

но вообще это голый шейдер так выглядит,
Аноним 21/03/18 Срд 16:20:39  1160117
>>1160109
В общем, да, правильнее будет покрасить. Тогда перестрою вопрос таким образом: ваши картинки (2 и 3) это грубо говоря карта, на которой цветом задана величина функции, которая зависит от координат. Вопрос 1: как привязать цвет к значению функции, а второе, как такую карту натянуть на сферу. Насчет вершин не понял вопрос: под вершиной имеется ввиду точка на карте?, если да, то вершин будет 360х360
Аноним 21/03/18 Срд 16:53:36  1160134
Хорошо знаю жс. Хочу вкатиться в питон. Нужен ресурс где про синтаксис быстро пояснят, без воды. Дальше уже сам справлюсь. Посоветуй, ресурсов плз, анон.
Аноним 21/03/18 Срд 16:56:02  1160135
>>1160134
https://learnxinyminutes.com/docs/python/
Аноним 21/03/18 Срд 16:59:59  1160137
1.png (34Кб, 960x540)
2.png (55Кб, 960x540)
2018-03-21 (2).png (377Кб, 1840x1080)
2018-03-21 (3).png (1375Кб, 1840x1080)
>>1160117
>карта, на которой цветом задана величина функции, которая зависит от координат
еще ни разу никто не формулировал понятие World Space Normal так точно лол

>как привязать цвет к значению функции
я без понятия, тыж программист

>как такую карту натянуть на сферу
3д модель состоит из вершин, каждая из которых имеет координаты и направление(что бы полики нормально шейдились)

так вот что бы натянуть карту нужно модель "развернуть" UV Unwrap т.е разрезать модель по заранее выбранным ребрам и все 3д вершины переложить на Х и У (U и V по нашему) а дальше интересный момент, поскольку тебе нужно 360 вершин то на полюсах придется убрать по одной вершине и тогда развертка превращается в говно, либо ее можно сделать прямоугольной, но тогда будет лютый очевидный стреч

ну и рисовать саму мапу тебе соотсвенно нужно под развертку

сколько цветов нужно отобразить и в каком качестве, анон пиши подробно чо хочешь еба
Аноним 21/03/18 Срд 17:00:18  1160138
15213714163600.png (240Кб, 593x447)
>>1160135
Спасибо тебе анончик.
Аноним 21/03/18 Срд 17:10:21  1160143
3.jpg (476Кб, 1920x1080)
или вот икосфера например
Аноним 21/03/18 Срд 18:18:27  1160176
>>1160138
Это для второй версии если что. Там есть ссылка на третью.
Аноним 21/03/18 Срд 18:20:19  1160178
В чем проблемы могут быть если стоит питон 3.4?
Аноним 21/03/18 Срд 18:36:16  1160182
Анон а как положено, вот я позаимствовал кусок кода с сайта\гитхаба, я теперь должен указать его в исходниках?
Вначале документа? Как это должно выглядеть чтоб не моветон?
Аноним 21/03/18 Срд 18:48:31  1160188
>>1160178
async/await нет, по крайней мере.
Аноним 21/03/18 Срд 19:11:49  1160208
>>1160178
нет аннотаций типов, за константами http-кодов нужно лазить хуй пойми куда или ставить третьестороннюю писичку
Аноним 21/03/18 Срд 19:31:24  1160222
>>1160208
>нет аннотаций типов
Ее уберут в 3.7 и вернут в 4.0
Аноним 21/03/18 Срд 19:32:11  1160225
>>1160182
Смотри под какой лицензией он распространялся, от этого зависит
Аноним 22/03/18 Чтв 00:49:45  1160436
>>1160178
Проблема только установить 3.5 или 3.6. Остальные проблемы надуманные.
Аноним 22/03/18 Чтв 01:28:48  1160449
>>1160182
Если что-то распространённое, например реализация связного списка, можешь вообще забить на копирайт. Ну или дополнительно имена переменным заменить. Ссылку в коде хорошо держать в первую очередь для себя самого. Даже если на тебя начнут залупаться юридически, что крайне маловероятно, просто удаляешь этот кусок и пишешь заново.
Аноним 22/03/18 Чтв 01:40:12  1160452
>>1160077
Использовать функцию проекции сферы на 2д поверхность (причём это может быть как в географических атласах разворот сферы, может быть текстура для натягивания в opengl, может быть как бы фотография сферы с расстояния). Далее попиксельно для всей картинки вычислять в какую точку сферы падает луч, брать её полярные координаты, вычислять S, вычислять функцию цвета от результата S (три компоненты RGB), записать цвет в этот пиксель. Для антиалиасинга советую делать пикселей больше, например в 16 раз, а потом уменьшить картинку до целевого размера.
Аноним 22/03/18 Чтв 03:59:00  1160498
Где можно ознакомиться со списком библиотек под Питон?
В основном графических.
Аноним 22/03/18 Чтв 06:33:09  1160511
>>1160498
Искать. Списка скорее всего не будет, так как питон плохо подходит для графики. Есть по сути стандартная библиотека pillow, есть множество обёрток над сишными к примеру cairo, есть те которые завязаны на 3д апи (opengl), можешь хоть профессиональными рендер-движками управлять из питона в блендере. Если ты тот что со сферой возится, рисуй попиксельно, либо в numpy вычисли всё, потом переведи в pillow и сохрани как картинку.
Аноним 22/03/18 Чтв 07:46:47  1160519
>>1160498
https://github.com/vinta/awesome-python
Аноним 22/03/18 Чтв 08:11:05  1160522
>>1160519
А чому pyglet в раздел GUI ко всяким ткинтеркам и прочит кутям запихнули-то, а не gamedev?
Аноним 22/03/18 Чтв 08:19:22  1160525
>>1160522
Потому что он и относится к ним.
Аноним 22/03/18 Чтв 10:15:23  1160564
>>1160525
Но ведь нет, у него толком виджетов-то даже никаких нет, он скорее для создания графических приложений, а не конкретно интерфейсов. Разумеется, на его базе можно что угодно сделать, и есть всякие pyglet-gui.
Аноним 22/03/18 Чтв 10:54:16  1160580
Посоветуйте ide под линукс. Может есть что то годное, кроме чарма?
Аноним 22/03/18 Чтв 10:55:46  1160581
>>1160580
вскод

>годное, кроме чарма
чарм не годный
Аноним 22/03/18 Чтв 11:00:41  1160582
>>1160580
спидер
Аноним 22/03/18 Чтв 11:01:45  1160584
>>1160582
О, спасибо что напомнил.
Аноним 22/03/18 Чтв 11:07:41  1160586
>>1160580
Очевидный emacs.
Аноним 22/03/18 Чтв 12:04:53  1160617
Аноны, нужно запилить одностраничное приложение, какой фреймворк заюзать?
Хочу попробовать что-нибудь новое и то, что в перспективе может пригодиться(хотя бы для пет прожектов).
Джанго и Фласк уже юзал много раз, сейчас вот между Пирамидой и Ботлом выбираю.
Аноним 22/03/18 Чтв 12:24:54  1160621
>>1160617
aiohttp
Аноним 22/03/18 Чтв 12:41:26  1160627
>>1159952
>так себе утешение
Это и не было утешением. "Гениальные кодеры бывают ленивыми кусками дерьма" близко к "ленивые куски дерьма бывают гениальными кодерами", но ни там не там нет утверждения, из которого можно понять, что если ты "ленивый кусок дерьма", то ты автоматом "гениальный кодер", которому просто нужен манагер.
Аноним 22/03/18 Чтв 12:55:25  1160631
>>1160627
Вот как раз сегодня задумывался о том что импликация это не эквивалентность. Можно прикинуть: даже если 50% гениальных кодеров ленивые жопы, гениев всего 0.1%, а ленивых жоп 95%, то вероятность того что будучи ленивой жопой ты станешь гениальным кодером: 0.5 × 0.001 / 0.95 = 1/1900 ~ 0.0526%
Аноним 22/03/18 Чтв 13:07:55  1160638
>>1159798 (OP)
Подскажите, пожалуйста. Пытаюсь поиграться с tkinter используя pycharm но выходит пикрелейтед. Пакеты установлены в систему (Mint 18). При запуске не через pycharm импортит корректно.
Аноним 22/03/18 Чтв 13:11:42  1160641
>>1160638
Вероятно, у тебя шарм криво настроен, не на то виртуальное окружение или не даже на ту версию пайтона...
Аноним 22/03/18 Чтв 13:22:02  1160644
>>1160641
Вероятно. Но я не понимаю что не так. Вроде он даже видит это tkinter, но подцеплять не хочет.
Аноним 22/03/18 Чтв 13:28:45  1160645
>>1160644
Сделай простой проект из проблемного импорта и print('hui') - покажи весь стек ошибок, который вылезает при его запуске...
Аноним 22/03/18 Чтв 13:29:01  1160646
Безымянный.jpg (374Кб, 713x1457)
Безымянный2.jpg (61Кб, 751x375)
Анон, есть вопросы по первой картинке.
1) Что бля вообще происходит? Я знаю про декораторы функций - этой функции, которые принимают 1 функцию и возвращают одну функцию. Я знаю про декораторы классов - это функция, которая принимает 1 класс и возвращает 1 класс. А что тут делают вот этим @Property. Это же вообще не функция, а класс. Как они используют ее в виде декоратора? Класс же даже ничего не возвращает.
2)Как работает extension? Ведь на него применяются два декоратора (где первый мне непонятен, а второй обычный декоратор функции). Но ведь декораторы работают так: @decorator def foo(): после чего создается object reference с именем foo связанный с результатом работы декоратора. Значит после @Property def extension, extension будет равен результату работы декоратора - объекту класса Property (непонятно как), а после @extension.setter def extension, extension станет равен результату работы декоратора - самому себе. Как это понимать? Второй пик для понимая, что я имею в виду.
Аноним 22/03/18 Чтв 13:33:03  1160647
>>1160646
>@Property
http://pythonz.net/references/named/property/
Аноним 22/03/18 Чтв 13:34:53  1160649
>>1160644
> я не понимаю что не так
>>1160638
>pycharm
Аноним 22/03/18 Чтв 13:35:35  1160650
Screenshot20180[...].png (40Кб, 713x613)
>>1160645
Как-то так.
Аноним 22/03/18 Чтв 13:36:43  1160653
>>1160647
Даже если встроенная property работает так же как и описанная Property, то эта страница не отвечает ни на один из вопросов.
Аноним 22/03/18 Чтв 13:39:57  1160656
>>1160650
У тебя похоже модуль не установлен в том виратуальном окружении, в котором запускается код из шарма. Предположу, что ты его поставил в глобал, а запускаешь в шарме в каком-то из venv-ов.
Аноним 22/03/18 Чтв 13:43:05  1160658
>>1160646
Декоратор может вернуть что угодно. Да в общем-то и принять на вход что угодно. Вот только синтаксис не даст применить его через @ на что-то кроме функции или класса.

То что у тебя в книжке называется дескрипторы. Это как если бы ты переопределил --getattr--, --setattr--, сделал там много if по разным именам атрибутов, и в каждом таком if прописал какое-то кастомное поведение. То есть дескрипторы с их меджик методами вызываются непосредстенно внутренностями питона. Если хочешь посмотреть что там вернули декораторы, никто не воспрещает, возьми да сделай print(..), print(dir(..)), print(type(..)), и тайны приоткроются.
Аноним 22/03/18 Чтв 13:44:31  1160660
>>1160653
По ходу класс тупо реализует методы для работы со свойством. Вложенные классы ведь никто не запрещал?
Аноним 22/03/18 Чтв 13:45:18  1160662
>>1160660
В питоне всё объект.
Аноним 22/03/18 Чтв 13:46:03  1160663
>>1160656
Ставил, я в глобал, да. Но запускаю-то вроде тоже через Python3.5. Или нет?
Аноним 22/03/18 Чтв 13:49:57  1160666
>>1160663
Вроде да, если, конечно, это правильный лаунчер.
Аноним 22/03/18 Чтв 14:26:07  1160684
>>1160666
Проблема оказалась в Минте. Переустановил шарм скачав с сайта а не с менеджера в системе и все заработало.
Аноним 22/03/18 Чтв 14:28:28  1160685
>>1160684
Ох уж эти ваши кривые дистрибутивы... Пользуйся арчем или генту - это единственные два линукса, где все пакеты, включая ядро, используются в неизмененном ванильном виде.
Аноним 22/03/18 Чтв 14:30:01  1160686
Блядь анон, я не понимаю!1 Сука!
Есть список из ключей подсловаря. Пытаюсь применить к нему sorted(listfromkeys), а он мне TypeError: 'dict' object is not callable.
Я уже как только не пытался, пиздец! Что з ахуйня, чё он мне пиздит? Меня уже трисёт нахуй!!!
Аноним 22/03/18 Чтв 14:32:19  1160689
>>1160686
если тебе надо отсортировать словарь словарей по ключам вложенных словарей, то это можно сделать, например, так:
sorted(d.items(), key=lambda x: x[1]['key'])
Аноним 22/03/18 Чтв 14:35:40  1160693
>>1160689
Мне нужен лишь список ключей для "вывода" текста. Ключи -- заголовки, но прежде чем вывести их надо отсортировать. Сам словарь сортировать мне не нужно. Просто этот грёбаный список. Я не понимаю, почему мне говорит тайперрор dict object is not callable, когда это по всем параметрам список, хоть и создан из ключей.
Аноним 22/03/18 Чтв 14:37:04  1160695
>>1160693
Покажи код.
Аноним 22/03/18 Чтв 14:46:21  1160703
>>1160695
Тут особо показывать нечего. Сейчас в терминале не работает то, что работает в коде. Я в ахуе короче! Просто В АХУЕ!
Вот тот код что в строке работает.
3 пик подключаем в терминале ту же базу, выполняем тот же сорт и...
Аноним 22/03/18 Чтв 14:49:21  1160706
>>1160703
ЕБАААААТЬ!
Перезапустил питона в терминале и заработало. СУка ну как так? Как так то блядь? К такому жизнь меня не готовила блядь!
Аноним 22/03/18 Чтв 14:54:05  1160708
>>1160685
>это единственные
щас арчовые репки с ауром уже в любом нормальном дистрибутиве с граф инстллером, манжара топчик например, можно даже сразу с и3 ВМ накатывать

>>1160684
а убунтоподобные загибаются да, каканинал похуй на десктоп, они ушли за баблом на сервера

Аноним 22/03/18 Чтв 18:36:01  1160847
Что я делаю не так то, йопту? https://repl.it/repls/ForestgreenPerfumedLocations

При этом если убрать строку __slots__ то все работает нормально, но я хочу сделать с ней и не понимаю двух вещей. Почему и PyCharm и repl подсвечивают все атрибуты в __init__, говоря, что их нет в __slots__, когда это атрибуты класса дескрипторы же, а не экземпляра? Ну и почему соответственно вываливается с ошибкой "Product' object has no attribute '__id'" Понятно, что его нет, цель setter'a установить этот атрибут.
Аноним 22/03/18 Чтв 18:43:35  1160852
>>1160706
Ты где-то ранее создал словарь, назвав переменную "sorted", очевидно же.
Аноним 22/03/18 Чтв 19:03:43  1160870
>>1160847
Во-первых, ты нахуя в __dict__ объекта лезешь, если сам же __slots__ ему указал? Наркоман?
Во-вторых, кто там атрибуты класса, всё у тебя экземпляра же.
В-третьих, виноват name mangling (гугли), но разбираться в этой каше (я не эксперт, но я бы за такой код премию не дал) лень, но если заменить все "__" на "_", то работает нормально.
Аноним 22/03/18 Чтв 19:46:45  1160887
>>1160870
>нахуя в __dict__
Потому что я хотел проверить, как устанавливаются атрибуты, уже исправил поставив нормальный __str__.
>Во-вторых, кто там атрибуты класса, всё у тебя экземпляра же.
Декораторы добавляют в класс атрибуты id, name и т.д. Питон видя в __init__ self.id, self.name ищет эти имена в словаре. А его нет. Тогда он ищет их в классе и находит их в словаре класса. Значит это атрибуты класса, не?
>В-третьих, виноват name mangling
Знаю что такое, но забыл про него. Заменил name = "__"+atr_name на name = "_{}__{}".format(cls.__name__, atr_name), все работает, спасибо.
>я не эксперт, но я бы за такой код премию не дал
Почему?
Аноним 22/03/18 Чтв 20:42:33  1160919
>>1160621
Не нужно
Аноним 22/03/18 Чтв 22:39:50  1160977
Как во фласке применить before_request только к определенному роуту? Я в принципе придумал как, создать отдельные blueprint'ы для нужных мне роутов, но это хуёво с точки зрения архитектуры. Собственно, сабж.
Аноним 23/03/18 Птн 05:51:35  1161105
>Krita is a Qt-based application. In principle, you can use any Python binding to Qt as long as it's using exactly the same version of Qt that Krita uses.
Вчера релизнулась крита 4.0, помимо всего прочего завезли питония, так что кому нехуя делать и кто хочет потискать кути5 - идите на форума и аскайте художников за реквесты

https://api.kde.org/extragear-api/graphics-apidocs/krita/libs/libkis/html/index.html

https://www.youtube.com/watch?v=fIOhd3xXv-A
Аноним 23/03/18 Птн 07:24:47  1161120
>>1159798 (OP)
Мы, питонисты,
ребята плечисты!
Нас не заманишь
goto мясистым!
Не совратишь нас
синтаксом тегов!
... На линии 8
IndentationError...
Аноним 23/03/18 Птн 10:58:58  1161164
>>1160977
Ебани декоратор и там делай, что нужно, ну или в функциональном стиле передавай в декоратор коллбэк
Аноним 23/03/18 Птн 12:44:31  1161216
Сап аноны, знаю синтаксис но не знаю как кодить, читаю чужой код и мало что понимаю. Сам похожее написать не смогу.
Жду ваши ответы какую книгу начать зубрить.
Аноним 23/03/18 Птн 13:02:06  1161230
>>1161216
Практиковаться. Бросай книжки читать.
https://checkio.org/
https://www.practicepython.org/
Аноним 23/03/18 Птн 14:05:41  1161266
Сап, двач, нужен совет.
Давеча оформил на Google cloud VPS, один хрен 300 баксов в подарок, а хочется потрогать писечку как она есть.
За полгода халявы глядишь чему полезному научусь, подумал я и все заверте... Сразу скажу, что опыта в программировании у меня хуй да нихуя (html и css знаю, на Javascript немного пишу для веба, php на уровне быдлокодера)

Мне нужна доступная инструкция как на платформе гугла развернуть свой веб-проект на Python и Django, (желательно с django CMS) склеить его с базой данных MySQL и сцепить его через Git с моим домашним ломанным pyCharm. как это сделать? Справки гугла не помогают (или это я такой тупой, что не могу въехать)

Допустим я хочу создать сайт (имиджборду, дейтинг, форум, поебать) я иду в Google cloud, регаю аккаунт, получаю 300 баксов на счет, на них могу позволить себе машину в 2 ядра 4 гига на полгода, окей, для обучения должно хватить, беру машину на CentOS или Debian (я хз, что лучше, посоветуйте) и тут начинается непонятная хуйня, доступ по SSH есть, команды работают, куда копать дальше? Как настроить доступ по FTP? Как сделать так, чтобы Python 3.6 работал всегда, а сервер не подсовывал мне 2.7?
Гугл юзал, вторые сутки вникаю, не выходит. До этого спокойно настраивал по мануалам VPS на шаред хосте под php, держал несколько Wordpress сайтов, проблем не было.
Аноним 23/03/18 Птн 14:12:16  1161267
>>1161266
Установить python3. Освоить virtualenv, не пользоваться пакетами дистрибутива, ставить через pip внутри этого virtualenv. Гиту достаточно наличия ssh, хотя я предпочитаю локально написанный скрипт, который делает zip файл, вливает его по scp, далее через ssh -c запускает там определённый набор команд и всё разворачивается. То есть правило хорошего тона это не держать на серваке никаких скриптов отвечающих за деплой, только голый ssh наружу.
Аноним 23/03/18 Птн 14:14:45  1161271
>>1161266
Тебе скорее в сисадминов тред с такими вопросами. В двух словах даже и не объяснить как поднять веб-сервер с пайтон-сайтом... И да, можно всё сделать руками, но сейчас как бы эра девупсов - автоматизация через системы управлениям конфигурациями, микросервисы на докере и всё такое.
Аноним 23/03/18 Птн 14:30:58  1161273
>>1161267 Бро, сразу извиняюсь, если заебываю вопросами:

>Установить python3

Установил 3.6, по запросу # python вываливается 2.7 (понимаю, что так наверное и должно быть, просто я тупой)

>Освоить virtualenv

Вот,информацию, что это - я нашел, не могу дойти, зачем это юзать и в чем преимущества.

> не пользоваться пакетами дистрибутива

не понимаю, о чем идет речь.

>ставить через pip внутри этого virtualenv.

Это ты о Django и остальных инструментах?

>Гиту достаточно наличия ssh, хотя я предпочитаю локально написанный скрипт, который делает zip файл, вливает его по scp, далее через ssh -c запускает там определённый набор команд и всё разворачивается. То есть правило хорошего тона это не держать на серваке никаких скриптов отвечающих за деплой, только голый ssh наружу.

тут все более-менее понятно, инструкцию по привязке Git нарыл, но мне до этого еще как до африки пешком.

Смотри, я полный нуб, о существовании Python узнал пару лет назад, месяц назад прошел курс обучения в приложении Solo learn, со стандартной библиотекой разбираюсь, как завещали.
Суть в чем: везде пишут, что Python и Django - это самые, блять, простые решения и на них веб-проект поднять легче, чем член школьника во время первой ебли, и дескать любой может не отвлекаться на тонкую настройку а СРАЗУ, блять, начинать писать код, а по итогу я луплю в консоль вторые сутки и не могу понять, как мне развернуть свой проект на сервере и иметь к нему доступ.
Есть какие-то пошаговые мануалы, ветки форумов, где это все можно в более-менее доступной форме усвоить?

Есть информация, что кодить лучше начинать с реально поставленной задачи, вот я и хочу сделать понятный мне тестовый проект, пусть он будет велосипедом и никому нахуй не нужен, зато построен в привычном для большинства программистов пайплайне.
Аноним 23/03/18 Птн 14:35:59  1161274
>>1161273
>по запросу # python вываливается 2.7
python3 надо писать же.

>virtualenv
Чтобы все твои зависимости были установлены не глобально, а в отдельную папку - так можно быстро переключиться с одного проекта на другой, например. Делается так:

$ python3 -m venv myname
$ source myname/bin/activate
(myname) $ deactivate

Если тебе надо будет в скрипте запускать из venva, просто указывай путь до пайтона, который в папке myname, а не до системного.

Аноним 23/03/18 Птн 14:37:43  1161275
>>1161271
Да мне бы без объяснений лишних, просто ссылкой, куда пойти.

Понятно, что к админам, но неужели никто тут не разворачивал на своем VPS платформу для работы? Раз уж мимохую вроде меня это понадобилось, наверное, решение где-то должно быть.

кстати, у того же гугла есть готовый солюшен под Джанго, по сути - та же ВМ на Дебиане, но с ней ровно та же история. СЛОЖНА, НИХУЯ НИПАНЯТНА.
Аноним 23/03/18 Птн 14:40:25  1161276
Аноны, вот задумался, а если в Джанге у меня на странице будет две одинаковые формы, как мне выловить обе?
Аноним 23/03/18 Птн 14:41:05  1161278
>>1161273
>Django - это самые, блять, простые решения
На мой взгляд flask проще. Советую с него начать.

>>1161275
Я разворачивал. Очень долго рассказывать что к чему... Можешь вот тут почитать: https://habrahabr.ru/post/120363/
Аноним 23/03/18 Птн 14:43:46  1161279
>>1161275
Что-то одной ссылкой не получается, вот еще вариант с нуля: https://habrahabr.ru/post/250433/
Аноним 23/03/18 Птн 14:45:46  1161281
>>1161274
>python3 надо писать же.

только что осознал собственную никчемность.

>Чтобы все твои зависимости были установлены не глобально, а в отдельную папку - так можно быстро переключиться с одного проекта на другой, например. Делается так:

$ python3 -m venv myname
$ source myname/bin/activate
(myname) $ deactivate

интересное решение, буду пробовать, премного благодарен, стало чуть понятнее.

>>1161278
>Я разворачивал. Очень долго рассказывать что к чему... Можешь вот тут почитать: https://habrahabr.ru/post/120363/

благодарю, сейчас же попробую)
Аноним 23/03/18 Птн 18:45:42  1161411
>>1161274
Лучше использовать venvwrapper.
Аноним 23/03/18 Птн 19:23:07  1161431
1460623005667.png (37Кб, 1127x685)
Пагни нид хелп
Кто-то работал с кубернетис клиентом?
Суть в том что у меня фейлится соединение с https сервером из-за socket ssl проверки, хотя я и сконфигурил verify_ssl в False.
ВТФ???
Как-же заебало это ебучее ssl все время из-за него какие-то проблемы

Нет, подключится к HTTP я не могу
Аноним 23/03/18 Птн 19:44:36  1161446
Анон, я понимаю, что скармливая путь os.path функциям в питоне в виде строки, мне надо или использовать raw string или эскейпить все \ как \\. Но почему при выводе этих путей Питон сам их зачем-то эскейпит как \\?
Аноним 23/03/18 Птн 19:48:43  1161450
>>1161411
Ни в коем случае не лучше.
Аноним 23/03/18 Птн 19:49:30  1161451
>>1161446
Потому что у тебя Ш1ИДОШ5 вместо операционной системы.
Аноним 23/03/18 Птн 19:50:25  1161452
>>1161451
И чо? Сама шинда в cmd пишет пути с одним \
Аноним 23/03/18 Птн 20:38:28  1161471
начал копать фляжку, как организован ввод переменных? где читать? Есть у меня html страница, в ней форма, как запилить что эта форма принимает переменную? Подскажите, дальше как по маслу пойдет.
Аноним 23/03/18 Птн 21:12:47  1161486
>>1161471
Ты ебанутый? В шапке книги про все это есть, надеюсь, ты хотя бы про методы http запроса знаешь?
Аноним 23/03/18 Птн 22:35:20  1161519
>>1161452
Ну эскейпит и эскейпит, тебе жалко, что ли? Это только в интерактивном эскейпит, если что, а print(s) всё ок отображает.
Что интересно, s.__repr__() заэскепит те слеши, которые служили эскейпом изначального, превращяя r'\a' в \\\\a, лол.
Аноним 23/03/18 Птн 22:35:42  1161520
>>1161519
эм, превращая, уж простите.
Аноним 23/03/18 Птн 23:20:33  1161541
В PyCharm'e есть что для создания GUI? Например, создания форм Qt.
Аноним 23/03/18 Птн 23:52:24  1161553
Sup чешуйчатые.
Есть словарь, значения элементов которого тоже словари. Более того значения значений элементов словаря тоже словари. Такой вот многомерный массив.
Выглядит примерно так:

Словарь1

|Элемент 1
|Лист1
|Лист2
|Лист3
|Элемент 2
|Лист1
|Лист2
|Лист3
|Лист4
|Элемент 2
|Лист1
|Лист2
-------------------------
|Элемент n
|Лист1
|Лист2
|Лист3
|Лист4
|Лист5

Вопрос в следующем: Как взять по одному листочку на каждой конечной ветке, таким образом получить множество длиною в количество родительских ветвей листьев? Более того нужно перебрать все возможные комбинации взятия листьев при незнании ни количества ветвей, ни количества листьев, т.е. при неизвестном количестве вложенных циклов.
Гугл говорит через рекурсию, но как это запилить сложна, сложна, непонятна
Аноним 24/03/18 Суб 09:47:20  1161649
У меня у одного бомбит от того что в РФ так мало вакансий на змее? При этом в штатах или ЕС их гораздо больше в % соотношении.

В моей мухосрани-миллионнике открыти 10 вакансий на пайтоне, 50+ на пхп, 30+ на джаве. Что за херня, аноны?
Аноним 24/03/18 Суб 09:53:59  1161652
>>1161649
https://habrahabr.ru/post/322332/
Аноним 24/03/18 Суб 10:49:33  1161665
>>1161649
В миллионом мухосранске в котором я живу не одной вакансии на питоне.
Аноним 24/03/18 Суб 11:12:01  1161670
Сап, питонисты. Подскажите, каким образом можно составить изображение по пикселю, которые поступают последовательно из ком порта? Формат и разрешение известны.
Аноним 24/03/18 Суб 11:14:52  1161671
>>1161670
https://pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.frombytes
Либо putpixel циклом вызывать, что очень медленно, зато универсально.
Аноним 24/03/18 Суб 11:19:24  1161673
HOEC029gJMX8x6B[...].jpg (29Кб, 480x287)
>>1159798 (OP)
Прочитал теорию из книги "Автоматизация рутинных задач..." Свейгарта. Через треть книги начинаются примеры автоматизации, и я в них жестко спотыкаюсь, зависая на каждой строке в попытках понять, зачем оно и почему работает. Плюс очень неудобно из-за того, что электронный формат. Сама книга очень дорогая, жаба душит полторы штуки отдавать, хотя кажется полезной.
Можете подсказать какую-нибудь книжку, которую вот реально не жалко купить, и чтобы она охуенно все расписывала. Типа Лутца вашего, но их же у него много. Есть что-то универсальное?
Аноним 24/03/18 Суб 11:21:24  1161674
>>1161673
Книги не нужны.
Аноним 24/03/18 Суб 11:24:41  1161676
>>1161674
Нужны. Всегда хорошо иметь под рукой мануал в бумажном виде с загнутым уголком на нужной странице.
Аноним 24/03/18 Суб 11:25:44  1161679
>>1161649
Ну хочешь иди работай на пхп. Что тебе ещё сказать? К сожалению кроме питона нужно знать ещё очень и очень много других вещей, и эти вещи часто повторяются где бы ты ни работал, базы данных например.
Аноним 24/03/18 Суб 11:27:16  1161680
>>1161676
Освой grep и текстовые заметки в md/txt/rst, или гуголь и стековерфлоу/заметки в браузере. Намного быстрее чем любая бумага.
Аноним 24/03/18 Суб 11:30:18  1161682
>>1161652
Хорошая статья. В очередной раз убедился в том, что нужно учить не язык, а программирование и уметь продать свой труд.

Сама постановка вопросов "какой язык учить?", "На чем пишешь?" и т.д. - это глупость. Нужно именно учиться программировать в реальных условиях и на тех инструментах, которые сейчас востребованы.
Но чтобы это уметь нужно 1) уметь программировать, 2) постоянно изучать новые технологии (если их стоит изучать, конечно).

А на одном лишь питоне сложно будет.

Повторю то, что я уже много раз говорил.
Первый язык должен быть ассемблер, потом изучаете Си, дальше C++ или Java. Ну а потом можно и скриптовые языки типа Питона или Руби. Понятно, что это не такая четкая схема 1->2->3->4, но что-то типа того.

Ну а битарды и дальше могут продолжать свои "Питон клевый молодежный язык..."
Аноним 24/03/18 Суб 11:30:53  1161683
>>1161674
Двачую, документация питон, гугл примеры использования, всё уже в интернете.
Аноним 24/03/18 Суб 11:31:38  1161685
>>1161680
То есть по факту я переношу то, что уже есть в книге, на цифровой вариант, который у меня уже и так есть и в котором неудобно ориентироваться. Хорошая идея.
Аноним 24/03/18 Суб 11:33:44  1161686
>>1161682
>Первый язык должен быть ассемблер, потом изучаете Си, дальше C++ или Java. Ну а потом можно и скриптовые языки типа Питона или Руби
Хороший совет для тех, кому уже за 20 и они решили попробовать себя в программировании. Дескать, ребята, потратьте еще пару лет на теорию, потом что-нибудь предпринимайте.
Аноним 24/03/18 Суб 11:40:51  1161688
>>1161673
>Автоматизация рутинных задач..." Свейгарта
>Сама книга очень
бесплатная, вот тут https://sites.google.com/view/pypry/ есть видос где индус ее вместе с тобой будет проходить

>>1161674
+

>>1161682
вот этого в президенты шапку кроме ассемблера это клиника, всегда нужно думать о цели в первую очередь и минимально необходымых средствах для ее достижения, а подрочить теч можно и на пенсии

>>1161683
просто иногда надо снять стресс, вытащить наружу свою проблему и поделиться её с понимающим аноном


Аноним 24/03/18 Суб 11:42:59  1161690
>>1161686
>Хороший совет для тех, кому уже за 20
Мир жесток. Работай хоть уборщиком, но асм изучи. Пока ты не понимаешь, как работает проц, ты не программист, а так, быдлокодер.
Но я соглашусь, что асм надо изучать еще в школьные годы. Я сам его изучал, когда мне было 14 лет. Тогда еще был жив васм.ру (сейчас он переродился). wasm.ru - это реинкарнация assembler.ru. А ньюфаги и не слышали.

Потом на одном лишь асме кодить надоело и я начал использовать C. Писал разные утилитки, драйвера для Windows XP. Помню изучал серию статей Four-F по написанию драйверов под WinNT.
Ну а потом начал больше писать на C++ и Perl. Потом ушел из перла и начал вместо него использовать питон. Но скриптовые языки у меня использовались как вспомогательные, а не основные. Если думаешь, на чем писать в продакшен, то выбирай джаву. Ну а для души asm/C++/python.
Аноним 24/03/18 Суб 11:48:57  1161694
>>1161690
>Пока ты не понимаешь с ходу что здесь написано, 0111001101101111011100110110100100100000011010000111010101101001001000000110001001101001011001000110110001101111, ты не программист, а так, быдлокодер.

Аноним 24/03/18 Суб 11:51:21  1161697
>>1161688
>бесплатная, вот тут https://sites.google.com/view/pypry/
Зачем мне, я ее и так читаю. Сказал же, треть книги осилил. Но бэктречить по pdf-файлу, который является сканом, дюже неудобно.
Аноним 24/03/18 Суб 11:56:35  1161703
>>1161694
011100110110111101110011011010010010000001110011011000010110110100100000011001010110001001100001011011100110000101110100
Аноним 24/03/18 Суб 11:57:50  1161705
>>1161694
>0111001101101111011100110110100100100000011010000111010101101001001000000110001001101001011001000110110001101111
Надеюсь, ты это хотя бы сгенерировал, а не писал от руки?
Аноним 24/03/18 Суб 11:58:47  1161706
Почаны, кто-нибудь использовал Gevent в хайдлоаде, как оно, много ли нынче геммороя? Собираюсь делать приложения для анализа кремлеботов и сисянботов и нужно будет собирать из интернета большую биг дату
Аноним 24/03/18 Суб 12:02:03  1161707
>>1161706
Почаны, кто-нибудь использовал Молоток в плетении из бисера, как оно, много ли нынче геммороя? Собираюсь делать поклейку из бумаги и картона и нужно будет много ватманов и ножниц.
Аноним 24/03/18 Суб 12:02:37  1161708
>>1161690
>>Пока ты не понимаешь, как работает проц, ты не программист, а так, быдлокодер.
Блять, вот прям досконально изучать АСМ нахуй не надо, только ознакомиться. Всё равно писать на нем скорее-всего не придётся. Если охота понять как железо работает, лучше не ебаться а ассемблером, а Архитектуру компьютера от Таненбаума почитать, а ассемблер там будет, в целях нужных количествах для ознакомления.
Аноним 24/03/18 Суб 12:06:23  1161710
>>1161708
Поссал тебе на голову.
Аноним 24/03/18 Суб 12:11:44  1161714
>>1161705
яж НАСТОЯИЩЕЙ, никак некоторые
Аноним 24/03/18 Суб 12:28:38  1161718
graph.png (14Кб, 508x424)
>>1161553
Элементарно жи.
Шаг 1. Напиши хотя бы просто рекурсивный обход одной ветки, чтобы получить на выходе список ['a', 'b', 'c', 'd'].
Шаг 2. Заметь, что до точки 'c' обе линии одинаковы, и лишь на c расходятся, значит на этой точке нужно дублировать имеющийся на тот момент список ['a', 'b', 'c'], добав далее к одной копии 'd', а к другой — 'e' (разумеется, рекурсивно вызвав функцию обработки следующего элемента).

Ну и если всё правильно написано, дальше магия сама всё за тебя сделает.
Аноним 24/03/18 Суб 13:09:01  1161738
>Параметры print()
>...
>flush – если задано значение True, поток принудительно сбрасывается в файл. Значение по умолчанию: False.
Кто-нибудь, объясните, что это значит. Нахуя нужен этот флаш?
Аноним 24/03/18 Суб 13:09:04  1161739
Безымянный.jpg (91Кб, 553x222)
https://repl.it/repls/ScientificUnimportantCategories
А как бы ты это сделал, анон? Мне не нрав, что я сначала хуярю целый генератор, чтобы потом применить на него any(), но как по-другому в функциональном стиле сделать я не знаю. (без него сделал бы обычный for который или выбрасывался бы с False, как только встречает неверный символ, или в конце возвращает True).
И как уместить это все в 25 строк?
Аноним 24/03/18 Суб 13:33:42  1161745
>>1161738
http://lmgtfy.com/?q=buffered+stream+flush
Аноним 24/03/18 Суб 13:41:06  1161749
>>1161738
Если ты будешь писать по одному символу, то каждый раз перезаписывать целый сектор на диске размером 512/4096 байт очень дорого. Поэтому всё-всё-всё буферизуется и накапливается в достаточном количестве чтобы записывать один раз. Иногда по одному символу выводить всё-таки нужно, например точечки в терминал для прогрессбара, или для чятиков по TCP передавать маленькие куски текста немедленно, не накапливая на полноразмерный пакет. Вот для этого flush.
Аноним 24/03/18 Суб 13:42:20  1161750
>>1161739
https://repl.it/repls/EverlastingPlainEllipses

>И как уместить это все в 25 строк?
Не писать десятистрочные докстринги к однострочной функции, название которой и так очевидно.
Аноним 24/03/18 Суб 13:44:19  1161752
>>1161749
>Иногда по одному символу выводить всё-таки нужно, например точечки в терминал для прогрессбара
>Вот для этого flush

Вот, тогда следующий вопрос:
Я гуглил побуквенный вывод на экран, и там в примере был этот flush. Я удалил из кода flush, и все работает абсолютно так же:
https://repl.it/repls/ClumsyFirebrickCompilerbug

Так в чем цимес?
Аноним 24/03/18 Суб 13:46:58  1161753
>>1161750
Во, в одну строку решил всё. https://repl.it/repls/LinenGeneralConfig
Аноним 24/03/18 Суб 13:47:12  1161754
>>1161752
Только что запустил этот код в ipython и оно ждёт, затем выплёвывает всю строку разом. Эта штука в браузере не полностью эмулирует реальные ОС.
Аноним 24/03/18 Суб 13:48:36  1161755
>>1161752
>Так в чем цимес?
Очевидно в том, что кто-то другой где-то принудительно вызывал flush, или stdout без буфера в шелле открыт. В интерактивном режиме питон точно вызывает его, например.
Аноним 24/03/18 Суб 13:48:55  1161756
15156997232120.png (64Кб, 734x1108)
>>1161690
>очередные манятеории о том, кто такой настоящий программист, когда на швитом жападе давно разделили российского ПРОГРАММИСТА на три категории
Аноним 24/03/18 Суб 13:50:35  1161758
>>1161754
Ааа, вон оно что. Понятненько. В той ветке форума, где я это гуглил, что-то такое тоже писали, а я недоумевал, что у меня все норм в repl.it
А можно тогда сразу вопрос: у меня там end='' стоит, так вот, если я попытаюсь после этого текста вбить еще одну функцию print(), то второй текст будет на этой же строке, что и первая. Как это починить?
Аноним 24/03/18 Суб 13:51:00  1161759
>>1161753
Бля, охуенно, спасибо не знал; что; в; Питоне; можно; делать; ;
Аноним 24/03/18 Суб 13:52:38  1161760
>>1161758
end по умолчанию '\n'. print каждый раз добавляет к выводимой строке end, а между аргументами вставляет пробелы.
Аноним 24/03/18 Суб 13:53:28  1161762
>>1161758
>второй текст будет на этой же строке, что и первая. Как это починить?
>Я не вылил воду из стакана, и когда я начию в него лить из новой бутылки, перелевается через край. Как починить?
Ты дурак или что?
Аноним 24/03/18 Суб 13:55:12  1161764
>>1161760
Это понятно и не решает моей проблемы.
>>1161762
Ну, так и как закрыть кран, чтобы вода не лилась дальше?
Аноним 24/03/18 Суб 13:57:18  1161766
>>1161764
Решу твою проблему за $20.
Аноним 24/03/18 Суб 13:57:56  1161767
>>1161766
Перевел. Теперь отвечай.
Аноним 24/03/18 Суб 13:59:23  1161769
>>1161764
>Ну, так и как закрыть кран, чтобы вода не лилась дальше?
Ты путаешь. Кран открывает когда ты вызываешь print(). По-дефолту после вызова каждого принта меняется стакан (end="\n"). Если ты делаешь end="", по под краном остаётся тот же стакан, поэтому при следующем вызове print'а вода льётся в тот же стакан.
Догадаешь, как поменять стакан самому?
Аноним 24/03/18 Суб 14:02:01  1161770
>>1161769
Изящно нашел выход:
https://repl.it/repls/ClumsyFirebrickCompilerbug
Аноним 24/03/18 Суб 14:04:45  1161774
>>1161770
Нет, ты дебил. Успехов.
Аноним 24/03/18 Суб 14:06:01  1161775
>>1161774
Ты просто завидуешь моей находчивости.
Аноним 24/03/18 Суб 14:08:30  1161778
>>1161756
Поясни?
Аноним 24/03/18 Суб 14:14:59  1161785
>>1161652
>>1161665
>>1161679
>>1161682

Я наверное не правильно сформулировал бугурт. Мне больше не понятная причина, почему галеры не используют змею для веб-проектов при всех его плюсах?
Аноним 24/03/18 Суб 14:16:33  1161786
>>1161756
>>1161708
>>1161694
Я вам не собираюсь ничего доказывать, но скажу вам следующее.
Если у вас не базы (т.е. фундаментальных знаний), то не удивляйтесь, что вас не будут брать на работу. Это нормально, что студентов без знаний не хотят брать в уже наработанный коллектив.
Но даже если вас возьмут на работу, то максимум, что вам светит - это миддл. Это будет вашим потолком в том случае, если вы скрипткидди. Не плачьтесь потом на имиджбордах, что нет работы.
Аноним 24/03/18 Суб 14:24:09  1161789
>>1161786
В кои-то веки адекват на моих двачах.
Аноним 24/03/18 Суб 14:25:57  1161792
>>1161778
Там есть
1) Programmer - должен писать код, тесты, документацию, выбирать наилучшее решение согласно заданию.
2) Software engineer - это программер + немного аналитик + немного архитектор + общение с заказчиком\проджект менеджером.
3) Computer Scientists - разработка и оптимизация алгоритмов + умение кодить, но не обязательно так же хорошо, как программер

Даже SE нельзя назвать тем, кто должен знать asm, сишку и прочую низкоуровневую шелуху, все зависит от специальность, а именно python\c++\java\js\еще какой нибудь язык developer. Какому нибудь шарписту вообще не важно, как именно работает процессор на уровне asm команд. Не пытайтесь стать универсалом, который знает ВСЕ. it слишком разнообразно, что бы уместить все в голове.
Аноним 24/03/18 Суб 14:30:51  1161796
>>1161786
доширачная зелень приходит сюда что бы ее подбодрили и задали вектор, а не послали нахуй дрочить основы четверть жизни, обозвав унтерменьшом

ведешь себя как занудный старпер, вот рилли, нахуй грузить зеленых ебалой!? или ты думаешь когда анон с дошика перекатится в рестораны с чеком под 10к, и устанет от этого, он сам не догадается дрочнуть фундамент ? ? ? если нет, то он не помидор, и никогда им не будет даже с четвертьвековыми основами

Аноним 24/03/18 Суб 14:32:56  1161798
>>1161792
единственный адекват среди шизофреников-максималистов
Аноним 24/03/18 Суб 14:34:17  1161799
>>1161798
>>1161789
Что-то много адекватов собралось, аж страшно.
Аноним 24/03/18 Суб 14:35:12  1161800
>>1161792
Это все хуета, которая используется менеджментом для составления бумажек. В реале есть просто программисты, которые пишут
1) низкоуровневый код (микроконтроллеры, embedded, ОСи etc)
2) прикладники
3) Ворлд Вайд Въеб и прочие скрипткидди.

Причем последний не обязательно означает, что человек чмо. Это вполне может быть хороший программер, который имеет большой опыт. Просто на среднего такого фронтэндера нельзя полагаться ни в чем.

Вообще, developer - они в строительных компаниях работают. А нормальные люди себя называют programmer. Даже термин software engineer уже постепенно впадает в немилость.

>>1161796
Я просто ответил на вопрос. Тут анон плакался, что ему не дают нет работы, а я поделился своим опытом.
У вас же сразу срезанировало и начался термоядерный бомбеж. Это и понятно, ведь вы не программисты.

Мимо 29лет кун
Аноним 24/03/18 Суб 14:35:14  1161801
>>1161799
>аж страшно
тому шо ты мракобес
Аноним 24/03/18 Суб 14:37:09  1161802
>>1161786
Как бы чтение Таненбаума, которого я предлагал и даст фундаментальные знания по работе железа, причем даже на более низких уровнях, чем уровень архитектуры команд. Или ты предлагаешь страдать ненужной хуйнёй и учиться досконально разбираться во всех изъёбствах ублюдочной x86-64 или какую ты там ещё архитектуру для изучения предлагаешь?
Аноним 24/03/18 Суб 14:39:26  1161805
>>1161802
Ты хоть одну архитектуру на среднем уровне то знаешь? Помог тебе твой Таненбаум?
Аноним 24/03/18 Суб 14:39:27  1161806
>>1161801
Нет, я программист.
Аноним 24/03/18 Суб 14:40:18  1161808
>>1161800
>Это все хуета, которая используется менеджментом для составления бумажек
Кто сам-то? Пруфы того, что ты охуеней тех, кто придумал все это есть?
Аноним 24/03/18 Суб 14:42:01  1161809
>>1161808
Он же написал:
>29лет кун
Это СРАЗУ же ставит все точки над i, и его мнение — закон.
Аноним 24/03/18 Суб 14:43:54  1161810
>>1161808
Какие тебе пруфы нужны? Пачки денег в подвале? Паспорт США с супом?

Если ты еще не понимаешь, что вся эта терминология не используется программистами, а используется менеджментом для составления бумаг наверх, то что я могу сделать?

>>1161809
Тот меня называл старпером.
Аноним 24/03/18 Суб 14:46:43  1161813
>>1161810
>Если ты еще не понимаешь, что вся эта терминология не используется программистами, а используется менеджментом для составления бумаг наверх
А у нас ее программисты используют
Аноним 24/03/18 Суб 14:47:29  1161814
>>1161805
Как бы я низкоуровневым программированием не занимаюсь, потому на АСМ не пишу, нахрен мне это не надо. Но в случае чего, ассемблерные листинги читать могу и что там происходит понимаю. (Пришлось кстати однажды с этим поебаться, так как в одном проекте компилятор в определенных условиях лютую хуйню выдавал, которая не работала)
Я тебе о том, что чтобы понимать, как в принципе работает ДВС не нужно уметь перебирать конкретный мотор батиной девятины.
Аноним 24/03/18 Суб 14:47:57  1161815
>>1161810
>меня называл старпером
ты же не подумал что это как то коррелирует с возрастом?

насколько надо быть умным и одаренным ПРОГРАММИСТОМ что бы с такой неистовой силой отрицать чужое мнение и выставлять свое, как единственно правильное и возможное!?
Аноним 24/03/18 Суб 14:51:41  1161819
>>1161815
>с такой неистовой силой отрицать чужое мнение и выставлять свое, как единственно правильное и возможное!?
Я просто сказал, что думаю. Еще раз, антош.
Тут есть два типа людей:
1) имеют базу и работают.
2) плачутся, что им не дают.

>>1161814
Ты не можешь найти работу?
Аноним 24/03/18 Суб 14:54:00  1161823
>>1161819
>Ты не можешь найти работу?
Нет, с работой у меня всё норм. Просто покоробили заявления о том, что зелёному неприменно нужно учить ассемблер иначе он нахуй не нужен
Аноним 24/03/18 Суб 14:57:00  1161825
>>1161823
Желательно изучить. Но если ты не имеешь времени это сделать сейчас, то можешь сделать потом.
Аноним 24/03/18 Суб 14:57:43  1161826
>>1161825
>Желательно изучить
Зачем?
Аноним 24/03/18 Суб 14:59:12  1161827
>>1161826
Затем же, зачем знать основы электричества при проводке проводов для создания новой розетки.
Аноним 24/03/18 Суб 14:59:14  1161828
>>1161819
>Тут есть два типа людей:
1) работники, работают с тем что имеют
2) нытики, всегда будут ныть

это типы личности антош иди почитай гороскоп и не пытайся кого-то сделать лучше это бесоплезно
Аноним 24/03/18 Суб 15:00:23  1161829
>>1161827
>при проводке проводов для создания новой розетки
что ж ты такое пишешь содомит, аргх
Аноним 24/03/18 Суб 15:01:56  1161830
>>1161827
Вот я пишу такой на жабе\шарпе, работаю с абстракциями, какая разница для меня что там jvm\clr процессору выдает?
Аноним 24/03/18 Суб 15:04:08  1161832
>>1161826
>Зачем?
Это основы основ. Даже если ты изучаешь питон, то тебе нужно изучить, как работает его виртуальная машина (которая тут называется интерпретатором).

>>1161828
>это типы личности антош
Соглашусь. Я никого не пытался менять. Просто выразил свое мнение на вопрос, почему у него нет работы. А в итоге началась бомбежка.
Аноним 24/03/18 Суб 15:05:39  1161833
>>1161832
>Просто выразил свое мнение на вопрос, почему у него нет работы
Ты привязал это к знаниям низкоуровневых языков, а не к типу личности
Аноним 24/03/18 Суб 15:07:17  1161834
>>1161833
>Ты привязал это к знаниям низкоуровневых языков, а не к типу личности
И из-за этого случилась бомбежка?
Аноним 24/03/18 Суб 15:07:59  1161835
>>1161832
>Даже если ты изучаешь питон, то тебе нужно изучить, как работает его виртуальная машина
Зачем? >>1161830
Аноним 24/03/18 Суб 15:11:32  1161837
>>1161835
Затем, что если ты не знаешь, что под капотом, то ты не программист. Твой потолок - это мидл, но с возрастом тебя уже не будут брать никуда.

Просто если ты не хочешь ни в чем разбираться, то у тебя нет воли к тому, чтобы учиться. Я когда был маленький, то всегда разбирал всякие вещи правда потом не мог собрать и из-за этого получал пиздюлей, но меня это не останавливало.

А вот у тебя, видимо, нет желания разбираться, что там за этими абстракциями. Это значит, что ты плохой программист. Хороший программист смотрит вглубь.
Аноним 24/03/18 Суб 15:13:58  1161838
>>1161837
>то ты не программист
Определение программиста в студию
Аноним 24/03/18 Суб 15:16:03  1161840
>>1161838
Определение спроси у своей мамы. Твоя мама всегда лучше знает, что для тебя лучше.
Аноним 24/03/18 Суб 15:16:52  1161841
>>1161840
Какое же ты ЧСВшное мудло, божечки мои.
Аноним 24/03/18 Суб 15:18:06  1161842
>>1161841
Что мама сказала?
Аноним 24/03/18 Суб 15:18:54  1161843
>>1161840
Вот сделали конкретные определение с разделением обязанностей >>1161792
Если ты не можешь составить такое же четкое определение в рамках своего понимая настоящего программиста, то ты не можешь говорить о том, кто такой настоящий программист, а кто нет
Аноним 24/03/18 Суб 15:19:45  1161845
neon14.jpg (1048Кб, 1400x933)
>>1161832
>то тебе нужно изучить, как работает его виртуальная машина
ок, но на том же примере с УКЛАДКОЙ кабеля для ПИТАНИЯ предварительно СМОНТИРОВАННОЙ розетки, мне вовсе не обязательно знать что по жилам кабеля протекает направленный поток заряженных частиц, все что нужно знать — так это не браться голыми руками за два оголенных провода, вот и всё

так и с машиной твоей, в любом учебнике по языку есть введение на пару страниц, этого будет достаточно

из спортивного интереса ты свободное время ты всегда можешь подрочить любую литру какую хочешь, хоть блять Ландао, он ведь тоже дохуя полезный, а чо ебать

но не надо этим засирать голову доверчивому анону, он сюда приходит пушо здесь все его друзья, а они его так жестко наебывают, не надо так занудная хуила блядь
Аноним 24/03/18 Суб 15:22:46  1161846
>>1161845
Я просто ответил анону, почему ему не дают.
Аноним 24/03/18 Суб 15:23:30  1161847
>>1161830
Например для того, чтобы потом не охуевать и не ломать голову из-за чего у приложения в продакшене время от времени случаются дикие провалы по производительности, да такие, что приложение половину запросов в эти моменты проёбывает. (Тру стори из реальной практики, было такое. jit промахивался с предположениями относительно большого куска кода, а потом при промахе, деоптимизировал его и вываливал в интерпретацию)
Аноним 24/03/18 Суб 15:25:49  1161848
>>1161846
>ему не дают
БЛЯТЬ НИ РАЗУ НЕ ЗА НЕЗНАНИЕ СУКА ЕБАННОГО АСМА И УСТРОЙСТВА Х86 ебанный ж ты по голове перестань уже нагло врать и подменять понятия, все равно что с телками, ты будешь говорить анону с двача что ему не дают за всратое ебало, сука я понел ты траллируешь нас, а мы блять горим, больной ублюдок
Аноним 24/03/18 Суб 15:32:07  1161849
>>1161848
Ты не программист если не знаешь, что такое Scale-Index-Base.
Аноним 24/03/18 Суб 15:34:48  1161851
>>1161849
>Ты не программист
я девелопер, мне главное что бы работало, сносно работало, а чо там как там, я узнаю по ходу решения задачи, благо в рокетсаенс я не лезу
Аноним 24/03/18 Суб 15:38:15  1161853
>>1161851
На стройке работаешь? Прораб или раб?
Аноним 24/03/18 Суб 15:47:01  1161857
>>1161853
геймдевелопер же, но и таджика от кыргыза отличить сумею, а прорабы достойнейшие из людей, зарабатывают деньги тяжелым трудом, один таджик четверых руснявых алканов стоит, и яму под септик выкапывает за день

и я вообще не понел откуда такой негатив к ручным профессиям? конкретно мне для воссоздания виртуального мира нужна информация из реального, пусть не вся она релевантна, но знать наверняка это невозможно, так что иди нахуй комрад
Аноним 24/03/18 Суб 17:02:43  1161891
Друзья, с помощью Celery можно раскачегарить requests на полную катушку?
Аноним 24/03/18 Суб 17:43:03  1161907
>>1161690
>>1161786
>>1161800
>Ворлд Вайд Въеб и прочие скрипткидди
>>>1161837
>твой потолок - это мидл

Как же проигрываю с этого мамкиного тру-погроммиста. Потратил молодость на изучение ассемблера, молодец.

Также проигрываю с тех, кто ведется и бомбит на толстоту про то что "в синьоры" не возьмут если в машинный код не можешь.
Аноним 24/03/18 Суб 18:10:22  1161912
>>1161907
>Потратил молодость
он ведь не тян что бы переживать но толстый пиздец это стыдоба да
Аноним 24/03/18 Суб 18:40:26  1161920
А какая книга по питону есть для нуфага в программировании с задачами после каждой главы?
Аноним 24/03/18 Суб 18:45:09  1161923
>>1161920
Я и мой питон, Педро Урдемалеса
Аноним 24/03/18 Суб 18:46:25  1161924
>>1161923
Заквакал аж.
Аноним 24/03/18 Суб 19:15:46  1161933
>>1161907
>Потратил молодость на изучение ассемблера, молодец.
Довольно равномерно развивался по всем фронтам. Завидуй.
Аноним 24/03/18 Суб 19:18:38  1161937
14836318569190.png (128Кб, 600x600)
>>1161907
>Потратил молодость
SOOOQA
Аноним 24/03/18 Суб 19:26:38  1161944
Питонисты/пайтонисты/питонеры, поясните, среди вас действительно есть фрилансеры способные заработать денег с помощью пайтона, или это все троллинг уровня 300кк/наносекунду?
Аноним 24/03/18 Суб 19:26:53  1161945
Ну че вы тут за срач развели. Настоящий программист это тот, который в течении года клавиатуру защищал и пиксели в зеленый цвет красил, чтобы красиво было. Не служил не программист.

А теперь помоги мне с домашним заданием нет. Вот нужно из кучи файлов отсортировать те, которые ещё не протухли. Я думаю взять текущее время time.time() и в цикле итерировать файлы, брать у каждого os.getmtime(), находить разницу с текущем и делить на количество секунд в сутках. Вот про секунды вопрос. Я хотел написать разница_в_секундах//(246060). И подумал. Питон будет это произведение считать каждый раз для каждого файла? Это нехорошо. Тогда может написать разница_в_секундах//86400. Но Питон про читаемость и понятность кода, а что это за 86400 такие? Тогда может вне цикла определить секунд_в_сутках = 246060, а в цикле писать
разница_в_секундах//секунд_в_сутках? Как максимально красиво и pythonic way?
Аноним 24/03/18 Суб 19:27:53  1161947
>>1161945
БЛЯТЬ ЕБАНАЯ РАЗМЕТКА СУКА. вместо 246060 должно быть 24 умножить на 60 умножить на 60.
Аноним 24/03/18 Суб 19:29:20  1161949
>>1161944
Если твои знания и опыт ограничены питоном и его фреймворками, то у меня для тебя плохие новости.
Аноним 24/03/18 Суб 19:35:27  1161952
>>1161907
>Также проигрываю с тех, кто ведется и бомбит на толстоту про то что "в синьоры" не возьмут если в машинный код не можешь.
Если посмотришь на мои посты, то в начале я даже не троллил, а вполне серьезно говорил. Но когда я столкнулся с непонимаением и неадекватом, то почему бы не потроллить?
Аноним 24/03/18 Суб 19:37:18  1161954
>>1161945
>>1161947
>вместо 246060 должно быть 24 умножить на 60 умножить на 60.
Все говно анон, иди ка лучше поучи хаскель
Аноним 24/03/18 Суб 19:37:26  1161955
>>1161949
Я наслушался охуительных историй от друга моего друга, который затирает, что он успешный мамин фрилансер на пайтоне. Я чую пиздеж. Как его вывести на чистую воду?
Аноним 24/03/18 Суб 19:38:52  1161956
>>1161955
>Как его вывести на чистую воду?
Ректальным нагреванием
Аноним 24/03/18 Суб 19:39:35  1161958
>>1161955
>Как его вывести на чистую воду?
А зачем его выводить на чистую воду? Ты ему начинай втирать, что у тебя каждый день новая телка, а он потратил молодость на свой питон. Пусть его теперь дрочит.
Аноним 24/03/18 Суб 19:46:31  1161966
Поясните за щёку, пожалуйста, на примере последовательности Фибоначчи:
если я указываю верхний предел последовательности и пишу
element = first_element + n
t_list.append(element)
first_element = n
n = element
То всё вроде нормально и в списке наибольшее число меньше указанного предела.
Однако если я напишу
element = first_element + n
t_list.append(element)
first_element, n = n, first_element + n

То наибольшее число выходит за границы предела.
Почему так?
Аноним 24/03/18 Суб 19:52:30  1161975
>>1161954
>Все говно анон
А как тогда надо?
Аноним 24/03/18 Суб 19:53:13  1161977
>>1161966
Всё, вопрос снят.
Аноним 24/03/18 Суб 21:46:39  1162042
Аноны, как мне нормально написать код? Думаю вы поймете что я хочу сделать :
from threading import Thread
def func(number):
print('add',number)
t3, t4 = Thread(target=func, args=[4]), Thread(target=func, args=[4])
t1, t2 = Thread(target=func, args=[4]), Thread(target=func, args=[4])
t1.start(), t2.start(), t3.start(), t4.start()
t1.join(), t2.join(), t3.join(), t4.join()
Аноним 24/03/18 Суб 21:51:38  1162048
Есть сайт на джанго с большим количеством зарегистрированных людей. Как система будет распределять ипользование urllib клиента, ?
Аноним 24/03/18 Суб 21:52:05  1162049
Надо заменить в списке чётные элементы на 1, а нечётные на остаток деления индекса этого элемента на 5.
https://ideone.com/aMQxTx
Что не так?
Аноним 24/03/18 Суб 22:04:30  1162059
>>1162042
a = [Thread(target=func, args=[4]), Thread(target=func, args=[4]), Thread(target=func, args=[4]), Thread(target=func, args=[4])]
for th in a:
a.start()
for th in a:
a.join()
Аноним 24/03/18 Суб 22:05:19  1162060
>>1162049
У тебя как бы в y значение лежит, а не индекс.
Аноним 24/03/18 Суб 22:06:17  1162061
>>1162059
fix. th вместо а, конечно же
Аноним 24/03/18 Суб 22:06:45  1162062
>>1162059
Тогда уж
a = [Thread(target=func, args=[4]) for i in range(4)]
Аноним 24/03/18 Суб 22:44:52  1162075
>>1162042
>from threading import Thread
Зачем так писать?
Аноним 24/03/18 Суб 22:45:48  1162077
>>1162062
>>1162061
А есть какое-то по-лучше решение? Я думал в многопоточности, можно как-то по-другому изъебнуться
Аноним 24/03/18 Суб 22:47:47  1162080
>>1162075
А какая разница? Результат-то один и тот же
Аноним 24/03/18 Суб 22:50:16  1162082
Так ты спроси конкретно что ты хочешь, а не "как сделать нормально?"
Аноним 24/03/18 Суб 22:52:34  1162083
>>1162082
Хочу изъебнуться красиво, что-бы 10 потоков не писать на 10 строк. >>1162062 Этот анон передал что я хотел. Но я все таки думал что там можно по-другому это реализовать
Аноним 24/03/18 Суб 22:59:44  1162087
>>1162080
Тут в прошлом треде один многомудрый анон втирал за склонность разработчика к лени. Зачем писать два лишних слова? А если тебе нужны две функции? Три? Будешь их через запятую перечислять?
Аноним 24/03/18 Суб 23:14:24  1162098
>>1162087
>Зачем писать два лишних слова?
Чтобы потом сэкономить и писать Thread, вместо threading.Thread, например.
Аноним 25/03/18 Вск 01:23:07  1162129
Господа, я тут получил свое первое тестовое задание и понял, что ничего не умею. А суть вот в чем: есть JSON https://pastebin.com/emW0CQjd

И есть 3 csv файла, которые имеют следующую структуру: https://pastebin.com/6JqT94DA

Задача написать скрипт который будет считывать данные из всех csv и обновлять мой исходный JSON файл.

Сделанные шаги:
1) Считать все csv-файлы
2) Создать либо список списков, где базовым элементом будет строка параметра либо словарь с ключом-названием документа.
3) Найти общие строки-параметры для 3 юзеров
4) ???
5) Загрузить это всё обратно в JSON без потери изначальной формы (Так бы я уже давно просто поменял всю структуру json'a под юзеров, но увы).

Так вот, я реально не понимаю, что мне делать. Строить страшные конструкции с миллионом if и for кажется убогим вариантом, да и скорее всего я что-то упущу. Может быть тут есть какое-то более приемлемое решение?
Аноним 25/03/18 Вск 01:30:58  1162133
2018-03-25 01-3[...].png (528Кб, 824x834)
>>1162129
Ты даже хост нормальный выбрать не можешь...
Аноним 25/03/18 Вск 01:37:58  1162135
>>1162133
Похоже сегодня не мой день.
Аноним 25/03/18 Вск 02:04:12  1162138
believer.jpg (68Кб, 312x516)
>>1162129
>тестовое задание
Аноним 25/03/18 Вск 03:14:19  1162148
Допустим есть сервер на фласке. На сервере хранится 3 скрипта. В этих скриптах - GET запросы к серверу. Как убедиться, что GET запросы были отправленны именно со скриптов, именно от пользователя, который эти скрипты скачал с сервера, а не например через какой-то онлайн сервис по генерации запросов? Верификация по айпи - хуета, так как у пользователя может быть динамический ойпи, кастомные хэдеры можно так же подменить, или вставить в тех же онлайн сервисах. Есть ваще исходы какие-нибудь?
Аноним 25/03/18 Вск 03:32:06  1162152
>>1159798 (OP)
Как долго с пхп укатиться на питон? Стоит ли? Тяжело работу найти?
Аноним 25/03/18 Вск 04:13:44  1162157
>>1162148
Шифрование с помощью открытого и закрытого ключа было изобретено в 1976 году Уитфилдом Диффи и Мартином Хеллманом (под влиянием работ Ральфа Меркле). Они основаны на том, что на принимающей и отправляющей стороне рассчитывается т.н. односторонняя функция, и отправитель и получатель передают друг другу два числа, позволяющие получить ключи для шифрования.

Дальше сам гугли.
Аноним 25/03/18 Вск 04:42:42  1162162
>>1162152
>Как долго с пхп укатиться на питон?
Чай, не Хаскель, быстро схватишь.
Аноним 25/03/18 Вск 07:52:29  1162180
>>1162098
Считается, что так тяжелее воспринимать код.
Аноним 25/03/18 Вск 09:39:22  1162193
02116b456e8e530[...].jpg (69Кб, 600x450)
Господа, посоветуйте пожалуйста гайдов/туториалов/инструкций по созданию Django проекта. В библиотеке в шапках смотрел, там только справочники. Нужен именно пошаговый гайд для долбоебов, я так лучше воспринимаю, а уж потом углубляюсь в документации.
Аноним 25/03/18 Вск 09:41:26  1162194
>>1162193
https://tutorial.djangogirls.org/ru/
Аноним 25/03/18 Вск 10:18:27  1162202
>>1162180
Далеко не всегда и не везде, тем более если значение очевидно и понятно и без префикса модуля.
Да даже тот же
>from x import •
используется в стандартных библиотеках иногда.
Аноним 25/03/18 Вск 11:02:23  1162218
>>1162194
Огромное спасибо!
Аноним 25/03/18 Вск 11:11:22  1162221
>>1162129
Вкатываюсь и попытаюсь это сделать, если нормально объяснишь, что тебе нужно. Потому что я пока не понимаю. Для каждой строки csv надо найти, есть ли команда с заданными модулем, тестом и функцией, и если да, добавить в параметры этой команды юзера (который указан только в имени самого csv), а если нет - создать? Так что ли?
Аноним 25/03/18 Вск 11:36:55  1162230
PK1MwxwtSYp7i0a[...].png (690Кб, 569x721)
Today I learned, что в питоне есть аналог Logo. Сижу, рисую разноцветные лабиринты, как в детстве.
Аноним 25/03/18 Вск 11:53:21  1162234
Блять, я тупой. Я не понимаю функцию def. Почему в одних примерах пишут, например, def function(): ..., а в других def function(time)? Почему в первом случае скобки пустые, а во втором там стоит переменная? Что, если в во втором случае я задефайню функцию, но переменную напишу другую? Как это, блять, работает?
Аноним 25/03/18 Вск 11:54:19  1162235
>>1162221
Верно. Если дословно:
Изменения могут быть следующие:
1) Добавлена новая команда
2) Удалена команда
3) Изменена команда (стала доступна для другого набора пользователей, перенесена в другой модуль, изменена вызываемая функция)
Аноним 25/03/18 Вск 12:38:02  1162257
>>1162230
Покажи. Подобный аутизм можно даже в трядэ в майнкрафтах либо через аддон opencomputers, либо генерируя непосредственно NBT не запуская игру. Залипнуть можно надолго, но все эти алгоритмы с плотным размещением очень уж нетривиальные.
Аноним 25/03/18 Вск 12:40:22  1162260
>>1162234
def это не функция, а ключевое слово языка, позволяющее определять функции. То что в скобках ты напишешь собственно полностью под твоим контролем. Можешь много параметров затребовать, можешь ни одного, в чём проблема-то?
Аноним 25/03/18 Вск 12:42:24  1162262
>>1162235
Ну вот как я себе это представляю. Вложенных циклов дохуя, да, но if'ов вроде нормально. Не представляю, как без них можно проверять наличие команд и прочей шелухи. Другие аноны тоже оцените если можете.
https://repl.it/repls/EthicalAbandonedMachinecodeinstruction
лолирую с имен, которые repl генерирует
Аноним 25/03/18 Вск 12:45:01  1162263
>>1162180
Вот таких как ты я чёт готов душить и расстреливать. Гугл не авторитет. Если у тебя файлы больше 1000-2000 строк, там да, это помогает. Но с другой стороны, такие большие файлы уже можно бы и поразбивать. Ещё бывает названия импортируемых фунции слишком generic лучше переименовать from os.path import exist as file_exists.
Аноним 25/03/18 Вск 12:45:56  1162267
>>1162162
Хаскель не такой уж сложный.
Аноним 25/03/18 Вск 12:48:49  1162269
>>1162048
https://www.youtube.com/watch?v=MGxAtO5n9SY
Аноним 25/03/18 Вск 13:05:46  1162286
>>1161541
Бамп вопросу. Есть ли в PyCharm средства для разработки GUI?
Аноним 25/03/18 Вск 13:08:51  1162292
>>1162269
Ну допустим, есть веб сервис в котором зарегистрированные люди могут работать по api с другим сайтом, людей больше чем 1. Для работы с api другого сервиса, нужен будет http клиент
Аноним 25/03/18 Вск 13:13:05  1162294
>>1162286
Нету , для работы с pyQt есть божественный Qt дизайнер, в котором рисуются формочки у wxpython тож есть какой-то дизайнер и у Gtk тож есть дизайнер
Аноним 25/03/18 Вск 13:19:32  1162303
>>1162263
>Гугл не авторитет
А PEP8?
Аноним 25/03/18 Вск 13:21:15  1162304
>>1162257
Черепашка.
import turtle
draw = turtle.Pen()
for i in range (5, 500, 5):
    draw.forward(i)
    draw.left(90)
Аноним 25/03/18 Вск 13:21:45  1162305
>>1162292
Нужен. urllib/requests блокирующие клиенты, то есть у тебя будет тредпул ограниченной размерности. Можешь ещё перейти на асинхронные дилды. Можешь соединения с определёнными сервисами тоже не закрывать раньше времени.
Аноним 25/03/18 Вск 13:24:28  1162309
>>1162303
В pep8 не рекомендуют кастрировать язык. Если это так хуёво импортировать отдельные классы из модуля, напиши гвиде пеп пропозал вырезающий это из языка к ебени матери.
Аноним 25/03/18 Вск 13:25:26  1162311
>>1162304
No module named 'tkinter'
Ай.. у меня питон собран без поддержки tk. Но забавно, прямо в стдлибе.
Аноним 25/03/18 Вск 13:30:50  1162314
>>1162309
Рекомендуется абсолютное импортирование, так как оно обычно более читаемо и ведет себя лучше (или, по крайней мере, даёт понятные сообщения об ошибках) если импортируемая система настроена неправильно (например, когда каталог внутри пакета заканчивается на sys.path):
Аноним 25/03/18 Вск 13:31:40  1162315
>>1162311
>забавно, прямо в стдлибе
А то!
Аноним 25/03/18 Вск 13:35:44  1162317
2018-03-25133527.jpg (67Кб, 756x708)
>>1162315
Аноним 25/03/18 Вск 13:35:54  1162318
>>1162262
Пытаюсь разобраться, пока у меня появляется "-f" в параметре user. Наверно, что-то делаю не так.
Аноним 25/03/18 Вск 13:39:56  1162323
>>1162314
Что ты понимаешь под абсолютным импортированием? Покажи примеры по каждому пункту в стиле говно|охуенно:
>более читаемо
>ведет себя лучше
>даёт понятные сообщения об ошибках
Ну и непонятные заодно напиши.
>импортируемая система настроена неправильно
Надо что-то настраивать ещё?
>каталог внутри пакета заканчивается на sys.path
Это как?
Аноним 25/03/18 Вск 13:40:53  1162324
>>1162262
name ведь наверняка уникальным должно быть
Аноним 25/03/18 Вск 13:45:04  1162330
>>1162262
Если бы я оценивал твой код, на тестовом задании бы собес и закончился.

Во-первых, пытаешься работать с параметрами командной строки напрямую вместо argparse, во-вторых, парсишь csv руками вместо стандартного модуля => не знаешь стандартную библиотеку.

(линтер я не включал - лениво) комментарии не по pep, строки совсем не 80 символов => понятия о code-style не имеешь.

* по поводу самого кода - такое обычно называют индусо-кодом или лашпекодом, а в приличных местах даже пиздят за это, и дополнительно пробивают c ноги за магические строки в коде.

>original = json.load(fin)["commands"]
На кой ты здесь поломал оригинальную структуру? чтобы потом в конце дампить `{"commands": original}`?

>if len(sys.argv) > 1:
раз уж пишешь свой говнокод, то поменяй условие в обратную сторону и заверши скрипт с описанием почему ты это сделал, вместо того, чтобы наращивать вложенность (касается всех твоих if)

>user+".txt"
все что угодно - join, f"", %, format, но только не конкатенация строк плюсиком

>...
по поводу структуры кода и возможности его переиспользовать и говорить не приходится.
Аноним 25/03/18 Вск 13:45:35  1162331
>>1162323
Это выдержка из PEP, блять. Вопросы к составителям.
Аноним 25/03/18 Вск 13:51:39  1162336
>>1162042
threadPool используй
Аноним 25/03/18 Вск 14:19:38  1162347
>>1162267
Что такое монада?
Аноним 25/03/18 Вск 14:20:33  1162348
>>1162330
>argparse
Зачем мне использовать его тут, если единственные команды, которые будет кушать мой скрипт - имена .csv файлов?
>стандартный модуль csv
Я знаю про него. И опять - зачем он тут? В скинутом примере csv максимально простой, предполагаю, что остальные выглядят так же. Как и применение argparse это мне кажется пушкой по воробьям. Зачем?
>комментарии не по pep, строки совсем не 80 символов
В смысле не по пеп? 2 пробела от самого кода, #, пробел, комментарий. PyCharm завещал так делать. Та же PEP8 в Pycharm'е говорит про строки в 120 символов.
>по поводу самого кода
Ну а что не так то с самим кодом? Итерирую csv, беру из них необходимые параметры, ищу нужную команду в оригинале, изменяю/добавляю, если нет. Как это по другому сделать?
>На кой ты здесь поломал оригинальную структуру?
Оригинальная структура представляет из себя словарь с одним единственным айтемом. И нафига мне его через всю программу тащить, когда можно тащить сам айтем? чтобы везде в остальной программе не писать original["commands"]
>раз уж пишешь свой говнокод, то поменяй условие в обратную сторону
Тогда придется писать что-то типа sys.exit() или как он там. Лишняя строка, не?
>все что угодно
Зачем эти ненужные усложнения? Когда нужно вывести большую красивую строку - делаю их. Но тут то зачем?
>по поводу структуры кода и возможности его переиспользовать и говорить не приходится
Ну а ты как бы сделал? Я думал нахуярить coroutine'ов и сделать pipeline раз я их только выучил, хуле и нет, но конечная цель - поиск совпадений name,function,module все равно пришлось бы делать во вложенных циклах. По-другому я не придумал.

Надеюсь на конструктивный ответ.
Аноним 25/03/18 Вск 14:23:51  1162349
лейбниц.jpg (275Кб, 1200x1481)
>>1162318

Вечная неделимая частица.
Аноним 25/03/18 Вск 14:32:32  1162353
>>1162129
Я так вижу понял:
https://repl.it/repls/ScaredTragicAddress
Аноним 25/03/18 Вск 15:05:05  1162371
>>1162348
>argparse
>Зачем мне использовать его тут, если единственные команды, которые будет кушать мой скрипт - имена .csv файлов?
Как минимум, чтобы я мог сделать `./main.py --help` не заглядывая в код.

>стандартный модуль csv
>Я знаю про него. И опять - зачем он тут? В скинутом примере csv максимально простой, предполагаю, что остальные выглядят так же. Как и применение argparse это мне кажется пушкой по воробьям. Зачем?
Затем, что писать собственные велосипеды стоит в контексте саморазвития, во всех остальных случая стоит использовать готовые решения. В данном случае это готовое решение есть в стандартной библиотеке и не несет какого-то оверхеда. Помимо этого решение c argparcse/csv предоставляет гибкость и простоту расширения, чего нет в твоем коде.

>комментарии не по pep, строки совсем не 80 символов
>В смысле не по пеп? 2 пробела от самого кода, #, пробел, комментарий. PyCharm завещал так делать. Та же PEP8 в Pycharm'е говорит про строки в 120 символов.
> for command in original: # looking for command with same name,module and function
Сдается, что кто-то здесь пиздит (и, 121 символ, что даже твой pycharm должен подчеркнуть как code-smell)

>по поводу самого кода
>Ну а что не так то с самим кодом? Итерирую csv, беру из них необходимые параметры, ищу нужную команду в оригинале, изменяю/добавляю, если нет. Как это по другому сделать?
декомпозировать, разделить обязанности, предусмотреть варианты возможных изменений в текущем коде и инкапсулировать их, предусмотреть возможные варианты развития и не усложнять их.

>На кой ты здесь поломал оригинальную структуру?
>Оригинальная структура представляет из себя словарь с одним единственным айтемом. И нафига мне его через всю программу тащить, когда можно тащить сам айтем? чтобы везде в остальной программе не писать original["commands"]
working_chunk = original["commands"]
from ... in working_chunk:
pass
json.dump(original)

>раз уж пишешь свой говнокод, то поменяй условие в обратную сторону
>Тогда придется писать что-то типа sys.exit() или как он там. Лишняя строка, не?
а еще можно бросать исключения с детальным описанием проблемы и обработкой их в одном месте и корректным завершением приложения - еще больше строк.

>все что угодно
>Зачем эти ненужные усложнения? Когда нужно вывести большую красивую строку - делаю их. Но тут то зачем?
затем, что этим ты показываешь незнание того, как работает конкатенация строк и лень при написании пары лишних символов

>по поводу структуры кода и возможности его переиспользовать и говорить не приходится
>Ну а ты как бы сделал? Я думал нахуярить coroutine'ов и сделать pipeline раз я их только выучил, хуле и нет, но конечная цель - поиск совпадений name,function,module все равно пришлось бы делать во вложенных циклах. По-другому я не придумал.
см пункт про декомпозицию и обработку исключений (что по сути есть разделение приложения на функциональные слои)

>Надеюсь на конструктивный ответ.
Аноним 25/03/18 Вск 15:08:25  1162372
>>1162347
Монада, если не вдаваться в анальные глубины общей алгебры, является удобным паттерном для функциональных языков. Монады позволяют набирать последовательные цепочки вычислений, тем самым гарантируется строгий порядок выполнения. Особенно это полезно для вызова сайд-эффектов, получается по сути императивный код на основе чисто функционального, где в общем случае порядок вычислений заранее неизвестен.
Аноним 25/03/18 Вск 15:15:14  1162385
>>1162372
Нехуя не понял, что такое монада. Можно на примерах?

мимо
Аноним 25/03/18 Вск 15:21:51  1162394
>>1162348
>Я знаю про него. И опять - зачем он тут? В скинутом примере csv максимально простой, предполагаю, что остальные выглядят так же. Как и применение argparse это мне кажется пушкой по воробьям. Зачем?
Csv штука сложная. Ты наверное думаешь, что это просто разделенные сепараторами поля и не знаешь, что сепаратор может быть внутри кавычек.

>>1162371
>а еще можно бросать исключения с детальным описанием проблемы и обработкой их в одном месте и корректным завершением приложения
А вот тут мне уже стало интересно. Покажи, как ты это делаешь.
Аноним 25/03/18 Вск 15:34:35  1162412
>>1162353
Интересная структура, но когда я прописываю в одном из txt какие-нибудь другие имена, то они не добавляются.
Аноним 25/03/18 Вск 15:34:39  1162413
>>1162385
Тебе нужно сначала осознать что в ФП средах порядок выполнения не определён. В ФП ты не описываешь последовательность действий вроде возьми то, сложи туда, возьми это, перенести туда. В ФП ты сразу пишешь что тебе надо вот эти две коробки в таком порядке, а компилятор/рантайм тебе уже сами додумывают как это размотать в нужную последовательность действий и где что когда выделить в памяти.

Допустим у тебя есть такой код:

print(sin(sqrt(2)))

Вот это хороший пример вычислений зависимых по цепочке. Рантайм сможет это посчитать только в единственной возможной последовательности: сначала двойка, затем корень, затем синус, затем print.

Но что если функции никак друг от друга не зависят, а в цепочку их слепить надо? Например

print('lol') затем print('kek') затем print('ayy')

Вот тут-то и нужны монады. Делаешь print('lol') bind print('kek') bind print('ayy'), получаешь выражение наподобие print(sin(sqrt(2))) с единственно возможным порядком выполнения. При этом нагромождения от тебя скрыты и ты видишь только красивый чистый синтаксис.
Аноним 25/03/18 Вск 15:39:39  1162422
>>1162385
>Нехуя не понял, что такое монада. Можно на примерах?
потому что он хуйню спизданул, http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html

>>1162394
>Покажи, как ты это делаешь.
Зависит от ситуации, в этом скрипте достаточно было бы:
def handle_line(line):
# разбираешь строку, бросаешь по необходимости исключения

if __name__ == '__main__':
for line in file:
try:
handle_line(line)
except CriticalCustomException as ex:
print(ex, file=sys.stderr)
sys.exit(1)
Аноним 25/03/18 Вск 15:43:48  1162432
>>1162413
прими разупорина уже, наркоман.
и погугли функциональный и декларативный подходы
Аноним 25/03/18 Вск 15:47:28  1162434
>>1162422
Тут мало по экцепшенам. Ты отдельные классы создаешь или один? Сколько параметров в классе и как это определяешь?
На какой уровень вложности процедур надо расчитывать в try/except блоках?

Если у тебя есть github, то скинь ссылку.
Аноним 25/03/18 Вск 15:47:43  1162436
>>1162412
>в одном из txt
там один txt
Аноним 25/03/18 Вск 15:50:07  1162440
>>1162432
>Common declarative languages include those of database query languages (e.g., SQL, XQuery), regular expressions, logic programming, functional programming, and configuration management systems.

Эм. Ты меня похвалил так или я чего-то не понял?
Аноним 25/03/18 Вск 16:02:28  1162451
>>1162436
Ну вот я его изменяю(название функции, например), а итоговый json файл остается таким же, каким был в оригинале.
Аноним 25/03/18 Вск 16:33:37  1162475
>>1162434
У меня в гите смотреть особо не на что, лучше посмотри код опенсорсных проектов - сильно полезнее будет (начать можно с той же django).
А по поводу остального, классы нужны если есть состояния(если их нет или можно избежать, то функциональщина может быть предпочтительнее), декомпозировать на классы нужно в соответствии с логикой, обязанностями и общей моделью/структурой приложения; количество параметров рекомендуют делать не больше семи.
А по поводу вложенности процедур в try/except каких-то особых ограничений я не знаю, по крайней мере я не вижу проблем в том, чтобы оборачивать в try/except рекурсивные функции. Другое дело, что лучше не размазывать обработку ошибок по всему коду, а делать это в одном специальном месте.

И, ответы на эти ответы не абсолютны, а понимание их нужности/полезности приходит с опытом (есть книга макКонела "идеальный код", там он как раз об этих вещах пишет, но если у тебя совсем нет опыта толку от нее будет не много).

>>1162440
Не похвалил. Неопределенный порядок вычислений есть в каком-нить прологе или при выполнении sql, а в лиспах/хаскелях/кложурах (и либах добавляющих функциональщину к питону, php, js, java) порядок вычисления вполне себе конкретный, а примеры, которые ты написал в >>1162413 - дичь полная.
Аноним 25/03/18 Вск 18:32:25  1162567
image.png (220Кб, 668x581)
Почему второй вариант работает настолько медленнее?
Аноним 25/03/18 Вск 19:11:00  1162590
>>1162567
Потому что в первом варианте итерация происходит на уровне сишного кода, во втором на уровне питонов. Никто бы не делали эти ваши нампи если бы вот так скорость не прирастала.
Аноним 25/03/18 Вск 19:19:45  1162595
>>1162567
Магиче сишечки.
Но ты не очень честно сделал, на самом деле, потому что единичный доступ по нампиевским массивам медленнее, чем к родным списочкам раза в полтора: https://repl.it/repls/PaleSnivelingSpreadsheet
Аноним 25/03/18 Вск 19:19:52  1162596
>>1162475
>порядок вычисления вполне себе конкретный
Вот это уже реально дичь. Нахуй тогда монады нужно-то? Вычисления могут быть детерминированными, то бишь повторяться одинаково при одинаковых входных данных и фазе луны. Но это не рассчитано на то чтобы какие-то задроты вроде тебя в уме разворачивали весь граф вычислений и писали код подглядывая в исходники ghc.
Аноним 25/03/18 Вск 19:43:42  1162606
>>1162060
Пофиксил на List4[y], только вот при n = нечётное число, выдаёт ошибку IndexError: list index out of range
Аноним 25/03/18 Вск 19:44:40  1162607
>>1162595
Не только.
https://repl.it/repls/FlickeringExtrovertedProfessional
Аноним 25/03/18 Вск 19:47:34  1162610
Анон помоги мне потушить пердак. https://pastebin.com/1w0AWjjY
Какого черта меняются значения в listnew_? Я нигде не просил этого.
Выглядит будто при передаче листу listnew_ значения list_, собственно передачи значения не происходит, а как будто передается только указатель и ссылаются оба на одно и тоже.
Иначе как объяснить такое поведение? И как это исправить?
Аноним 25/03/18 Вск 19:49:15  1162612
>>1162610
>Выглядит будто при передаче листу listnew_ значения list_, собственно передачи значения не происходит, а как будто передается только указатель и ссылаются оба на одно и тоже
Ты не поверишь.
Аноним 25/03/18 Вск 19:51:04  1162614
>>1162610
Открой для себя is, id(..), list.copy, dict.copy, set.copy, import deepcopy.
Аноним 25/03/18 Вск 19:57:41  1162619
2018-03-25195711.jpg (66Кб, 533x600)
2018-03-25195719.jpg (42Кб, 547x343)
>>1162612
Не благодари.
Аноним 25/03/18 Вск 19:58:06  1162622
>>1162619
Ой, промазал. Это ему >>1162610
Ну вы понели.
Аноним 25/03/18 Вск 20:10:14  1162633
>>1162606>>1162049
Бамп вопросу
Аноним 25/03/18 Вск 20:19:14  1162636
>>1162612
>>1162614
>>1162619
Спасибо аноны.
Вам не кажется, что это является эталоном зашквара?
Как вообще можно было до такого додуматься? Что поведение базового оператора зависит от контекста его вызова (в случае целых чисел, например, работает иначе). Стало быть python это не тот язык на котором можно просто писать, а нужно сидеть и пердолиться в изучение какие еще операторы в каких разных контекстах проявляют не ожидаемое поведение и где ждать подводные камни? Нах так жить посоны?
Можно ли это как-то отключить, директивой какой-нибудь и т.п.?
извините, у меня бомбануло
Аноним 25/03/18 Вск 20:19:46  1162637
a = b
b = a
питоноиды
Аноним 25/03/18 Вск 20:30:14  1162641
>>1162636
Просто у питона наглухо упоротый синтаксический сахар
b = 4 это обёртка для b = int(4) или как то так я уж не знаю как там точно в интерпртитаторе хуярится
Аноним 25/03/18 Вск 20:32:20  1162642
>>1162637
https://www.destroyallsoftware.com/talks/wat
Аноним 25/03/18 Вск 20:38:39  1162644
Напомните ещё раз дебилу как получить индекс массива в питоне?
Аноним 25/03/18 Вск 20:39:11  1162645
>>1162644
Индекс элемента массива
Ну точно дебил
Аноним 25/03/18 Вск 20:40:52  1162647
>>1162645
index
Аноним 25/03/18 Вск 20:42:18  1162648
>>1162647
массив.index(x) ?
Аноним 25/03/18 Вск 20:44:41  1162650
>>1162648
>массив.index(x) ?
Да?
Аноним 25/03/18 Вск 20:52:48  1162655
2018-03-25205203.jpg (5Кб, 336x67)
IOLoRwRa34h7pvO[...].jpg (97Кб, 833x768)
>>1162644
Мы вообще книжки не читаете? Это основы блядских основ.
Аноним 25/03/18 Вск 20:56:59  1162657
>>1162636
>>1162641
Блядь, они плодятся. Какая нахуй обёртка над int(4), что ты несёшь, это ты упоротый сахар, блядь. Уже потратил на тебя полночи, ты опять начинаешь.

>>1162636
>Вам не кажется, что это является эталоном зашквара?
Это является эталоном работы с памятью через указатели.

Иди читай ветку от >>1158870 пока тред не смыло. А так же про указатели, референсы, значения, lvalue, rvalue и ещё что-нибудь полезное.
Аноним 25/03/18 Вск 20:58:42  1162659
>>1162655
Блядские основы мне почему-то не помогают.
Вот объясни, почему при
list4 = [1, 2, 3, 4, 5, 6]
----for y in list4:
------if list4.index(y) % 2 == 0:
---------print(list4[y])

Он мне выдаёт 2, 4, 6?
Индексация же с 0 начинается. Т.е. должен выдать 1,3,5.
Или я опять чего-то не понимаю?
Аноним 25/03/18 Вск 20:59:42  1162661
>>1161945
Зоделай константу seconds_in_sutkah = 24 60 60
Аноним 25/03/18 Вск 21:04:19  1162662
>>1162659
>Или я опять чего-то не понимаю?
Во-первых, ты не понимешь, что далет
>for y in list4
Во-вторых, ты не понимаешь, что ты вообще делаешь.
Нахуя, спрашивается, ты обходишь в цикле массив по его элементам (по порядку), а потом берёшь индекс элемента? Почему сразу по циферкам от 0 до длины списка не пройтись?!

>print(list4[y])
На этой строке ты принишь y-тый элемент списка. y — значение элемента списка, а не его индекс, который ты только что проверил на чётность.

первая итерация:
y = 1
index(1) % 2 == 0
list4[1] # 2 потому что это второй элемент списка
Аноним 25/03/18 Вск 21:07:42  1162664
>>1162659
Дело в том, когда ты используешь метод for:
>for y in list4
, то за y он берет не индекс 0, а первое значение в списке, то есть 1.
Аноним 25/03/18 Вск 21:24:28  1162672
>>1162662
>Во-первых, ты не понимешь, что далет
>Во-вторых, ты не понимаешь, что ты вообще делаешь.
Возможно. Именно потому хочу понять и разобраться.
Мне надо чётные индексы заменить на, например, какое-нибудь фиксированное значение.
>>1162664
Дело в том, когда ты используешь метод for:
То есть for не использовать?
Аноним 25/03/18 Вск 21:25:17  1162673
>>1162636
Такое поведение абсолютно у всех по крайней мере динамических языков: PHP, Lua, Javascript, Perl, Ruby. Посмотри на это с другой стороны, вдруг у тебя есть структура размером 4Гб, потом ты делаешь какую-то элементарную мелочь и все 4Гб автоматически копируются. Ещё вдруг ты захочешь закинуть куда-то далеко в код структуру, но при этом иметь на неё ссылку и время от времени читать. Как такое сделаешь? Явно указатели будешь брать? Истина в том, что поведение copy на деле нужно ооочень редко.

>поведение базового оператора зависит от контекста его вызова (в случае целых чисел, например, работает иначе)
А как иначе? 2 + 2 это далеко не то же самое что [2] + [2] или '2' + '2'. Кстати говоря, операторы наподобие + не изменяют структуры, а порождают новые. Изменяют структуры inplace вызовы методов например list.remove, list.clear, list.append.
Аноним 25/03/18 Вск 21:35:41  1162678
Можно как то из mint удалить встроенный второй пистон и накатить третий?
Аноним 25/03/18 Вск 21:39:00  1162680
>>1162672
>То есть for не использовать?
Использовать. Но по-другому. Иди прочитай ты ну хоть какой-нибудь туториал о циклах в питоне, в самом деле.
Аноним 25/03/18 Вск 21:41:06  1162682
>>1162678
Накатить третий можно. Удалив второй обязательно что-нибудь сломаешь.
Аноним 25/03/18 Вск 21:49:08  1162688
>>1162682
А конфликта версий не будет? Сложно же вроде сразу два пистона иметь
Аноним 25/03/18 Вск 21:58:07  1162691
>>1162688
Ни в коем разе. Устанавливаются в две разные папки (по номерам версий) в корневом каталоге диска, вызываются отдельными экзешниками.
Аноним 25/03/18 Вск 21:58:25  1162692
>>1162688
нихуя сложного.
это называется инвайронмент
управляется либо через pip либо через conda
вообще всю подобную херню по смене версий надо доверять пакетным менеджерам. Очень удобная штука. Всё для людей
Аноним 25/03/18 Вск 22:03:45  1162694
>>1162688
Да можешь хоть портабельный взять и распаковать у себя в /home/ ничего не устанавливая.
Аноним 25/03/18 Вск 22:09:36  1162697
>>1162680
>Использовать. Но по-другому.
А можно просто ткнуть в ошибку и написать как правильно?
Аноним 25/03/18 Вск 22:19:52  1162702
>>1162697
Так ты не научишься.
Аноним 25/03/18 Вск 22:23:04  1162703
>>1162702
Ну, мам!
А если серьёзно, пердолиться с этой проблемой и тщетно искать ответ я могу неделями.
Я пришёл с вопросом, и хочу получить на него прямой ответ.
Аноним 25/03/18 Вск 22:26:22  1162705
>>1162697
Тебе уже ткнули. for x in lst перебирает элементы, а не индексы.

>написать как правильно?
Ну введи ж ты в гугл python loops tutorial, первые же пара ссылок приведут куда надо и расскажут, что там и как. Ладно бы тебе нужно было срочно сделать, тогда бы дали ответ, но так-то нахуя? Ну напишут тебе тут наебал, не будет тут ответа, дальше что? Ты завтра с очередной такой же дебильной проблемой прибежишь.
Аноним 25/03/18 Вск 22:34:25  1162711
>>1162703
Проблема в том, что твоя задача по факту не имеет смысла. У тебя есть массив, из которого ты пытаешься получить значение индекса, чтобы на его основе вызвать элемент массива. Масло масляное, ни добавить ни прибавить. Нахуя это вообще? Это как если бы пошел срать, но предварительно надевал на себя свитер, а потом снимал его тут же. Хотя можно было бы сразу пойти срать без свитера.
Аноним 25/03/18 Вск 22:54:39  1162714
>>1162705>>1162711
Спасибо.
Всё оказалось проще, чем я думал.
Аноним 26/03/18 Пнд 00:28:04  1162736
Посоны, есть ли строковая функция, которая яаляется обратной repr()? Мне нужно убрать экранирование из строк в файле, пока решил задачу костылем из print -> subprocess. Т.е. в файле изначально сохраняются строки вида "\nt\ty", а мне нужно, чтобы он выглядел как при print("\nt\ty")
Аноним 26/03/18 Пнд 02:09:46  1162764
image.png (773Кб, 1368x981)
спасибо антошеку за контриб ^_^

Аноним 26/03/18 Пнд 02:12:22  1162765
image.png (16Кб, 467x398)
потом заверстаю

кстати под линами змейка другая лел

кому интересно вот линкаhttps://sites.google.com/view/pypry/
Аноним 26/03/18 Пнд 06:40:59  1162794
>>1162736
https://repl.it/repls/RelievedNervousMarkuplanguage

Алсо,
>обратной repr()
eval. Ты не совсем правильно понимаешь, что делает repr.
Аноним 26/03/18 Пнд 08:11:48  1162816
>>1162736
.encode('ascii').decode('unicode_escape')
Аноним 26/03/18 Пнд 10:49:38  1162841
>>1162353
>>1162262
Пусть и с опозданием, но спасибо вам, аноны!
Аноним 26/03/18 Пнд 11:03:12  1162843
>>1162636
Блжад. Ты и при инте передаешь ссылку на инт. Вот только изменить значение по ссылке ты не можешь, поэтому присвоение нового инта просто меняет ссылку
Аноним 26/03/18 Пнд 12:07:16  1162882
image.png (1Кб, 123x85)
Я думал, что я понял все про object reference, но похоже нет. Вначале object reference b указывает на двойку. После первого a.append(b) в a хранится b - object reference на двойку. Потом после b=3 object reference b указывает на тройку. После второго a.append(b) в списке a на 0 и 1 местах хранится один и тот же object reference указывающий на одну и ту же тройку. Почему я получаю [2, 3]?
Аноним 26/03/18 Пнд 12:17:09  1162885
ab.png (11Кб, 186x416)
>>1162882
В питонах всё есть объект. Объекты хранятся в памяти и не имеют имён, только адрес, тип, значение, refcount. Твои a и b это только имена, которые ссылаются на адреса с объектами. Можешь считать что текущий контекст выполнения это такой dict с именами-строками (попробуй vars(), globals()). Кстати refcount это оно и есть, сколько имён привязано к конкретному объекту. Когда оно становится 0 сборщик мусора его автоматически удаляет из памяти.
Аноним 26/03/18 Пнд 12:20:10  1162886
>>1162885
текущий контекст выполнения мань
Аноним 26/03/18 Пнд 12:26:24  1162890
ab2.jpg (88Кб, 1280x720)
>>1162882
Аноним 26/03/18 Пнд 12:27:13  1162893
>>1162882
Во-первых, 2 и 3 - неизменяемые объекты в пайтоне. Во-вторых, ты сначала установил ссылку b в одно значение и его добавил в список, потом установил в другое значение и уже другую ссылку добавил в список - получился список из двух разных ссылок на два неизменяемых значения. Как бы ты теперь не модифицировал значение ссылки b, в списке у тебя сейчас хранятся ссылки на неизменяемые 2 и 3, а не на b. Как правило такого поведения мы и ожидаем...

Вот другой пример: >>1162885 - здесь сначала создают две ссылки на изменяемый объект, а потом в один из объектов дважды добавляют одну и ту же ссылку на изменяемый объект. Т.к. добавлена ссылка на изменяемый объект, то теперь изменение b приведет к изменению элементов списка a... и теперь это вряд-ли тот, эффект, которого мы хотим!
Аноним 26/03/18 Пнд 12:28:38  1162894
>>1162890
и где ответ на вопрос?
Аноним 26/03/18 Пнд 12:29:35  1162895
>>1162886
>>1162894
Съеби, мелкобуквенное насекомое.
Аноним 26/03/18 Пнд 12:32:20  1162897
>>1162885
Про пример со списком в списке помню. Чет пиздец туплю.
>>1162893
То есть в a.append(b) я добавляю в список не само b, которое может указывать на разные ссылки т.е. на разные объекты, а ту ссылку, с которой b связанно в момент выполнения append'а? А чем тогда является само b?
Аноним 26/03/18 Пнд 12:35:58  1162900
>>1162636
>Стало быть python это не тот язык на котором можно просто писать, а нужно сидеть и пердолиться в изучение какие еще операторы в каких разных контекстах проявляют не ожидаемое поведение и где ждать подводные камни?
Просто нужно выучить, какие типы - мутабельные, а какие - нет.
Аноним 26/03/18 Пнд 12:36:32  1162901
>>1162897
b - это ссылка на неизменяемый объект!
In [1]: b = 2
In [2]: a = []
In [3]: a.append(b)
In [4]: id(b)
Out[4]: 140615934922848
In [5]: id(a[0])
Out[5]: 140615934922848
Аноним 26/03/18 Пнд 12:39:27  1162902
abb3.png (4Кб, 248x144)
>>1162897
>ту ссылку, с которой b связанно в момент выполнения append'а
Именно! Само имя в структурах данных нигде не фигурирует.
Например если ты добавил что-то в массив, то по старому имени из этого массива уже не взять, только по индексу. Смекаешь?
Аноним 26/03/18 Пнд 12:42:26  1162903
ab4.png (8Кб, 323x161)
>>1162897
Аноним 26/03/18 Пнд 12:52:48  1162906
>>1162902
>Например если ты добавил что-то в массив, то по старому >имени из этого массива уже не взять
Аноним 26/03/18 Пнд 12:55:09  1162907
>>1162906
то есть
Аноним 26/03/18 Пнд 12:55:43  1162909
>>1162907
тьфу бля
Аноним 26/03/18 Пнд 13:04:00  1162911
>>1162906
Ты когда выйдешь из контекста где у тебя определены a b, то всё, имена a b станут недоступны. Только безликий массив c с индексами. Объекты внутри себя уже определяют свои собственные именные контексты. И опять же, если забрать значение атрибута объекта и куда-то его передать, то там куда передали никогда не узнают что когда-то это называлось например a.n.
Аноним 26/03/18 Пнд 13:13:44  1162915
Все, понял, спасибо за ответы.
Аноним 26/03/18 Пнд 16:07:41  1162991
>>1162371
Анон, надеюсь ты ещё здесь и посмотришь а может кто и другой, кому интересно помочь вкатывальщику измененую версию:
https://repl.it/repls/GiganticCompatibleWebsphere

>Как минимум, чтобы я мог сделать `./main.py --help`
Теперь можно

>Затем, что писать собственные велосипеды стоит в контексте саморазвития
Define велосипед. Я понимаю, что например самому разбирать файл json не надо т.к. он пиздецки сложный. А тут вроде бы легко, в две строчки всего но все равно добавил после сообщения анона о том, что запятые могут быть в кавычках, не подумал об этом чет

>Сдается, что кто-то здесь пиздит
А как надо писать комментарии? На том же pythonworld.ru в теме про ПЕП8 говорят про два пробела, #, пробел, коммент. Поставил ограничение на 80 строк что за ебанутое соглашение. со 120 намного лучше было

>декомпозировать, разделить обязанности, предусмотреть варианты возможных изменений в текущем коде и инкапсулировать их, предусмотреть возможные варианты развития и не усложнять их.
Сделано. Разобрал все на столько, на сколько можно. За команды теперь отвечает отдельный класс, который можно менять как хочешь, проверка модулей, имен, функций, юзеров и добавление юзеров делается его методами, которые можно изменить. Все проходит через охуенный pipeline, любую остановку которого можно изменить, чтобы принимать другие файлы не .csv например или добавить ограничения на них. Кто хочет может получать ошибки в консоль, кто хочет в лог, кто хочет может изменить error_handler чтобы делать с ошибками что угодно. Можно так же изменить функцию составления новых имен для файлов или поиска .csv в папках например чтобы игнорировать папки с началом "donttouch"

Только обработка исключений вышла хуевая. А может и нет, но мне она не нравится. Но по-другому не получилось.

>from ... in working_chunk:
Вот это кстати не понял. Попытался погуглить но выдает from import или yield from, о которых я знаю. А что ты сделал не понимаю.

Вопрос, так и надо было? Или слишком много? Количество ебучих строк увеличилось в 7 раз. Семь блять. Мне кажется я сделал что-то совсем не то. И писал я это 5 часов с перерывами и прочим но все же Может потому, что только учусь и охуенные сеньоры сделали бы это за 5 минут, но я очень заебался писать это, получать порцию говна в лицо, и переписывать, чтобы его на вентилятор не бросало и чувствую себя немного пиздец тупым. И как вообще догадаться о таком на собесе надо? Ведь анону дали задание сделать бумажный самолетик. Я накатал 30 строчный бумажный самолетик, который делает именно то, что от него просят. А после твоих сообщений сделал ебучий 200000000 строчный звездолет.

Ещё вопрос про "поменяй условие в обратную сторону". Вот во многих местах сделал это, и вроде бы получается даже красивее, но приходиться кидать break и continue. Ещё когда в 7 классе нас учили Паскалю, кто-то сказал мне "continue, halt, break, go to для пидоров". Насколько это правда и насколько правильно я использовал их в своем коде?

Аноним 26/03/18 Пнд 16:47:25  1163005
>>1162991
Я это не запускал, но выглядит очень круто. Пойду читать про coroutine и все в этом духе. Походу придется повременить с вкатыванием, я ещё слишком low level оказался
Аноним 26/03/18 Пнд 16:50:27  1163007
>>1162991
>Вот это кстати не понял. Попытался погуглить но выдает from import или yield from, о которых я знаю. А что ты сделал не понимаю.
Он опечатался, там for, конечно же. Суть в том, чтобы иметь original, который настоящий оригинал, а для сокращения кода, если тебе постоянно к одному и тому же ключу обращаться, вынести его в новую переменную, с которой и работаешь (так, как ты работал с original в своём коде).

>кто-то сказал мне "continue, halt, break, go to для пидоров".
Это сказал пидор. %Ну, разве что goto можно понять%%.
В питоне приветствуется наименее индентированный код, то есть лучше в if пихать условие выхода, а сам код потом на том же уровне, что и до этого. Сравни два варианта: https://repl.it/repls/InsidiousTiredCharacters
Если кода много, а не один принт, то второй выглядит гораздо приятнее.

>А как надо писать комментарии?
Я не уверен, но, вероятно, комментарий на строке с двоеточием лупа комментарий не очень хорошо делать.
Аноним 26/03/18 Пнд 16:53:24  1163009
>>1162991
А зачем тебе тут корутины? Ты один раз читаешь/пишешь в файл же, нигде в I/O не простаивает код без дела (пока оба не загрузишь всё равно ж ничего не сделать).
Аноним 26/03/18 Пнд 17:17:42  1163018
И какого хера говорят про сложность и непонятность сишных указателей с крестовыми ссылками, когда в питоне все эти изменяемые и неизменяемые типы не менее простые, а скорее даже более путанные?
Аноним 26/03/18 Пнд 17:19:57  1163020
>>1163018
В сишке тебе ещё надо следить когда сделать free. Ну ещё там ебанутые spiral rules в которые умеет полтора аутиста.
Аноним 26/03/18 Пнд 17:31:53  1163023
Суп питуносы. Я все ещё пишу бота в телегу 3 дня работал, простой, да.
В общем каким-то образом мои тесты внезапно иногда вешают систему, и я не могу узнать в чём причина.

Каков выход из данной ситуации? А именно как обезопасить головную систему стабильный debian он таких внезапных падений?

Слышал что-то про docker, но не уверен зачем он нужен и подойдёт ли к этой ситуации.
А также можно заебашить виртуальную машину.

Wich way os right?
Аноним 26/03/18 Пнд 17:34:04  1163027
>>1163023
Никак не обезопасить. Компутер другой взять.
Аноним 26/03/18 Пнд 18:31:28  1163062
анончик. умеет ли питоняня base64 скушать и красивые слова и предложения мне потом показать?
Аноним 26/03/18 Пнд 18:33:24  1163064
>>1163023
поменять прослойку хе - хе
Аноним 26/03/18 Пнд 18:38:29  1163066
>>1163062
import base64
base64.b64decode(b'0JrQvtCz0LTQsC3QvdC40LHRg9C00Ywg0YLRiyDRgdC/0YDQvtGB0LjRiNGMINC80LXQvdGPLCDRh9GC0L4g0Y8g0LvRjtCx0LvRjiDQsdC+0LvRjNGI0LU6INGC0LXQsdGPINC40LvQuCDQudC+0LHRgz8g0K8g0L7RgtCy0LXRh9GDLCDRh9GC0L4g0LnQvtCx0YMuINCi0Ysg0YPQudC00LXRiNGMINC4INC90LjQutC+0LPQtNCwINC90LUg0YPQt9C90LDQtdGI0YwsINGH0YLQviBZT0JBIEVUTyBUWS4=').decode('utf-8')
Аноним 26/03/18 Пнд 18:40:12  1163069
>>1163066
нормально нормально всё для людей гоблинов
Аноним 26/03/18 Пнд 18:42:00  1163070
>>1163069
Смотри, аккуратно, там байты а не строки, всё на сишке с максимальной скоростью сделано.
Аноним 26/03/18 Пнд 18:44:20  1163071
>>1163070
щито?
Внимание, увага Аноним 26/03/18 Пнд 21:43:44  1163136
Андрей Светлов (создатель aiohttp), жестко раскатал самый производительный питон веб сервер , абаSanic. Будьте осторожны, при использованиии этой перделки на продакшене

https://www.reddit.com/r/Python/comments/876msl/sanic_python_web_server_thats_written_to_die_fast/
Аноним 26/03/18 Пнд 21:59:46  1163143
>>1163136
Автор одного новоиспечённого веб-дилдака разобрался чуть лучше в матчасти автора другого новоиспечённого веб-дилдака и не поленился провести ревью. HTTP ахуительно сложный, что тут сказать.
>производительный
Бгагага. Покажите мне хоть одного человека, который реально упёрся в производительность фреймворка на практике.
Аноним 26/03/18 Пнд 22:01:32  1163145
Хотя я кажется понял.. У саника почти 9к звёзд, у айо 4к. Вот где собака порылась-то.
Аноним 26/03/18 Пнд 22:07:23  1163146
Анон поясни в чём может быть проблема.
Есть установленный модуль natsort. В PyCharm при его импорте подчёркивает красным типа нет такого модуля. Запускаю в терминале всё работает, есть такой модуль. Ну работает и хуй с ним, подумал я.

Загрузил всё это дерьмо на heroku, прописал в зависимостях natsort, и угадай что? Хуй! Нет такого модуля. Как быть?

Аноним 26/03/18 Пнд 22:08:58  1163148
>>1163146
>Анон поясни в чём может быть проблема.
Проблема в том, что ты чухан.
Аноним 26/03/18 Пнд 22:09:05  1163149
Перепиливаю парсер на случай, если urlretrieve не сможет сохранить некоторые пикчи. Наткнулся на следующую проблему. Допустим, код такой:
req_img = requests.get(image_url)
image = open("{}/files/pics/{}".format(settings.MEDIA_ROOT, image_url.split('/')[-1], "wb"))
image.write(req_img.content)
image.close()

В другом скрипте - всё норм, в консоли - всё норм. Запускаю этот скрипт:
IOError: [Errno 2] No such file or directory: '/Path/to/media/files/pics/2d240494067091ebacb8838a847fdb38.jpg'

Хотя по идее он должен сам этот файл создать. Папки /Path/to/media/files/pics/ существуют, вбиваю в файловый менеджер путь из ошибки - переходит. ЧЯДНТ?
Аноним 26/03/18 Пнд 22:10:21  1163150
>>1163146
Там venv или как? Мб еботня с интерпретатором
Аноним 26/03/18 Пнд 22:12:10  1163151
>>1163149
У тебя 'wb' уходит в format, а не в open.
Аноним 26/03/18 Пнд 22:13:10  1163152
>>1163151
Блэт, точно, в глаза ебусь. Спасибо!
Аноним 26/03/18 Пнд 22:14:30  1163154
>>1163150
Ну зависимости там устанавливаются по файлу requirements.txt. Который в свою очередь создаётся из venv.
Аноним 26/03/18 Пнд 22:21:01  1163158
>>1163154
> Который в свою очередь создаётся из venv
А запускаешь то из-под него?
Аноним 26/03/18 Пнд 22:22:58  1163160
>>1163007
>Он опечатался
Окей, понял

>В питоне приветствуется наименее индентированный
Хорошо

>>1163009
А разве сопрограммы используются только для асинхронных кодов, которые работают с другими медленными программами? Я думал это вообще functional style и можно использовать, чтобы делать красивую логику программы. Вот в моем примере есть эта труба и есть остановки, на которых как-то фильтруются данные. Все просто, понятно и красиво.
Аноним 26/03/18 Пнд 22:31:16  1163165

>>1163158
Тут даже хз. Зависимости же устанавливаются на виртуальную машину на сервере heroku. В общем я ещё в этом не особо силён, не могу ничего по этому поводу сказать
Аноним 26/03/18 Пнд 22:33:49  1163166
>>1163165
Хуярь тогда логи установки на pastebin и сюда ссылку.
Можешь ещё для интереса выхлоп с which python3 показать
Аноним 26/03/18 Пнд 22:39:02  1163170
>>1163166
>which python3
which python, разумеется
Аноним 27/03/18 Втр 00:30:35  1163210
>>1163170
https://pastebin.com/D3H7KmC3

which python я полагаю нужно на серваке прописать? Ещё не пердолился с ssh, там есть возможность но ещё не разбирался. Сейчас покопошусь.
На моей машине в venv which python:
/home/username/PycharmProjects/HogeBot/hb_virtualenv/hb_env/bin/python
Аноним 27/03/18 Втр 00:35:39  1163211
>>1163170
Дело ещё в том, что вместе с natsort устанавливается telebot, в import он идёт выше natsort'a, и его импорт проходит без проблем. Собственно что-то всё-таки в самом модуле, ибо в pycharm он подчёркнут красным, хоть и запускается в терминале, но при попытке запустить из PyCharm даёт ошибку.
Аноним 27/03/18 Втр 01:25:04  1163224
>>1163170
Мда. Зашёл в баш heroku. Оттуда бот запускается (хотя только после переустановки pyTelebotAPI. В консоли питона natsort импортируется. В рот ебал
Аноним 27/03/18 Втр 06:59:45  1163310
coroseq.png (20Кб, 702x408)
>>1163160
>сопрограммы используются только для асинхронных кодов, которые работают с другими медленными программами?
Сопрограммы это и есть асинхронный код. Не медленными, а ожидающими чего-то, давая возможность освободить ресурсы для полезных задач. Или когда порядок действий / время получения входных данных неизвестно.

>Я думал это вообще functional style
Даже если бы это он и был, нафига тебе эта функциональщина? Илитарием побыть?

>есть остановки, на которых как-то фильтруются данные.
В каком плане остановки? Процессор не простаивает во время фильтрации. У тебя каждая итерация каждой корутины будут идти по очереди. https://repl.it/repls/MatureFarawayModule

>Все просто, понятно и красиво.
Красивенько, согалсен, и так-то малаца, но вот начсёт первых двух применительно к этой задаче я бы поспорил.
Твой код приходится читать с конца в начало: в пайплайн передался путь -> смотрим, что такое этот пайплайн -> validate_csv -> там какому-то ресиверу что-то отсылается -> возвращается в вызов validate_csv, смотрим что ему было передано -> extract_from_csv -> там то же самое -> update_commands. А вот вызываются они все последовательно.

Вот у тебя запускаются несколько корутин, ресиверсы всякие, ты туда-сюда сообещния с данными передаёшь, причём в заранее известном порядке всё происходит. Но зачем? Ты с тем же успехом мог бы вместо receiver.send() сделать обычный вызов функции: https://repl.it/repls/FussyObedientEmacs
(пикрелейтед сравнение последовательности вызовов, видно некоторое сходство.)
Немного говнокод, потому что я старался внести как можно меньше изменений в твой.

Это лишь моё мнение, разумеется, и местные сеньоры и сеньоритты вполне могут оказаться правее.
Аноним 27/03/18 Втр 09:16:50  1163335
>>1159798 (OP)
Двач-помогач, тут нужно интерфейс для одной проги запилить, мб кто знает годные гайды по pyqt5? В гугл могу, но хорошего материала как-то не нашёл
Аноним 27/03/18 Втр 12:58:40  1163388
сап двач советач
посоветуйте пожалуйста годную статью по созданию приложения командной строки на питоне, где обьясняется как работать с аргументами командной строки. желательно по англицки. но на русском тоже сойдёт если годнота.
Аноним 27/03/18 Втр 13:00:44  1163390
>>1163388
https://docs.python.org/3/library/argparse.html
Аноним 27/03/18 Втр 13:02:42  1163391
>>1163390
блять спасибо
Аноним 27/03/18 Втр 14:09:49  1163438
>>1161775
Объясню для дауна.
Понятно, ты в цикле доливаешь в один и тот же стакан, а потом хочешь плеснуть в другой.
Но ведь есть простой и сверхочевидный (для не-дауна) способ: когда цикл закончится начни следующую команду с перевода каретки замены стакана.
Аноним 27/03/18 Втр 14:25:42  1163446
>>1161770
import time

text = 'Now thinking...'
for i in text:
time.sleep(0.1)
print(i, end = '')
print()
Аноним 27/03/18 Втр 15:54:49  1163479
>>1159798 (OP)
Аноны, помогмте! Можно ли как-то с pyinstaller вшивать батники в готовый ЕХЕшник и оттуда их, соответственно, запускать?
Аноним 27/03/18 Втр 20:28:01  1163644
>>1163438
Я практически то же самое и сделал же, просто вместо пустой строки переместил последний символ. Я-то думал, это можно было в той же строке сделать, так сказать, подставить сразу новый стакан на следующей строке, а вы подставили второй стакан, чтобы туда капнуло последний раз, и после этого идете брать третий.
Аноним 27/03/18 Втр 20:28:45  1163646
>>1163438
>>1163446
Сюда тоже.
Аноним 27/03/18 Втр 20:35:03  1163648
>>1163644
>Я-то думал, это можно было в той же строке сделать, так сказать, подставить сразу новый стакан на следующей строке, а вы подставили второй стакан, чтобы туда капнуло последний раз, и после этого идете брать третий.
Нет, это ты капнул последний раз (точкой) и поменял стакан. В нашей аналогии перенос строки это смена стакана. print() не делает ничего, кроме переноса строки.
print("abc") == print("abc\n", end="") == print("abc", end=""); print().
И третьего стакана никто не берёт, откуда ты это выдумал?

>Я-то думал, это можно было в той же строке сделать
У тебя одна и та же строка кода выполняется много раз, каким образом компьтер должен догадаться, что в последней итерации нужно что-то другое сделать? Либо все принты в лупе с переносом, либо все без.

>просто вместо пустой строки переместил последний символ.
И зачем? В следующий раз, при получении неизвестной тебе строки, тоже сделаешь for i in string[:-], а после лупа print(string[-1])?
Аноним 27/03/18 Втр 20:35:39  1163649
вкатываюсь.
Подскажете позязя, как из строки
"sfdsfsdfsfsjiaud ifu afu afual"
взять все что находится между двумя звёздочками?
сэкономите мне целый день чтения аноны)))
Аноним 27/03/18 Втр 20:36:51  1163650
>>1163649
строка
>"sdsdsqqadsdadarra"
Аноним 27/03/18 Втр 20:43:22  1163654
>>1161792
Ни один из них не являются программистами. Уже хотя бы потому, что никто из них не создаёт программы, откуда пошло название.
Это кодер, ПМ и, скажем, архитектор (или дизайнер). А программист это они все вместе.
Аноним 27/03/18 Втр 20:46:09  1163657
>>1163649
regex.

Ну или говнокод, всегда есть способ — https://repl.it/repls/RobustLeadingOrigin
Аноним 27/03/18 Втр 20:49:30  1163660
>>1163648
>И третьего стакана никто не берёт, откуда ты это выдумал?
Третий стакан — это новая строчка с принтом.
Вот вы пишете:
1. print(i, end = '', flush = True)
2. print()
А третий стакан:
3. print('New string')
То есть три раза один хуй надо писать.
Но я вас понял, спасибо за пояснения. Вообще я ожидал, что print() выведет лишний пустой абзац, и придется еще и с этим ебаться. Оказалось, что не казалось.
Аноним 27/03/18 Втр 20:53:12  1163664
>>1163657
спасииибо
Аноним 27/03/18 Втр 20:57:37  1163668
>>1163660
>А третий стакан:
Так ты откуда и что считаешь-то, ёба? "New String" зальётся во второй стакан, и только после этой строки подставится третий. В твоём коде всё то же самое ведь, ещё раз говорю. Твои print('.') вне лупа это то же самое, что print('.', end="") в лупе с последующим print() вне лупа.

>придется еще и с этим ебаться. Оказалось, что не казалось.
С чем ебаться?
Аноним 27/03/18 Втр 21:09:53  1163674
>>1163668
>Так ты откуда и что считаешь-то, ёба?
Первый стакан: принт, входящий в фор, основной принт, так сказать.
Второй стакан: принт без нихуя, в который сливается последняя капля end=''. Как с члена стряхнули напоследок.
А третий да и все остальные — все, что принтится после.
>В твоём коде всё то же самое ведь, ещё раз говорю
Так а нахуй ты тогда так категорично заявлял, что я хуй, если я по факту проделал то же самое, но не дотянул чуть-чуть буквально до окончательного решения?
>С чем ебаться?
Да я думал, придется видоизменять до уровня print('', end='\n'), но это одно и тоже, да и пустой абзац там никак не мог появиться.
Важнооооо Аноним 27/03/18 Втр 22:45:26  1163760
Бродяги, расклад такой. Есть проект на Джанго. Нужно расфасовать статические файлы по канонам DRY. В проекте много app в которых используются файлы из bootstrap фреймворка и так же самодельные файлы css/js. В корне основного приложения сделана директория templates , в которой будут находится части шаблона, которые будут вызываться во всех app, также в корневой директории есть static в которой все файлы из bootstrap. В каждой app есть своя директория static , в которой находятся самодельные статические файлы, которые относятся только к этому app. Короче, как грамотно сделать, чтобы не приходилось много копипастить файлы bootstrap
Аноним 27/03/18 Втр 23:00:34  1163770
>>1163760
Как насчёт просто не копипастить файлы бутстрапа? В чём проблема?
Аноним 28/03/18 Срд 06:31:47  1163852
>>1163674
>Второй стакан: принт без нихуя, в который сливается последняя капля end=''. Как с члена стряхнули напоследок.
>А третий да и все остальные — все, что принтится после.
НЕТ. Почему ты такой дурак? Или изъясняешься очень криво. Принт без нихуя, следующий за принтом с end="", делает только перенос строки. Т.е. он добавляется \n к первой строке / убирает первый стакан (подставляя второй для последующих принтов). Следующий за этим принт нальёт текст во второй стакан.
Перенос строки (смена стакана) всегда находится в конце строки. Так что, когда напечатана "целая" строка текста, она имеет в коцне перенос строки. То есть, смена стакана всегда производится не перед наливаением воды, а после. Как посуду ты помешь не перед едой, а после, чтобы потом, когда захочется есть, тарелка была чистой.

>Так а нахуй ты тогда так категорично заявлял
Потому что ты хуйню какую-то, а не решение сделал. В чём была твоя проблема? Нет переноса сторки. Что нужно сделать? Очевидно, просто сделать перенос строки. Но ты пошёл каким-то ебическим путём с распиливанием исходной строки текста.
Аноним 28/03/18 Срд 06:33:27  1163853
>>1163852
>распиливанием исходной строки текста
, что заставляло думать, что ты нифига не понимал ни собственно проблемы своей, ни того, как print работает, хотя это несколько раз повторяли.
Ши-Лунофаг 28/03/18 Срд 06:42:34  1163857
362008semi-dash[...].png (544Кб, 1280x1237)
Уф, опять этот противный оранжевый...
Но относительно живой, и где не жалко показаться дураком.


Относительно отучил основы питона, кое-как понял суть ООП, запил пару говнокодов, которые порой выручают в повседневной жизни.
Куда идти дальше? Пытаюсь уже которую неделю освоить ХГУЙ, но после пары часов ошибок вся мотивация пропадает. Мог бы решать на codewars или ещё где задачи на алгоритмы, но...
Язык первый был ещё cpp, но его забросил из-за личных переживаний. Начал именно этот учить в связи с разработкой одной игры на pygame. Будто между шагами понимания базы и написанию гуёв должна быть ещё ступень, которую пропускаю.
Куда поворачивать?
Аноним 28/03/18 Срд 07:38:26  1163862
>>1159798 (OP)
Привет сап.
Учусь на втором курсе относительно неплохого вуза.
На данный момент по программе идёт с++, до этого был Паскаль и с.
Стоит ли потихоньку скатываться в питон?
Кресты потихоньку надоедают.хотя в Питоне меня выбешивает отсутствие фигурных скобок для обозначения блока кода, привык, наверное
Не прошу советовать с чего начинать и етц.
Нужны лишь советы по типу за и против, т.к. если что я сам шапку на гите прочитаю.
Аноним 28/03/18 Срд 07:40:12  1163863
>>1163857
Ты в чём ГУИ пишешь? Там что не гуи под питон, сплошное ООП, туда и копай. Ещё event driven программирование, наверное.
Аноним 28/03/18 Срд 09:14:13  1163874
>>1163862
Ты можешь не потиху скатываться, а попробовать написать что-то небольшое, но до конца рабочее на питоне. Если понравится, будешь продолжать. Не понравится - питон пригодится, чтобы какой-нибудь скриптик для себя написать.
Аноним 28/03/18 Срд 11:13:03  1163925
>>1163874
А что на нём можно написать?
инб4 всё
Хотя лучше так: что на нем делается проще, чем на крестах?
Аноним 28/03/18 Срд 11:14:08  1163927
>>1163925
>что на нем делается проще, чем на крестах?
Э... всё что угодно? ЛОЛ!
Аноним 28/03/18 Срд 11:15:01  1163929
>>1163925
сам процесс разработки другой. Более динамичный. Ты как будто бы превращаешься в макаку.
Аноним 28/03/18 Срд 11:15:09  1163930
>>1163927
Т__Т
Аноним 28/03/18 Срд 11:16:29  1163931
>>1163930
Код можно запускать через MinGW? Я просто в VS Code пишу.
Аноним 28/03/18 Срд 12:06:16  1163953
Анон, подскажи функцию для отслеживания очередности выполнения кода.
Аноним 28/03/18 Срд 12:10:52  1163956
>>1163953
print
Аноним 28/03/18 Срд 12:13:28  1163957
>>1163310
> Не медленными, а ожидающими чего-то
Ну, скриптам, которые ожидаю что-то от чего-то медленного, и во время этого ожидания могли бы что-то сделать.

>даже если бы это он и был, нафига тебе эта функциональщина?
Шоб была. Это же просто стиль программирования, которым надо владеть так же как и объектным.

>В каком плане остановки?
В плане структуры программы. Есть остановка на которой отбрасываются неверные пути, есть остановка на которой из верных файлов берутся только правильные команды и т.п. Я понимаю, что процессор не стопиться и корутины идут по очереди.

>но вот начсёт первых двух применительно к этой задаче я бы поспорил
Принял, подумаю над этим.

Спасибо за ответ, чет вчера ещё прочитал но не ответил сам.
Аноним 28/03/18 Срд 13:05:12  1163969
>>1163863
Пробовал tkinter, pyqt, kivy, остановился на последнем.
Аноним 28/03/18 Срд 15:51:31  1164032
Недавно спрашивал в каком то из тредов на каком языке лучше писать, так сказать, "для себя". Т.к. уже шарился в питоне, на нем пока и сижу на уровне хелоуворлдщика. Так вот, возник такой вопрос, как рациональнее всего пользоваться классами? Хоть убейся не могу я в них въехать, в них и в магические методы. Написал простенькую игрушку, текстовую стратегию. Суть в чем - есть деревня, каждый ход (ход это день) происходит случайное событие - увеличивается количество жителей, умирает человек, ничего не происходит, случайный прохожий (его можно принять к себе или прогнать, если принять, то он может совершить диверсию и убить n человек до того, как будет убит) и нападение. В нападении реализовал простенькую боевку, 2 стойки со стороны игрока (оборона, атака) и 3 со стороны компьютера (оборона, атака, бездействие). Есть еще несколько ресурсов, такие как золото, за которые покупать войска и крестьян, еда, которую потребляет народ и войско. Ну, и как уже понятно, каждый ход игрок продумывает что ему сделать в поселении - нанять солдат, крестьян или пропустить ход. Сижу сейчас, пытаюсь оптимизировать код, а чет не врубаюсь в принцип. Примерно так
Аноним 28/03/18 Срд 15:55:18  1164035
>>1164032
В твоем примере я бы ожидал увидеть класс деревня, в котором есть список объектов (вероятно, тоже классов) - жителей и методы - события. Это модель.

Реализация модели заключается в создании объекта класса и обращению к его методам и пользовательскому вводу.

Преимущества очевидны - когда ты захочешь добавить в игру еще одну деревню - это займет всего одну строчку кода. А если захочешь добавить немного другую деревню - отнаследуюшься от уже имеющейся и переопределишь пару методов.

ХЗ, понятно ли я объяснил...
Аноним 28/03/18 Срд 16:05:49  1164044
>>1164032
Класс хорошо создавать когда какой-то набор данных у тебя кочует всей пачкой из функции в функцию.

Магические методы ни для чего более не нужны, кроме как для неявного вызова в естественных для питона конструкциях. Например определяя --enter--, --exit-- ты сможешь объект использовать в конструкции with. Определяя --add-- сможешь делать сложение obj + obj. Собственно потому они и называются магические. Остальное пишешь явно с именами которые тебе нужны.
Аноним 28/03/18 Срд 16:10:58  1164049
>>1164032
Прогай и понимание придёт. На это может потребоваться 1 год.
Аноним 28/03/18 Срд 16:14:35  1164053
>>1164044
>Определяя --add-- сможешь делать сложение obj + obj

Объясни пожалуйста. Я хочу сравнить два объекта, но не их адреса а именно что логически объект одно и то же, что мне для этого надо сделать? Так же если я хочу чтобы образцы класса который я написал можно было сравнить таким макаром. Как мне это нужно написать?
Аноним 28/03/18 Срд 16:18:57  1164058
>>1164053
https://habrahabr.ru/post/186608/#comparisons
Аноним 28/03/18 Срд 16:19:44  1164059
>>1164058
большое спасибо
Аноним 28/03/18 Срд 17:03:05  1164082
kit2.jpg (45Кб, 538x348)
>unittest
>модуль из стандартной библиотеки
>assertEqual вместо assert_equal
Пиздец. Да, я знаю что интерфейс унаследован от Жавы, но блять, нахуя было наследовать камелКейс, когда в Пиздоне другой стандарт именования методов?
Как, блять, с этим жить?
Аноним 28/03/18 Срд 17:05:35  1164086
py..png (570Кб, 1920x1040)
Что делать, анон?
inb4: менял кодинг на UTF-8 в котором раньше и работал - не помогло
Аноним 28/03/18 Срд 17:16:22  1164091
7f6cbe259aad67a[...].jpg (270Кб, 1024x768)
>>1164086
> 2k18
> Ш1ИДОШ5
> шрифтопроблемы
Аноним 28/03/18 Срд 17:18:08  1164092
>>1164086
попаболь
Аноним 28/03/18 Срд 17:21:35  1164096
>>1164091
Ну так портируй весь Adobe на линукс, мань. С радостью перекачусь на какой-нибудь Арч или Дэб
Аноним 28/03/18 Срд 18:07:00  1164110
>>1164091
Windows хорошая ОС. Там есть асинхронное файловое IO вместо невнятного обрезка которым никто не пользуется. Там нет этого глупого безальтернативного fork, который копирует весь процесс, потом на его месте раскочегаривает новый в большинстве случаев, удаляя всё что было от предыдущего.
Аноним 28/03/18 Срд 18:54:22  1164118
Хочу начать учить питон в 2К18 году, какие подводные камни?
Аноним 28/03/18 Срд 19:04:39  1164120
>>1164118
>Документация на английском
>нужна лицензионная IDE для работы с джанго
>дохуилион библиотек
>из них 20-30% либо с багами, либо с недописанной документацией
>пикрил >>1164086
>дохуя документации на 2.7, а вот на тройку ещё только на английском
>отвесты с стэковерфлоу придётся адаптировать с 2.7 на 3, если только их не ответили тебе
Как-то так...
Аноним 28/03/18 Срд 19:11:43  1164124
>>1164118
Ах да. Ещё ты научишься пользоваться консолькой винды, а так-же можешь найти серию познавательных книг по питону и сетевой безопасности, 2016-2018 годов in english, of course
Аноним 28/03/18 Срд 19:21:39  1164132
>>1164120
>на английском
Не проблема.
>на 2.7, а вот на тройку ещё только на английском
Через 2 года заканчивается поддержка, 2. Попахивает пиздежём. Ну разве что главный аргумент в том, что англюсик.
>нужна лицензионная IDE для работы с джанго
Куплю версию с китайским сервером лицензирования, если ты про пайчарм.
Аноним 28/03/18 Срд 19:23:51  1164133
>>1164110
> Там есть асинхронное файловое IO вместо невнятного обрезка которым никто не пользуется
Проиграл на всю квартиру. Что ещё спизданёшь?
Аноним 28/03/18 Срд 19:33:36  1164143
>>1164132
Анон, не у всех с инглишем хорошо. Я очень часто сталкивался с моментами, когда мои коллеги по проекту или тиммейты не могли в английский. Всё-же, делаю поправку и на это.
Лол, когда ты в последний раз писал что-то незнакомое на незнакомой библиотеке? Я конечно только джун, но даже разговорный инглиш меня не спасал в некоторых случаях. Теперь веду vocabulary заточенный конкретно под меня. Крч, иногда это полный пиздейшен, хоть в петлю лезь
>Куплю версию с китайским сервером лицензирования, если ты про пайчарм.
Да вот блядский пайчарм маслины баги ловит. Там выше пикрил про это и я лишь надеюсь что поможет переустановка. Словами не передать, каким маленьким было моё очечо когда я прикинул что кодинг может из-за автосейва похерить весь проект, над которым я откровенно ебался в мозг последние недели две нейронка-пилот для KSP. Благо Atom показал что всё норм.
Аноним 28/03/18 Срд 19:44:24  1164148
Как функции subprocess выполняют команды, которые им передают? Они вызывают команндную строку (cmd на шинде) и дают их туда или как?
Аноним 28/03/18 Срд 19:47:01  1164151
>>1164133
Ты для начала погугли, а потом проигрывай. Самое нормальное оно как раз в винде.
Аноним 28/03/18 Срд 19:48:57  1164154
>>1164148
Командная строка, cmd, bash, shell, whatever — сами являются процессами-интерпретаторами, как и питон. Subprocess дёргает апи системы чтобы спавнить процессы. А уж что запускать решаешь ты, можешь просто прогу стартнуть, можешь cmd.
Аноним 28/03/18 Срд 19:49:45  1164155
>>1164143
Это твоя хуйня с кодировкой там? Скинь файл, можешь порезать его, если не секьюрно, попробую пошаманить.
Аноним 28/03/18 Срд 19:54:22  1164158
>>1164086
А как ты негра сделал в ide ?
Аноним 28/03/18 Срд 19:54:34  1164159
>>1164155
А что толку? Это во всём пайчарме. Причем, с момента когда я его в последний раз закрыл, ничего не менял в IDE. То есть это именно тот случай когда оно само даже на вводе нихуя не отображается нормально.
Аноним 28/03/18 Срд 19:55:10  1164160
>>1164143
>не у всех с инглишем хорошо
Для них существует 1С.

>>1164132
>Попахивает пиздежём
Так и есть, за всё время работы ещё ни разу не встречал проблемы кроме некроёбов на < python3, разумеется. Всё, что нужно, уже есть на 3.

>>1164120
> недописанной документацией
Исходники ты захочешь ещё, я гарантирую это
Аноним 28/03/18 Срд 20:00:47  1164163
>>1164120
Ну и в добавок
>нужна лицензионная IDE для работы с джанго
Если ты действительно зарабатываешь разработкой, то 9$ в месяц - не деньги.
Аноним 28/03/18 Срд 20:21:31  1164179
>>1164082
>нахуя было наследовать камелКейс, когда в Пиздоне другой стандарт именования методов?
камелКейс - лучший метод наименования. Прув ми вронг.
Аноним 28/03/18 Срд 20:25:50  1164184
>>1164179
Кекнул с верблюдоеба.
Аноним 28/03/18 Срд 20:27:49  1164185
>>1164179
>камелКейс - лучший метод наименования. Прув ми вронг.
що то говно, шо это говно
Аноним 28/03/18 Срд 20:28:47  1164186
>>1164184
Орнул_с_подчеркнутого_дауна
Аноним 28/03/18 Срд 20:30:05  1164187
Ol1FcSN1lkhDVhs[...].jpg (50Кб, 423x734)
>>1164179
>>1164184
Ой, блять, не начинайте.
Аноним 28/03/18 Срд 20:53:38  1164206
>>1164185
но андескор всё таки говнянее
Аноним 28/03/18 Срд 21:02:00  1164216
kit1.jpg (54Кб, 538x372)
>>1164179
Да похуй блять, вебрлюд или андерскоры, главное чтобы их не миксовали, хотя бы в стандартной, сука, библиотеке.
Аноним 28/03/18 Срд 21:08:33  1164217
>>1164187
clojure-style
Аноним 28/03/18 Срд 22:39:59  1164296
Питонач-помогач, знаешь ли ты какие-нибудь статьи по тестированию на джанге? В частности, интересует такая схема: беру тестовую базу, по ней прогоняю тесты. Нужна информация по структурированию тестов отдельного приложения. Т.е. беру я, например, из этой базы несколько моделей и прогоняю их по всем тестам. Как лучше это организовать?
Был час в гугле, там дают только базовую хуйню, про структуру маловато инфы
Аноним 28/03/18 Срд 22:59:04  1164309
>>1164217
два-чаю-этому
Аноним 28/03/18 Срд 23:18:18  1164327
>>1164217
При чём тут кложур? Это же в самых бородатых лиспах ещё придумали.
Аноним 28/03/18 Срд 23:30:27  1164334
А зачем питон нужен?
Аноним 28/03/18 Срд 23:38:08  1164337
Попалось тут:
if i (остаток от деления) 0O11 == 0:

Что за 0O11?
Аноним 28/03/18 Срд 23:40:28  1164343
>>1164337
>0O11
https://ru.stackoverflow.com/questions/517960/python-3-%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-print0o11-%D0%B1%D1%83%D0%B4%D0%B5%D1%82-9
первая ссылка
Аноним 28/03/18 Срд 23:57:06  1164353
>>1164343
шёл 2к18 год, а Питон всё так жке не умеет складывать 0,1 в единицу.
Аноним 28/03/18 Срд 23:58:30  1164354
>>1164353
Может ты нам назовёшь место, где от этого страдает процесс разработки?
Аноним 29/03/18 Чтв 00:05:03  1164358
>>1164354
Вовсе не мешает, надо все в интеджерах считать, это любого языка касается, не 1.48 рубля, а 148 копеек, не 1.4 см а 14000000000000000 микрон, и так далее.
Аноним 29/03/18 Чтв 00:05:11  1164359
bateman.jpg (30Кб, 584x413)
>>1164353
Высрал хуйню в тред и хорошо так стало, аж по штанине потекло, да?
Аноним 29/03/18 Чтв 00:08:49  1164361
d = {}
d[True] = 2
d[1] = 3
print(d[True])
Аноним 29/03/18 Чтв 00:11:31  1164366
>>1164359
>>1164354
Как же пичот, больная тема видимо у питонистов.
Аноним 29/03/18 Чтв 00:14:44  1164368
>>1164366
"Пичот" только у залётных типа тебя, все остальные уже давно привыкли к даунам.

Алсо, питонисты, только я один никогда не сталкивался с проблемами из-за этого?
Аноним 29/03/18 Чтв 00:14:53  1164369
я не понял, сложение приоритетнее разности что ли? 0_о
Аноним 29/03/18 Чтв 00:17:18  1164371
>>1164369

>>> 2 - 3 + 1
0
Аноним 29/03/18 Чтв 00:17:33  1164372
>>1164368
Ещё один подорванный.
Аноним 29/03/18 Чтв 00:19:01  1164375
image.png (13Кб, 439x183)
>>1164372
Тогда что это?
Аноним 29/03/18 Чтв 00:19:17  1164376
бля >>1164375 --> >>1164371
Аноним 29/03/18 Чтв 00:21:15  1164377
photo.jpg (52Кб, 900x900)
>>1164366
> у питонистов.
> тот же самый стандарт флоатов используется в куче других языков
> абсолютно все ЯП имеют проблемы с точностью флоатов
> у питонистов
От тебя воняет уже.
Аноним 29/03/18 Чтв 00:24:47  1164379
>>1164375
Хуйня какая-то, видимо
Аноним 29/03/18 Чтв 00:28:12  1164381
>>1164377
У ассемблера нет проблем с базовой арифметикой.
Аноним 29/03/18 Чтв 00:31:11  1164382
>>1164381
Ага, ведь ассемблер складывает числа не процессором как убогие языки, а МАГИЕЙ.
Аноним 29/03/18 Чтв 00:44:39  1164387
>>1164382
хелловорд 64 битный статически линкованый на асме весит 352 байта, сколько байт весит питоно или даже C-хеловорд?
Аноним 29/03/18 Чтв 00:50:54  1164389
>>1164387
>питоно
22 байта
Аноним 29/03/18 Чтв 00:54:11  1164390
>>1164389
Скомпилированный - 118 байт.
Аноним 29/03/18 Чтв 01:21:34  1164397
>>1164387
Обоссал буквального байтоеба.
Аноним 29/03/18 Чтв 06:55:44  1164429
>>1164375
Записки идиота какого-то, очевидно. Либо ты не прочитал сопровождающее описание, где он приводит оправдания, почему не смог написать по два слова на строку. Сложение ассоциативно, а вычитаение это всего лишь сложение с отрицательным числом, так что между ними в принципе и разницы-то нет, переставляй как хочешь.
Аноним 29/03/18 Чтв 09:56:30  1164454
>>1164151
Специально для тебя нашёл пасту, сохранённую в 2009 году из дискуссии в /c/ нульчана.

> то, что все это будет тратить системные ресурсы, время и трафик.
Видишь ли, ввиду того, что архитектура Винсока слоистая, любая операция в принципе проходит по каждому сервис-провайдеру (LSP).
Естественно, в таких условиях создание сокета (а при ассепте как раз создаетс еще один сокет) это весьма долгая операция. Для этого МС придумала все эти ваши костыли с кондишнал ассепт и *Ex() функции.
В БСДе же принять и сбросить коннект будет весьма и весьма быстро (как кстати и создать поток. На винде потоки создавать тоже относительно долго).

> IOCompletionPort.
Говно этот иосп. Потому что он полностью оправдывает свое название - ИО комплешн порт. Если бы ты удосужился почитать о всех фишках kevent, ты бы понял, что эта штука гораздо функциональнее и быстрее чем твой IOCP, который, кстати, еще и с нихеровым оверхедом.

> Ты не против в том же треде показать аналог виндового xperf?
Ты не понял, что я имею ввиду. Я не собираюсь меряться с тобой всякими апишками. Я просто сказал, что все ОС какбы разные (sic!) и апи у них тоже какбы разные.
Другое дело, действительно ли это полезные апи, или это просто костыли, чтобы заставить систему работать сносно. Это о примере выше.
Аноним 29/03/18 Чтв 10:36:48  1164471
>>1164086
у меня такое было когда я установил LibreOffice
Аноним 29/03/18 Чтв 10:38:29  1164472
18-neuroplastic[...].jpg (36Кб, 640x300)
>>1164082
assert
Аноним 29/03/18 Чтв 11:00:57  1164479
>>1162688
pyenv or virtualenv
Аноним 29/03/18 Чтв 12:14:22  1164509
>>1164454
>kqueue
>I've used them in the past to detect when when actions happen on a file (or within a hot folder). I don't believe they can be used for "reading" and "writing" files, though.

>epoll
>epoll only makes sense for file descriptors which would normally exhibit blocking behavior on read/write, like pipes and sockets.

А вот IOCP может. В никсах только обрубок в виде http://man7.org/linux/man-pages/man7/aio.7.html который нигде как надо не работает и тупо блокирует. Файл дескриптор который для файлов и "файл дескриптор" который для сокетов в ядрах никсов оказывается очень разные вещи.
Аноним 29/03/18 Чтв 13:05:13  1164538
>>1164377
>оправдывает собственную уёбищность тем, ШО У ДРУГИХ ТОЖЕ ЕСТЬ БАХГИ
Аноним 29/03/18 Чтв 14:04:10  1164563
Правильно ли я понимаю, что допустим, для парсера вебмок нет смысла прикручивать многопоточность? Так как в 1 потоке будет качаться на максимальной скорости, а например с 5 потоками скорость будет резаться

При условии что сервер отдает с не меньшей скоростью, чем скорость моего канала
Аноним 29/03/18 Чтв 14:21:32  1164565
>>1164509
Ты совсем у мамы дурачок, да? Для файлов есть inotify.
Аноним 29/03/18 Чтв 15:02:11  1164578
>>1164563
Смысл есть, но из-за GIL тебе придется ебаться с multiprocessing
Аноним 29/03/18 Чтв 15:07:52  1164582
>>1164578
Но в туториалах пишут что threading нормально работает с сетевыми интерфейсами, GIL не мешает
Аноним 29/03/18 Чтв 15:09:26  1164583
>>1164582
Ну тогда тебе остается только грамотно всё реализовать, чтобы не упереться в ограничения...
Аноним 29/03/18 Чтв 15:37:12  1164593
>>1164565
Напиши асинхронный http сервер сохраняющий файлы через PUT, удаляющий через DELETE и выдающий содержимое через GET. Без aiofiles. В качестве бенчмарка 10к очень медленных клиентов со скоростями уровня WAP/dialup. Тогда приходи и ещё поговорим.
Аноним 29/03/18 Чтв 15:40:37  1164597
>>1164563
Браузеры обычно держат небольшой конекшен пул под каждый домен, чтобы не останавливаясь качать в моменты затупа HTTP1. Для HTTP2 больше одного конекшена вообще не нужно, там мультиплексирование. Многопоточность тебе нужна если делаешь на блокирующих вызовах. Можно альтернативно взять aiohttp.
Аноним 29/03/18 Чтв 15:46:27  1164598
>>1164593
Маня не слышала про мои DMA?
Блядь, пиздец ты дискуссию ведёшь, с одной темы прыгаешь на другую, не удалось в одном уесть - сразу про другое. Такое ощущение, что я на хуёвом собеседовании, ещё скажи, что ты мне перезвонишь.
Аноним 29/03/18 Чтв 16:00:19  1164601
>>1164598
Ну это ещё кто из нас с темы на тему прыгает. Факт остаётся фактом: в асинхронном питоне файлового IO нет и не будет. Большей частью именно из-за несовершенства ядер.

Список твои аргументов:
>на kqueue тоже можно сокеты и он может потягаться с виндовым iocp
>есть inotify, можно знать когда кто-то другой трогал файл

Я же тебе конкретно ткнул в http://man7.org/linux/man-pages/man7/aio.7.html , а ты продолжаешь прикидываться ебобо как ни в чём не бывало. Даже наводящую задачку придумал, нихуя, эффекта ноль. DMA блядь, пиздец, что несёт, вообще охуеть. То что ты немного почитал про интерфейсы ядер и DMA это похвально, но ты точно переоцениваешь уровень своих знаний.
Аноним 29/03/18 Чтв 16:32:59  1164615
ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ
ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ
ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ

>>1164614 (OP)
>>1164614 (OP)
>>1164614 (OP)
Аноним 29/03/18 Чтв 16:36:12  1164617
изображение.png (305Кб, 931x554)
>>1164158
win+R
pip install africa

import africa as afr
x = afr.people.male.crying_negro_man
print jpg(x)
Аноним 29/03/18 Чтв 18:18:20  1164678
13180259788126.jpg (33Кб, 251x249)
>>1164593
> Без aiofiles
loop.run_in_executor
Аноним 05/04/18 Чтв 11:22:02  1168329
Как взять через запрос API получить файл в JSON-нотации и сохранить в CSV?
Аноним 03/05/18 Чтв 13:39:24  1183646
Киньте годную шпрагалку по Питону в виде картинки для начинающих!


Топ тредов
Избранное