Этого треда уже нет.
Это копия, сохраненная 25 мая 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
106 Кб, 900x639
Python Thread #732347 В конец треда | Веб
Шапка: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Код вбрасывать в тред через https://ideone.com/
Прошлый: >>726584 (OP)
#2 #732359
>>732347 (OP)

>ideone.com


Блядь, откуда вы такое говно выкапываете, чому не на православном гисте?
>>732364
#3 #732363
Почему написано, что для запуска с ком. строки надо ввести "python3", а у меня запускается через "python" прост?
>>732364>>732376
sage #4 #732364
>>732359
Потому что твой долбославный дрист - просто сервис разметки, а на ideone код еще и выполняется.
>>732363
Потому что в твоей системе ln -s /usr/bin/python3 /usr/bin/python
#5 #732374
Шалом, господа!
У меня немного странный для такого треда вопрос. Есть ли резон перекатываться во фронт энд лол?
Я получается год поработал в вебе, используя питон,
Сейчас я оцениваю свои способности и думаю мой предел - стать толковым миддлом в вебе. Вероятно я не смогу заниматься big data, analytics, ML и другими веселыми вещами. А похоже хорошие бабки начинают крутиться именно там. А в области сайтостроя деньги платят такие же, как и другим веб разрабам, но вакансий значительно меньше, а требования порой выше.
Так как я все равно по сути фулл стеком работал, думаю заострить внимание на фронте и делать карьеру в этой области, думаю опыт в беке мне зачтется, все же кое-чему здесь я научился.
Кто-то сталкивался с подобными проблемами? Может был похожий опыт? Стоит ли?
>>732382>>732395
#6 #732376
>>732363
Потому что просто python может быть python2
#7 #732382
>>732374
Я думаю тебе стоило бы посмотреть тот фронт энд сначала. Там столько хуйни намешано - черт ногу сломит. Если тебя не затошнит от этого всего думаю можешь и попробовать.
Что до мл/биг дата и тд - может тебе туториалов и книжечек набросать, даже я смог более-менее разобраться.
#8 #732385
>>732382

> может тебе туториалов и книжечек набросать


Если не трудно
>>732510
#9 #732387
Как человеку, который программировал на крестах, перекатиться в питон?
#10 #732389
>>732387
Изучи синтаксис, базовые вещи, в общем читай документацию и все.
>>732391
#11 #732390
>>732387
И у меня такое чувство что ты и кресты то не знаешь, раз такие вопросы задаешь неприличные.
>>732391
#12 #732391
>>732390
>>732389
Не, я понимаю. Просто мне становится скучно читать очевидные вещи, которые разжеваны для даунов, которые на зк сидят. Думал, может есть способы поинтереснее
>>732405
#13 #732392
>>732382
Это уже звучит как отмазки, но на мой взгляд разобраться с туториалами - маловато. Это такие области где, особенно важно иметь острый ум. У меня всякие матаны всегда на троечку были, вряд ли я в этих областях желанный гость. Хотя мало ли, я же даже не пытался.

С фронт эндом я сталкивался, SPA писал, в принципе ничего страшного нет, разве что меня пока верстка сильно напрягает.

Я хочу перекат из расчета, что если работать за тот же прайс, то хотя бы запариваться меньше, а в идеале получать больше, если нужно, то засучив рукава и поработав.
>>732510
#14 #732395
>>732374
Через 10ть лет когда фронтенд приобретет какую-то форму - может быть, а сейчас каждый год тратить силы на изучение новых хипстерских недофреймворков о которых через пару лет никто и не вспомнит - проще уж БИГДАТА осилить, имхо, а на подходе еще начало новой эриwebassembly, хуй знает как оно преобразит фронтэнд.

>>732387
Если кодил на чем-то сложнее паскаля то "Learn X in Y minutes" и в бой.
#15 #732405
>>732391
Прочитай что примерно есть в стандартной библиотеке, придумай идею для проекта, посмотри как реализованы похожие проекты и начинай пилить свой.
>>732407
#16 #732406
>>732382
Можешь рассказать как в катить в эти области без опыта работы?
#17 #732407
>>732405

> придумай идею для проекта


Самое сложное
>>732735
19 Кб, 1104x470
#18 #732424
>>732500>>732506
#19 #732430
>>732406
Я не он, но могу сказать, что много где требуется знание ангуляра и html/css (не обязательно ты будешь верстать).
>>732434
#20 #732434
>>732406 >>732430
Я про бигдата/мл.
#22 #732506
>>732424
Возникла тут же блестящая идея, азпилить свои варинт питона-спуродн. Синтаксис вам уже ясен, я полагаю
>>732513
#23 #732508
Установил беспл. pyCharm
У меня вопрос, что там за папочка .idea в проекте? Туда надо лезть?
>>732511>>732512
#24 #732510
>>732385
1. Python for Data Analyse - Wes McKinney - есть на русском. Это та книга, на которой строится даже курс ШАД для Курсеры. Достаточно для вката хотя бы на Kaggle
2. Programming Collective Intelligence - Toby Segaran - тоже есть на русском. Весьма древняя - 2008, потому питон2 only - (хотя я и проблемой это считать не могу) но с тех пор всё стало только проще. Осилишь - значит и дальше развиваться не будет проблемой.
3. Pandas - палочка-выручалочка, функционал экселя и многое сверх того (хотя и многого не хватает) - https://pythonprogramming.net/data-analysis-python-pandas-tutorial-introduction/ - годится быстро посмотреть весело тебе это-нет
4. Туториал по Pandas от разработчиков: более чем годный https://bitbucket.org/hrojas/learn-pandas
5. До кучи: https://habrahabr.ru/post/275963/ , https://habrahabr.ru/company/mlclass/blog/247751/ , https://habrahabr.ru/post/202090/ , https://habrahabr.ru/post/171723/ , https://habrahabr.ru/post/277345/ , https://habrahabr.ru/post/196980/ , https://habrahabr.ru/post/276369/ , https://habrahabr.ru/post/276745/ , https://habrahabr.ru/post/251225/

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

>>732392
Всё это методики, и пока не стоит задача запускать Куриосити на Марс - уверен осилишь. Неронные сети вообще сказка - если задача подходящая стоит и данных для обучения хватает - показываешь ей чё и как и сидишь смотришь магию.
Я с opencv, selenium'ом и scikit пишу говносистемку парсинга яндекс карт что бы биллборды находить в самых пробочных местах.
>>732406
Я не вкатывался, сам по себе болтаюсь, не знаю. Спроси у парней в https://2ch.hk/pr/res/652472.html (М) там много годных вещей написано. По материалам написал.
#25 #732511
>>732508
git репозиторий создай и ты вообще охуеешь, у тебя еще и папочка .git появится
#26 #732512
>>732508
Настройки проекта, не забудь её в .gitignore добавить.
>>732534
197 Кб, 1664x622
#27 #732513
>>732506
Это не совсем спурдо это новый мем.
#28 #732514
>>732510

>что бы биллборды находить в самых пробочных местах


Отличная идея, бро
#29 #732522
>>732510
Пандас? Лол, так я оказывается data scientist? Анон, который просил мануалы. Если не сталкивался, посмотри numpy и NLTK. Это те вещи, с которыми приходилось работать ирл.
#30 #732534
>>732512
Так эти насройки шевелить надо или пока пусть лежат?
>>732538>>732540
#31 #732538
>>732534
Ну где же твоя любознательность. Подправь чегонибудь, погляди что получилось, сделай выводы
#32 #732539
>>732510
Сотни нефти тебе
#33 #732540
>>732534
Анус себе можешь пошевелить, а настройки меняй через гуй.
#34 #732556
>>732510

>Спроси у парней в https://2ch.hk/pr/res/652472.html (М) там много годных вещей написано.


Они утонули и, вроде бы, всплывать не собираются.
#35 #732597
Годен ли пистон на что-то кроме веба?
>>732599
#36 #732599
>>732597
Нет, это отвратный язык, и ля веб не очень то годный. Now leave
#37 #732611
Сап, помогите с лабой по django.
Нужно реализовать интерфейсы классов: Student, Statistics, Subject, Score - и отредактировать класс IndexView для вывода информации об успеваемости. Объектная модель приведенных классов должна описывать процесс ввода успеваемости студентов.
http://pastebin.com/DUDeCc7R - файл, в котором классы.
http://pastebin.com/dYe65mQi - html страничка.

Я настолько уебок, что не понимаю чего хочет препод? Что должно быть вообще в этих классах?
>>732622
#38 #732622
>>732611
Это постановка задачи от препода или твоя трактовка?
>>732726
#39 #732712
Люблю питончик. Он такой милый, его же невозможно не любить. Ух, люблю тискать все методы и библиотеки. Такой няшечка. Это лучше чем тян.
>>735609>>735613
56 Кб, 700x483
#40 #732724
>>744750
#41 #732726
>>732622
Постановка задачи от препода.
#42 #732729
Помогите ньюфагу, нужно сделатьсписок из 10 элементов
элементами которого будут списки из 5 элементов
элементами которых будут рандомные числа.
>>732731
#43 #732730
Привет потсы. Вопрос: на джанге можно запилить реализацию бизнес процессов: прием заказов, изменение, склад, вот это все? Ясно что можно, на сколько удобно будет?
>>732733
#44 #732731
>>732729
[[random.randint(0,10) for i in range(5)] for j in range(10)]
#45 #732733
>>732730

> на джанге можно запилить реализацию бизнес процессов


Можно.

> на сколько удобно будет?


Очень удобно.
#46 #732735
>>732407
Это уже не от языка зависит. Попробуй переписать проект с крестов на питон.
42 Кб, 604x550
#47 #732792
Добрый вечер, помогите написать регулярку, она что-то не пашет как я хочу.
'[1-9]{1,2}?[^0-9:][0-9]{2}?.*(?:purchased|obtained|bought).{50}'
Я хочу найти в какой фирме был куплен препарат.
Сам препарат я искал по этим регуляркам:
'ab ([1-9]{1,2}?[^0-9:][0-9]{2}?)',
'ab([1-9]{1,2}?[^0-9:][0-9]{2}?)',
'ab-\(([1-9]{1,2}?[^0-9:][0-9]{2}?\))',
'ab \(([1-9]{1,2}?[^0-9:][0-9]{2}?\))',
'ab\(([1-9]{1,2}?[^0-9:][0-9]{2}?\))',
'ab([0-4]{1}?[0-9]{1}?)',
'ab ([0-4]{1}?[0-9]{1}?)',
'ab\(([0-4]{1}?[0-9]{1}?\))',
'ab \(([0-4]{1}?[0-9]{1}?\))',
'a.([1-9]{1,2}?[^0-9:][0-9]{2}?)',
'a ([1-9]{1,2}?[^0-9:][0-9]{2}?)',
'a([1-9]{1,2}?[^0-9:][0-9]{2}?)',
'a-\(([1-9]{1,2}?[^0-9:][0-9]{2}?\))',
'a \(([1-9]{1,2}?[^0-9:][0-9]{2}?\))',
'a\(([1-9]{1,2}?[^0-9:][0-9]{2}?\))',
'a([0-4]{1}?[0-9]{1}?)',
'a ([0-4]{1}?[0-9]{1}?)',
'a\(([0-4]{1}?[0-9]{1}?\))',
'a \(([0-4]{1}?[0-9]{1}?\))'

Далее, я чуть чуть делаю отступ, затем вставляю слова "куплен, заказан, получен" и после (т.к я не могу нормально отрубить предложение) делаю отступ в 50 символов. Но ничего не работает, хотя на конструкторе было норм. Вот пример самого текста.
http://pastebin.com/7LGt4rFC
42 Кб, 604x550
#47 #732792
Добрый вечер, помогите написать регулярку, она что-то не пашет как я хочу.
'[1-9]{1,2}?[^0-9:][0-9]{2}?.*(?:purchased|obtained|bought).{50}'
Я хочу найти в какой фирме был куплен препарат.
Сам препарат я искал по этим регуляркам:
'ab ([1-9]{1,2}?[^0-9:][0-9]{2}?)',
'ab([1-9]{1,2}?[^0-9:][0-9]{2}?)',
'ab-\(([1-9]{1,2}?[^0-9:][0-9]{2}?\))',
'ab \(([1-9]{1,2}?[^0-9:][0-9]{2}?\))',
'ab\(([1-9]{1,2}?[^0-9:][0-9]{2}?\))',
'ab([0-4]{1}?[0-9]{1}?)',
'ab ([0-4]{1}?[0-9]{1}?)',
'ab\(([0-4]{1}?[0-9]{1}?\))',
'ab \(([0-4]{1}?[0-9]{1}?\))',
'a.([1-9]{1,2}?[^0-9:][0-9]{2}?)',
'a ([1-9]{1,2}?[^0-9:][0-9]{2}?)',
'a([1-9]{1,2}?[^0-9:][0-9]{2}?)',
'a-\(([1-9]{1,2}?[^0-9:][0-9]{2}?\))',
'a \(([1-9]{1,2}?[^0-9:][0-9]{2}?\))',
'a\(([1-9]{1,2}?[^0-9:][0-9]{2}?\))',
'a([0-4]{1}?[0-9]{1}?)',
'a ([0-4]{1}?[0-9]{1}?)',
'a\(([0-4]{1}?[0-9]{1}?\))',
'a \(([0-4]{1}?[0-9]{1}?\))'

Далее, я чуть чуть делаю отступ, затем вставляю слова "куплен, заказан, получен" и после (т.к я не могу нормально отрубить предложение) делаю отступ в 50 символов. Но ничего не работает, хотя на конструкторе было норм. Вот пример самого текста.
http://pastebin.com/7LGt4rFC
>>732793>>732923
2940 Кб, Webm
#48 #732793
>>732792

>2016


>Парсить регулярками

109 Кб, 970x617
#49 #732796
>>732793
Я биолог и вообще не в теме. Спасибо за помощь.
>>732850
#50 #732850
>>732796
Не за что, приходи ещё.
#51 #732872
>>732793
А ты чем парсишь?
>>732881
121 Кб, 736x736
#52 #732881
>>732872

> text.replace("a", "b").replace("x", "y").split("/"... split ... split

#53 #732882
Что такое парсишь?
>>732914
98 Кб, 641x618
#54 #732894
А вы заметили, что MyPy пилит лично маэстро? Так и вижу, как он открыл для себя хаскель и теперь вечерами надрачивает на экзистенциальную квантификацию, а наутро сокрушается "что за говноязык я придумал" и пытается хоть немного замазать свои грехи.
>>732922>>744751
#55 #732914
21 Кб, 345x253
#56 #732922
>>732894
Может так и есть, но где хачкиль, а где пифон?
#57 #732923
>>732792

>Но ничего не работает


Что и как именно не работает?
#58 #732931
Начал программировать учиться с декабря. Прочитал пару книжек по питону, сунулся в Джанго - соснул. Еще пару - соснул снова. Решил забить на Джанго и фигачить так, скрипты и автоматизацию всего подряд, чуть по модным CV, ML, Big Data угорел в процессе, осилил еще горку книжек, исписал кода дофига, открыл вожделенную 2 scoops of django и хуйак а я же все понимаю! И ебать как же я сейчас счастлив! Просто оргазм.
>>732936
#59 #732936
>>732931

> CV, ML, Big Data


> но это всё лишь тернии на пути к заветной цели - ДЖАНГОЁБСТВУ


Мужик, ты рождён быть веб-разработчиком с большой буквы W. Тим гордится тобой.
>>732939
#60 #732939
>>732936
Чувак я полез в эти дебри потому что меня заебали дилеры мои же (типа свой оффлайновый бизнес) с их вечным пиздабольством платил-не платил-ой ну я же звонил просил привезти-платил но не всё-нихуя не платил но ты мне должен же был помнишь-отргузили товар не отгрузили ручку-отгрузили ручку и проебали товара блядских 400 кг и никакая crm мне от них не помогала, решил под свои нужды себе црмку/1цэ склад накатать, что бы всем по логину раздать и пусть потом блядь доказывают где кому чего и что, и чем дольше хуячил на питоне всякие скриптики с поиском по графах из профилей инстаграмма телочек не указавших свой профиль вк, но имеющих подружек указавших и отмеченных на фото у не указавшей - тем короче больше видел что можно ещё упростить в моём нелёгком деле взаимодействия с целой толпой блядских коммерсов.
И теперь ты мне напыщенно отпускаешь мол "хе, джангоёбство!". Ну джангоёбство. И хули?
>>732940
#61 #732940
>>732939
Не-е, что ты. Я сам вебом занимаюсь и очень его люблю и считаю прекрасным делом. Просто твоя история звучит забавно.
>>732942
#62 #732942
>>732940
У меня всё равно праздник. Теперь как разберусь с джанго и сайтец себе переделаю, а то старый вордпресовский мне сеошник которого я по дурости нанимал засрал полностью нахуй, что не разгрести, ну и ещё пару задумочек попробую накатать. Вуху!
>>732943
#63 #732943
>>732942
Джанго - это деградация.
>>732948>>732984
#64 #732948
>>732943
Я на нем не жениться собираюсь, а пару сайтов еще и для себя сделать. В целом по мне так питон тоже для искусства программирования не годится, встроенные типы все эти, библиотеки стороннние, разные по уровню кода и подходам - не лисп и не си, ну короче обычная дилемма простых и сложных инструментов.
#66 #732984
>>732943
Почему?
>>733095
#67 #732985
>>732968
Нечестивый ритуал!
42 Кб, 800x600
#68 #732986
#69 #733077
>>732968
Я правильно понял, питон настолько с мужика охуел что решил его не хавать а съебать?
>>733364
#70 #733081
>>731295

> добавь enable/disable/reload/list-units/list-unit-files/show


Тут есть проблемка проверки состояния некоторых сервисов

user@machine ~ $ systemctl is-enabled apache2.service
Failed to get unit file state for apache2.service: No such file or directory

Добавил описание сервиса (systemctl show)

>>731300
Сменил название https://github.com/YokiToki/servicectl, перекатился на glage, код стал немного чище. А вот gtk-app-generator пока еще не осилил, да и он похоже только для 3го пайтона.

Держу в курсе, так сказать.
#71 #733095
>>732984
Потому что синхронный, например.
>>733115>>733219
#72 #733115
>>733095
Поэтому Tornado/flask.

Хотя ведь на джангу тоже модули есть для асинх?
>>733215
#73 #733135
А в 2 scoops что всю книгу один пиздеж как писать под Джанго? Типа справочника? Я думал там поэтапно с примерами что-то разрабатывают
>>733143>>733221
#74 #733143
>>733135
Что ты там себе разрабатываешь поэтапно?
>>733152
#75 #733152
>>733143
блог на джанго
>>733155
#76 #733155
>>733152
Да ладно, тут все свои, знаем что ты себе разрабатываешь.
#77 #733163
Кто-нибудь в ДС2 собирается?
Посмотрел список проектов и это какое-то днище, кажется.
http://angelhack.io/
>>733165>>733223
#78 #733165
>>733163
А где там список проектов? В глаза ебусть чет
>>733166
#79 #733166
>>733165
А, блин.
Надо зарегаться.
http://angelhack.io/project/list
57 Кб, 1271x834
#80 #733167
В таком духе все.
#81 #733169
>>733167
Зарегаюсь сейчас, погляжу. Ток я с ДС-3.
33 Кб, 200x200
#82 #733180
>>733723>>734083
#83 #733215
>>733115
Фласк тоже синхронный.
>>735017
#84 #733219
>>733095
И че?
#85 #733221
>>733135
Вообще-то там есть примеры что-то типа магазин мороженного там делают.
#86 #733223
>>733163
Как же бесят эти новомодные сайты.
>>733226
#87 #733225
>>733167
Лучше бы покакуньки у овуляшек записывали а не пульс
#88 #733226
>>733223
Еще и регистрация не работает
7 Кб, 300x168
#89 #733364
>>733077
Может ему понравилось?
#90 #733475
Бля посоны, щас открыл pillow, думал буду целую неделю курить его маны, но внезапно за две минуты сходу создал альфа-канал, наебошил ватермарку и склеил два разных формата с разным разрешением! Господи, как же это охуенно.
>>733490>>735279
#91 #733490
>>733475
Чиво?
#92 #733534
Наверно спрашивали бесконечно много раз. Собственно изучал я питон и вроде не сложно. Но сейчас я осознал что знать првила языка и програмирование это две разные вещи, можно ли задрочить такой скилл не особо включая голову, почти аутируя? И много ли на это уйдет времени?
>>733538>>735614
#93 #733538
>>733534
Нет конечно, с ума сошел чтоле
#94 #733552
http://www.marinamele.com/taskbuster-django-tutorial
кто по этому туториалу занимался? годный?
чего ещё порекомендуете для совсем вката?
>>733561
#95 #733555
Как бы этак изучить библиотеки стандартные, чтобы стать такими же крутышами, как вы пагни?
>>733556>>733564
#96 #733556
>>733555
The Python Standard Library by Example .pdf
>>733558
#97 #733558
>>733556
Сударь, вы маг и волшебник
>>733566
10 Кб, 187x270
#98 #733560
Стоит ли читать пикрил, после доусона? Хотел погружение в пистон, но эта книжка для людей с опытом, кто захотел перекатиться из одного яп в другой. Ваши предложения?
#99 #733561
>>733552
Тня чтоли пишет? Смайлики эти, Кек
>>733566
#100 #733563
>>733560
Хз, что тебе после довсона не ясно, уже можно смотреть чужой код, разбираться, писать свой
>>733569
#102 #733566
>>733561
Загнивающие западэнцы хвалят
Кстати пару годных туториалов от тёлочек я когда начинал встречал: http://newcoder.io/tutorials/
>>733558
Надеюсь поможет
>>733560
Мне вообще не пошла. Лучше Think Python наверни, есть на русском
#103 #733569
>>733563
Так нет, доусон кратко поясняет за основы. Например когда я прочитал половину Byte of Python, я ахуел от многих новых интересных вещей, о которых не рассказал доусон. У него ни слова о логических и физических строках. Я не знал что можно:
i = \
5

или print(x); print(y)


Мне нужно что-то чтобы стать гуру пистона. Алсо поясните что еще из Computer Science нужно знать, там алгоритмы, базы данных. Буду благодарен
>>733572
#104 #733571
>>733560
Этот самерфилд походу спец по всему
#105 #733572
>>733569
завтра идешь и ищешь пасту вышка в айти своими руками. похуй если ничего не поймешь
>>733575
#106 #733575
>>733572

>Это такой гайд "как потратить уйму времени и не найти работу"?



http://a.2ch.hk/pr/res/729209.html
>>733576
#107 #733576
>>733575
Нет, это такой гайд, как потратить уйму времени и что-то узнать. Работу ему, ишь ты
#108 #733588
А вы знали о существовании textwrap? Мелочь, а приятно.
>>733602
44 Кб, 522x319
#109 #733602
>>733588
Я нет. Мне бы поскроее с графикой осовиться, чтобы как в лучших домах
>>733606
#110 #733606
>>733602
Какой графикой? Рисуешь на питоне? Какой модуль?
>>733609
#111 #733609
>>733606
Да в том то и дело, что пока ничего не рисую, даже комнатку паршивую. Смотрю что комьюнити настрочило, нао все попробовать и выбрать самое гожное удобное
>>733614
#112 #733614
>>733609
На roguebasin был туториал по рогаликостроению. В меру прикольный.
>>733615
#113 #733615
>>733614
Ага, я про ресурс знаю, но пока не лезу, хочу попытаться свелосипедить
>>733620
#114 #733620
>>733615
http://www.roguebasin.com/index.php?title=Complete_Roguelike_Tutorial,_using_python+libtcod
можно и не свистоперделить
из подводных камней как я понял либа основная - на сях писанная, а не питоне. с другой стороны кого это когда останавливало
>>733682
#115 #733682
>>733620
Классно, спасибо!
Жаль что там питон второй, но думаю что и так справлюсь.
#116 #733723
>>733180

>ДС-3


Что это еще за Биг Мухосранск?
>>733749
#117 #733749
>>733723
Ну не Инополис
#118 #733763
Посоветуйте книгу для нуба в программировании по питону, но чтобы это был не Лутц на 20к страниц.
>>733844>>733874
#119 #733844
>>733763
Лутц - справочник. Очень хороший и подробный. Пользоваться им нужно как справочником - не понимаешь что-то - открыл - разобрался.
У Лутца есть ещё "Программируем ..." - можешь её навернуть.

Но вообще рекомендованный мною путь для нуба:
1. кодекадеми
2. Кусай/Ныряй
3. Лутц "программируем" / Доусон
4. Синк Пайтон

п 2. можно поменять местами с п3.
#120 #733858
Сап, гайз
Как регулярочками искать Автор-"Книга"?
я так понял самый характерный признак это - "
Автор: Текст до тире-кавычки - слова начинается с заглавных букв, между ними может быть слово начинающееся на маленькую (все эти Шарль де Фьё), а может и не быть.
С книгой всё проще, она в кавычках " " ' ' « »

Нихуя нагуглить не получается, вернее гуглятся только книги по регуляркам
#121 #733874
>>733763
Byte of Python
Think Python

Вся литература есть в шапке, ублюдок ты вонючий.
#122 #734083
>>733180
Неправильный кот, чёрной точки нет.
#123 #734142
Во фласке нужно всё роуты в одном файле держать? Это же пидорство
>>734153>>734156
#124 #734153
>>734142
Смотря какую структуру приложения используешь
>>734167
#125 #734156
>>734142
Друг, у тебя получается запустить это приложение?
https://github.com/pallets/flask/tree/master/examples/flaskr
>>734167
#126 #734167
>>734153
А какие есть? Можно импортировать роуты, как в джанге, например?

>>734156
Неа
AttributeError: 'Flask' object has no attribute 'cli'
Видимо, второй пистон нужен
>>734178>>735020
#127 #734178
>>734167
Можно делать типа как модули, как blueprint's.

>Видимо, второй пистон нужен


Нет последнюю версию фласка нужно установить(из гитхаба). Я 3 дня запускал эту хуйню на винде, только щас запустил)
46 Кб, 518x293
#128 #734230
Зачем в метод передавать self первым параметром? Не пойму.
#129 #734235
>>734230
UPD: есть догадка что это сам класс без объекта еще. Потом функция будет принимать любые объекты класса.
#130 #734251
>>734230
А ты пробовал не передавать селф?
>>734263
#131 #734263
>>734251
Нет.
#132 #734296
Аноны, читаю ИЗУЧАЕМ ПАЙТОН Лутца, ебать, стоит мне его дочитывать?
>>734341
#133 #734341
>>734296
Нет.
>>734434
28 Кб, 640x320
#134 #734375
>>733858
Судари, может кто из вас разбирающийся в этом шайтан-языке мне всё же поможет написать под это дело регулярочку?
>>734387>>734415
#135 #734387
>>734393
#136 #734393
>>734387
Это я знаю, в мемтном лайбрери ничего похожего не нашел, а как самому писать я право дело совсем уже забыл
#137 #734410
>>732347 (OP)
Анонсы, только начал изучать питон, есть вопрос, но без понятия как загуглить.
В общем нужно считать пару чисел через sys.stdin.read(), например, но программа не считывает их (может и считывает), а просто бесконечно просит еще ввода. В чем косяк? Как исправить?
Алсо, еще в примерах пишут, что можно запускать через python3 test.py, но у меня работает только python test.py (хотя python -V показывает 3.5.1), это может как-то влиять на что-либо?
>>734414
#138 #734414
>>734410
На счет ввода сейчас вкурил, что надо нажать ентер, потом ctrl+z и еще раз ентер. И после значка "^Z" в консоли появится вывод того, что должна выводить программа.
Это норма?
>>734418
#139 #734415
>>734375
re.search('[A-Z]{1}[a-z\.]{1,}\s?[a-z]\s?[A-Z]{1}[a-z]\s?\-{1}\s?[\"\']{1}[A-Za-z\s\-\.\,]+[\"\']{1}',str)

Ну ты ж понимаешь, что это примерно и надо учесть возможность наличия всяких допсимволов - например точки, тире и запятые в названии я добавил, что там еще может встречаться мне лень думать.
>>734425>>734461
#140 #734418
>>734414
Используй input()
>>734428
#141 #734421
>>733858
Дай пример текста,в котором надо регулярочками искать
>>734461
#142 #734425
>>734415
Бля, макаба убрала две * и преобразовала между этими двумя звездочками в наклонный шрифт. Поправь короче. Остальное вроде на месте.
#143 #734428
>>734418
С input() вроде раскурил более-менее как работать, просто в одном курсе предложили пример программы именно со стандартным потоком ввода, я попытался ее запустить и затестить, но наткнулся на такую проблемы.
#144 #734434
>>734341
Почему?
#145 #734461
>>734421
Ну я примерно набросал винегрет который бы хотелось парсить, >>734415 очень помог теперь я хоть методом тыка смогу усоврешнствовать на случай если какой-то мудак ебаный блядь пишет сначала книгу, а потом автора, но если сможешь помочь с "кастомизацией" 734415 - буду очень признателен

8 бесценных книг о богатстве, успехе и мышлении!
Билл Гейтс - "Бизнес со скоростью мысли"
Роберт Кийосаки. «Богатый ребенок, умный ребенок».
Александр Свияш. «Что вам мешает стать богатым»
61. Патрисия Хайсмит. "Талантливый мистер Рипли"
62. Дэшиел Хэммет. "Мальтийский сокол"
Шарль де Фьё «Ламекис»
Михаил Евграфович Салтыков-Щедрин 'Бедный волк'

>>734415
Спасибо, попробую дальше может сам как-то докрутить.
>>734504
8 Кб, 519x257
#146 #734468
>>734230
Вообще - это это означает, что данный метод - экземпляра класса, а без self - статический метод. Ну и передается это, чтобы потом пикл сделал дамп твоей сущности.
>>734678
#147 #734504
>>734517
#148 #734517
>>734504
Супер! Спасибо большое
#149 #734621
Джанганы, подскажите как правильно запилить тройное вложение категорий с выводом в списках на одной странице?

Чтобы при открытии url категории выдавался список её субкатегорий со списком постов в каждой субкатегории.

Ну или опционально N-ую степень вложения.

Двойные вложения я понял как делать, а с тройными туплю с вьюхой. Делаю через Class-Based. Как через один класс три модели вывести?
>>734623
#150 #734623
>>734621
Для древовидных категорий тебе mptt нужен.
>>734624
#151 #734624
>>734623

Я хочу свой велосипед для начала написать.
#152 #734678
>>734468
Спасибо, буду гуглить а то даже юзая self и @staticmethod никак не пойму разницу.
>>735155
#153 #734696
Итак
есть классовый метод - foo(self)
есть статический метод - @staticmethod
foo()

А если метод без Декораторов и self то что блеа?
#154 #734701
Что? staticmethod это просто функция, которая никак не привяза к инстансу.
>>734706
18 Кб, 374x217
#155 #734706
>>734701
Какая разница если я могу вызвать метод без экземпляра класса не используя декоратор @staticmethod?
>>734714
#156 #734707
Аноны, как правильно создавать проект в django? в djangogirls пишут мол - юзай точку в конце. Это расово верно? Или всё таки файл manage.py должен лежать в папке с проектом?
>>734724
#157 #734714
>>734706
Разница что со staticmethod ты можешь вызвать его и у экземпляра класса, а не только у самого класса.
Без staticmethod у тебя age будет - self, а не аргумент что ты перегаешь
#158 #734724
>>734707
Все правильно пишут в джанго гёлс, пока просто следуй инструкциям.
>>734726
#159 #734726
>>734724
Благодарю, антоша. Курю далее.
#160 #734727
Парсить ВК посты обычным urllib'ом реальность? Или обязательно через апи ебаться?
>>734740
#161 #734740
>>734727
Бля, вроде ж не засмеялся-проиграл тред
>>734774
#162 #734774
>>734740
Ты уверен?
#163 #734984
Анончики, подскажите. Я в пайтоне не очень.
Есть цикл
while True:
#do smt
func()

Хочу вызывать func каждые n секунд. Можно ли это сделать без замера времени выполнения каждой итерации?
>>734987>>734992
#164 #734987
>>734984
Можно
time.sleep(nsec)
>>734991
#165 #734991
>>734987
у меня один поток. sleep же всё затормозит.
>>734993
#167 #734993
>>734991
Тогда только с замером
>>734995
#168 #734995
>>734992
думал без потоков обойтись. влом синхронизировать.

>>734993
так и буду делать.

Спасибо всем.
#169 #735004
Ещё один нубский вопрос.
Пишу t = time.time()
В pycharm ошибка:
AttributeError: 'float' object has no attribute 'time'
В консоли всё ок. Что не так?
>>735005>>735007
#170 #735005
>>735004
time.clock() тоже не работает
#171 #735007
>>735004
а выше этого кода time где-нибудь встречается?
>>735009>>735012
#172 #735009
>>735007
нет
#173 #735012
>>735007
Затупил. Переменная была time. Извиняюсь.
#174 #735017
>>733215
Если установишь соответствующие расширения то станет асинхронным.
#175 #735020
>>734167

>А какие есть? Можно импортировать роуты, как в джанге, например?


Вот паттерны фласка тебе.
http://exploreflask.readthedocs.io/en/latest/organizing.html#organization-patterns
>>735023>>735265
#176 #735023
>>735020
Спасиб
>>735265
#177 #735140
Анон, расскажи мне про future, coroutine и yield from. Я уже вкурил про генераторы, но до сих пор слабо понимаю, как работает эта магия
>>735145
#178 #735145
>>735140
Explicit better then implicit.

Напихают магии, а потом разбирайся с ней.
#179 #735155
>>734678
И да, при параметре self в методе на самом деле этот метод вызывается так: ClassA.method(instance_of_class_a)
#180 #735167
>>732793
Ты ещё скажи что регулярки медленнее поиска по DOM
#181 #735195
посони, как в list можно посчитать повторяющиеся элементы, не используя вспомогательные методы типа count() и только в O(N) ?
>>735258
#182 #735199
Поцоны, в модуле loggign имеется такая иерархия:
WARNING 30
INFO 20
DEBUG 10
То что происходит в except мне в warning писать получается, а в DEBUG состояния всяких переменных?
#183 #735258
>>735195
From collections import Counter
c = Counter(list)
#184 #735265
>>735020
>>735023
Какая-то хуёвая организация, на самом деле. Вся организация - это не смешивание шаблонов и конфигов, в приложении же творится пиздец
#185 #735279
>>733475

>pillow


>охуенно


Щито? Нет, я не говорю, что он плох, но у него откровенно убогая документация.
>>735284
#186 #735284
>>735279
Вся дока от PIL должна к нему подходить http://effbot.org/imagingbook/pil-index.htm
60 Кб, 298x200
#187 #735315
N тредов назад виде тут пост в котором говорилось что на Qt можно сделать праграмму в трее, на GTK можно? Если кто делал выложите исходники. Хочу сделать как пикрелейтед.
>>735319
#188 #735319
>>735315
Даже на tkinter'е можно
#189 #735325
Я точно помню был какой-то красивый способ сравнить два списка без пербора по циклу if a_list_element in b_list:...

Напомните, плиз
#190 #735328
>>735325
Просто. Сравни. Списки.
>>735333
#191 #735332
Аноны, поясните за GUI. Как я вижу ситуацию: kivy сырой и еле живой; PySide умер; PyQT4 не актуален;
Остаётся tkinter и PyQT5. Что с tkinter'om, он норм? Казалось, что он деревянный. И PyQT5? Что вообще с ним, всё хорошо?
#192 #735333
>>735328
скучно, плюс валом же элегантных способов: (сам уже нагуглил)
numpy.diff(t)
list(set(A)-set(B))
>>735347>>735351
#193 #735347
>>735333

>numpy


>элегантных способов

#194 #735351
>>735333

> list(set(A)-set(B))


Ебанько, кого ты тут сравнил?
A = [1, 1]
B = [1]

> if a_list_element in b_list:...


И так тоже нельзя сравнивать.
#195 #735355
>>735332
Хуй его...
#196 #735370
OPDS это же обычный JSON? Парсится так же?
>>735730
#197 #735386
>>735332

Делай web инетерфейс.
#198 #735396
>>735325
Порядок важен или нет? Дублирующиеся значения важны или нет? Результат - True/False или что-то другое?
>>735401
#199 #735401
>>735396
Порядок не важен, дублирующихся значений быть не может, нужен Boolean в итоге по каждому элементу, либо новый список с совпадающими элементами / не совпадающими элементами
>>735407>>735452
#200 #735407
>>735401
Тогда вот это list(set(A) ^ set(B))
Если нужен True/False, то bool(set(A) ^ set(B))
>>735408
#201 #735408
>>735407
Спасибо!
>>735411
#202 #735411
>>735408
В глаза немного ебусь, но, думаю, суть ты понял.
И почему бы изначально не использовать множества, если нет повторений и порядок не важен?
>>735414
#203 #735414
>>735411
Ну мне право не принципиально, множества так множества
#204 #735416
>>735332
kivy живой, pyside скоро воспрянет из пепла (была новость, что спонсоры нашлись), pyqt5 хорош.
>>735417
#205 #735417
>>735416
да, tkinter не нужен.
>>735529>>735907
#207 #735468
>>735452
Зачем так жить?
#208 #735478
>>735452
бля хуета какая то получилась. вот нормальный https://ideone.com/MQ5wdZ
>>735488>>735490
#209 #735488
>>735478

>нормальный


>рекурсия


Ясно.
#210 #735490
>>735478
>>735452
Что ты делаешь и зачем?
>>735325-кун
#211 #735529
>>735417

>просто везде работает из коробки


>не нужен


это такое
>>735892
#212 #735534
я вообще не пишу ничего с гуями, или веб-морда или консоль. зависимость лютая.
>>735541>>735683
#213 #735541
>>735534
gtk умеет транслировать гуй в HTML5; шах и мат аметисты
>>735542
#214 #735542
>>735541
Научится обратно - так и быть начну.
#215 #735609
>>732712
Двачую. Так привязался к питоше с первого дня, что не смогу его поменять ни на что.
Мой первый яп :3
Пайкон уже был?
#216 #735613
>>732712
Ваши речи очень вдохновляют.
#217 #735614
>>733534
Вся основы голого питона, часто на например в книжке Укус Питона, можно задрочить за день. Ты имеешь ввиду что типа все функции в голове держать? Тогда точно день.
>>735620
#218 #735620
>>735614
День? Троллируешь! Их же ебаная гора. Я третий раз уже перечитываю в думайпитоне главу с кортежами, пытаюсь запомнить также хорошо как и предидущую часть книги
>>735652
#219 #735634
Делаю файловый менеджер с гуи. С чего вообще начать? Большие программы не писал раньше, только лабы и мелочь всякую
>>735654
#220 #735648
снова дибил в бесконечным циклом. Есть ли возможность отследить terminate скрипта? Ну типа:
while True:
if close_event():
break
>>735721
#221 #735652
>>735620
Подглядывай, раз совсем не можешь. По ходу запомнишь. Смысол все зубрить наизусть?
#222 #735654
>>735634
С бумаги и карандаша или пейнта. Потом пишешь всю начинку и пихаешь в формы, но не наоборот!
>>735657
#223 #735657
>>735654
Двачую. Пробовал наоборот-ничего не получилось!
>>735658>>735837
29 Кб, 425x352
#224 #735658
>>735657
Сделал мой день!
#225 #735681
кто пользуется атомом на Win? Не могу победить кодировку вывода script, показывает ромбики вместо букв. В самой консоли все работает без каких-либо проблем.
>>735684
#226 #735683
>>735534
Дело в том, что когда ты работаешь в команде, то всем влом разбираться в тысячах скриптах твоих консольных.
>>735694
#227 #735684
>>735681
А как атом вообще? Мне вот pycharm нравится.
>>735726
#228 #735693
поставил на убунте пайгейм, и выясняется, что он поставился только для второго пистона, а для третьего нет. нахуй ак жить
#229 #735694
>>735683
О чем ты вообще, поехавший?
#230 #735721
>>735648
while True:
if close_event(): break
print("script is about to be terminted")

?
>>735724>>735725
#231 #735724
>>735721
Можно еще sleep в одну миллисекунду добавить, чтобы процессор не перенапрягался.
#232 #735725
>>735721
Эм. Ну я спрашивал где мне взять функцию close_event
>>735727>>735742
#233 #735726
>>735684
Atom легче пайшарма. Атом редактор, а пайшарм IDE.
>>735731
#234 #735727
>>735725
Ты не знаешь, когда у тебя завершается скрипт?
Или ты хочешь отлавливать, когда скрипт завершился не сам, а по какому-то сигналу (типа SIGINT)?
>>735729
#235 #735729
>>735727
У меня работает бот в цикле. По завершению мне нужно отключиться от базы и почистить ресурсы. Если просто закрывать, то ресурсы не освобождаются и скрипт возвращает -1.
>>735735>>735741
#236 #735730
>>735370
Смотря в каком формате OPDS отдает. Я ещё не видел OPDS, которые б с жсоном работали, везде xml
>>735747
#237 #735731
>>735726
В теории так должно быть, на самом же деле атом в разы тяжелее. Особенно если несколько проектов открыть
321 Кб, 569x586
#238 #735734
Нужно быстро вкатиться в питон, что читать "ДАЖЕ В НАСА" или официальный туториал?
>>735736>>735765
#239 #735735
>>735729
По завершению чего? Бот чего?
>>735746
#240 #735736
>>735734
Cначала пгрограммируем на питон, потом модуль недели, потом укус питона
>>735739
#241 #735739
>>735736
Там как бы ключевое слово быстро, а не читать по полтыщи страниц.
>>735745
#242 #735741
>>735729
Прибавь +1
#243 #735742
>>735725
break? exit(0)?
#244 #735745
>>735739
дайв инту питон
#245 #735746
>>735735
Смотри. У меня есть бот твича. Он собирает стату в базу данных. Всё это крутится на хероку. Когда я завершаю скрипт у меня по пизде идут некоторые записи в базу (коммичу раз в минуту). Если бы у меня был event для завершения скрипта, то я бы мог чистить ресурсы и дописывать последние данные в базу.
#246 #735747
>>735730
Во, а можешь как-то подробнее рассказать об поиску по odps? Я гуглил вчера и толком нифига не понял как с ним работать. Может код какой подскажешь поглядеть? Может либа какая есть?
>>735799
#247 #735751
>>735746
Возможно, тебе поможет модуль atexit.
>>735754
#248 #735752
>>735746
Вставь в конце скрипта паузу, чтобы он ничего не делал какое-то время, потом завершался.

мимо люблю попрыгать по граблям
>>735754
#249 #735754
>>735752

>Вставь в конце скрипта паузу


Бред написал.

>>735751
Сейчас погуглю.
>>735759
#250 #735759
>>735754>>735746
Что значит "завершается"? Почему ты не можешь в конец скрипта, где он завершается, вставить закрытие базы? Или ты ctrl-c нажимаешь? В таком случае, заверни свой луп в try: except KeyboardInterrupt: и там уже делай свои чистки.
>>735770
#251 #735765
>>735734
Пройти получасовой туториал на той же кодакадеми или подобном сайте, а потом нырять в свою задачу и решать ещё stackoverflow-way.
>>735766
#252 #735766
>>735765
Не трать время, сразу гугли по своей задаче. Можешь спрашивать здесь.
>>735772
#253 #735770
>>735759
Спасибо.
#254 #735772
>>735766
Ок, спасибо.
#255 #735787
Почему в pr нет треда для кулхацкеров?
>>735791>>735792
#256 #735791
>>735787
Зато есть тред для таких вопросов, и он не здесь.
>>735807
#257 #735792
>>735787
Это как спрашивать, почему в /biz/ нет успешных бизнесменов.
Ни разу в биз не был.
152 Кб, 1014x693
138 Кб, 1030x554
#258 #735799
>>735747

> Может либа какая есть?


Либа
https://github.com/kurtmckee/feedparser

> Может код какой подскажешь поглядеть?


Доки к ней с примером работы с opds он базируется на atom
https://pythonhosted.org/feedparser/common-atom-elements.html

> можешь как-то подробнее рассказать об поиску по odps?


Любое действие - это просто запрос на нужный урл. Нормальные opds ссылку на поиск вверху фида оставляют. Например, на opds флибусты она вверху, 1 пик
Чтобы найти что-то на флибусте по этому урлу - нужно вместо {searchTerms} подставить запрос, 2 пик. В ответ придет список книг в тегах entry, после этого парсишь это всё с помощью той либы
>>736380
#259 #735805

> а не читать по полтыщи страниц.

#260 #735807
>>735791
как тред называется?
>>735808
#261 #735808
>>735807
прикрепленный
13 Кб, 973x386
#262 #735811
Тем временем asyncio с костылями уделывает ноду с гошечкой.
https://habrahabr.ru/post/282972/
#263 #735813
>>735811

> 2016


> вестись на echo-тесты

#264 #735814
>>735811
Где он уделыввает, меньше реквестов/сек же.
>>735880
#265 #735817
Задача из книги по притону:
функцию http://ideone.com/30ikxv
перепилить, чтобы вывод был в списке.
Вопрос: мне за такое горло перережут?
https://ideone.com/cI8LA7
#266 #735819
>>735817
Единственное, приходится выполнять два раза os.path.join(dir, name), а так - все верно.
#267 #735820
>>735817
и рекурсия проебалась, функция уже не выполняет то что задумано
>>735825
#268 #735825
>>735820
И верно, рекурсии нет, она в каталогах теперича искать не будет. Шоштакое
>>735826
#269 #735826
>>735825
Про 80 символов не забывай ещё
перед IF лучше сделать бэкслеш и перевод строки
http://pep8.ru/doc/pep8/
>>735829
#270 #735828
>>735838
#271 #735829
>>735826
Тут можно и без бэкслеша, тем более, что он не поощряется.
45 Кб, 700x680
#272 #735837
>>735657

И у меня такая же фигня.
#273 #735838
>>735817
Кажется, так: https://ideone.com/Ug2Pv7
>>735828

>dir_list += [path]


А вот за такое хочется убить.
>>735840>>735894
#274 #735840
>>735838
Поясни чому это плохо, и чем лучше твой нечитабельный однострочник, который даже не выполняет начальное условие?
>>735844
#275 #735844
>>735840
Потому что есть dir_list.append(path). Сначала я еще подумал, что dir_list у тебя содержит список файлов вместо директорий, но потом понял, что это всего лишь кривое название переменной.
И чем же мой однострочник не выполняет начальное условие?

И кстати, если в какой-нибудь директории лежит специальный файл (типа именованного пайпа), то любая функция кроме моей упадет.
>>735865>>735874
#276 #735845
Как разобраться с Джанго? С чего начать, что почитать, в каком порядке?
#277 #735847
>>735845
djbook.ru
>>735856
#278 #735848
>>735845
Начинать нужно с фласка.
#279 #735850
>>735852
#280 #735852
>>735850
Этот прав
>>735848
Фласк не всегда подходит для крупных задач. Лучше уж тогда bottle.
>>735883
#281 #735856
>>735847
Читал, как и Джанго гёрлз туториал
Пробовал 2 scoops но все что читаю я понимаю, просто не понимаю что с этим делать дальше.
В идеале мне бы что-то типа think Python с заданиями и кучей примеров найти но не уверен что такое существует вообще бля.
>>735848
С фласком туда-сюда знаком. Только мне они не пиздец похожи, аналогий я нифига не вижу. а еще там SQL alchemy вместо орм
>>735858
#282 #735857
>>735848

Хотя может ты и прав.
#283 #735858
>>735856
Значит у тебя больше проблемы с теорией. Все mvc фреймворки похожи.
Алхимия хорошая ORM, не нужно быть предвзятым. Считаешь её плохой просто так, значит для твоих задач это оверхед.
>>735859
#284 #735859
>>735858
У меня нет каких-то конкретных задач как таковых, я просто хочу научиться писать сайты.
MVC, ок, пухлая модель со всем что мне надо, контроллер с логикой для модели и вьювер. Это я все понимаю. Просто не понимаю что мне дальше с этим делать.
>>735864
#285 #735860

>я просто хочу научиться писать сайты


> просто не понимаю что с этим делать дальше.

>>735862
#286 #735861
>>735848
Фласк хуевый. Нет никакой организации кода и нормальных импортов. Чтоб подключить чей-то модуль нужно прописать его в 5 файлах. У меня от этого бахрейн.
>>735884
#287 #735862
>>735860
И что такого? В чем мой реквест учебных материалов тебе кажется нелогичным, неправомерным, несвоевременным и тд?
#288 #735864
>>735859
Ты странный. Если понимаешь логику MVC - пили свои задачи. Описывай схему бд, роутинг, шаблоны статики веб-приложения, тебя носом в это тыкать?
Но это не лучший вариант для веб-сервиса.
>>735876
#289 #735865
>>735844>>735817

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


>переписывает всю функцию целиком



http://ideone.com/4zy3Gi

Алсо,

>отступ в один пробел


Вот уж за это точно уебать посильнее нужно.
>>735868
#290 #735868
>>735865

Где написано, что нужно заменить print на добавление в список? В чем тогда смысл задания?

>Вот уж за это точно уебать посильнее нужно.


https://www.python.org/dev/peps/pep-0008/#tabs-or-spaces
>>735872>>735875
#291 #735872
>>735868
Он тебе намекал вот на это:
https://www.python.org/dev/peps/pep-0008/#indentation
>>735882
#292 #735874
>>735844

> Потому что есть dir_list.append(path).


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

> И чем же мой однострочник не выполняет начальное условие?


> чтобы вывод был в списке


Обычно в таких задачах подразумевается список с путями по которому не нужно повторно рекурсивно итерироваться(см os.walk) для перебора путей, иначе нахуй он нужен? Хотя в условии это не уточнялось, так что не существенно.

> И кстати, если в какой-нибудь директории лежит специальный файл (типа именованного пайпа), то любая функция кроме моей упадет.


Это из-за isfile? Спасибо, не знал.
>>735882
#293 #735875
>>735868

>Где написано, что нужно заменить print на добавление в список?


>перепилить, чтобы вывод был в списке.


>сейчас вывод идёт просто в консоль



>В чем тогда смысл задания?


Ну, это, чтобы ты понял, как рекурсия работает. Заодно и списки.
>>735882
#294 #735876
>>735864
Блин, я же говорю, у меня острый недостаток примеров даже реализации этого MVC.
Представлять недостаточно.
#295 #735880
>>735814
uvloop это и есть asyncio с костылями про которые говорил анон.
#296 #735882
>>735872
Так 4 пробела же и использую, а он табы, или я что-то упускаю?

>>735874
Создать новый список и затем сложить его с другим списком - это дольше, чем просто добавить элемент в конец. У этого сахара другое назначение.
Так вроде он и не будет находить повторные пути.
Точнее, это из-за not isfile. Специальный файл будет обрабатываться, как директория, поэтому и ошибка.

>>735875
Втупую заменив print на append, ты не выучишь ни рекурсию, ни списки.
>>735894
11 Кб, 252x241
#297 #735883
>>735852

> питон нуботред


> крупные задачи

#298 #735884
>>735861
Ты что-то не так делаешь, там делается все очень просто.
>>735914
#299 #735892
>>735529
Остальные типа не работают?
1 Кб, 127x66
5 Кб, 781x186
#300 #735894
>>735838
Ну и да, ты выхлоп своей функции-то видел? Оно на каждую директорию новый вложенный список создаёт. Про это в условиях точно ничего не было, и нахуй оно нужно не ясно.

>>735882

>Втупую заменив print на append, ты не выучишь ни рекурсию, ни списки.


Ну ты код-то мой открывал/запускал?

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


<--
>>735900>>735942
#301 #735900
>>735894
Т.е., твой выдаст
>>> for path in your_walk('walk'): print(path)
...
[['walk/dir/dirdir/x', 'walk/dir/dirdir/y', 'walk/dir/dirdir/z'], 'walk/dir/x', 'walk/dir/y', 'walk/dir/z']
walk/w


Не то на скриншот попало.
>>735942
#302 #735907
>>735332
Если кроссплатформа, лучше tkinter без изъебов нет ничего. Под linux я бы брал gtk3, можно так же быстро формочку накидать
>>735417
tkinter и под win, и под mac заведется без изъебов
>>735909
#303 #735909
>>735907
Бля, ты с этим ткинтером что-нибудь делал сам вообще? В нём нет НИЧЕГО, ничего нельзя кастомизировать. После qt это просто кусок дерьма на гвоздях.
>>735912
#304 #735912
>>735909
Делал, но у меня были инженерные задачки, что бы побыстрому считать пару формул, кастомизация там ни к чему.
>>735925
#305 #735914
>>735884
Расскажи как. Вот как мне правильно подключить два этих модуля?
http://flask-oauthlib.readthedocs.io/en/latest/oauth2.html
https://pythonhosted.org/Flask-User/
#306 #735918
Господа, мой питон заржавел, но надо быстро пофиксить проблемку в старом коде.
Вопрос такой - настолько дорого обходится игнорирование исключения? Т.е.
try:
except: pass

Хочу воткнуть это в большой цикл, где исключений будет около 50%. Не замедлит ли это код? Есть ли другие способы игнора исключения?
>>735930
#307 #735925
>>735912
Ну, что тогда рекомендуешь этот навоз?! Для нормального™ gui там нет ничего.
#308 #735930
>>735918
Все зависит от того, насколько много ты производительности потеряешь. Попробуй для начала. Если ты не вручную создаешь исключения - будет относительно быстро работать. Да и оптимизируется еще в рантайме, если их будет много в одном месте.
#309 #735942
>>735894
>>735900

>Ну и да, ты выхлоп своей функции-то видел?


Результат видел, и что? Список есть? Есть. Файлы и директории в нем есть? Есть. Если хочется плоский список - сделай его таковым.

>Ну ты код-то мой открывал/запускал?


Открывал, запускал. И что? Естественно, он работает, потому что там только пару строк изменено.

><--


И что ты мне показал?
>>736103
#310 #735950

>в третьем питоне можно переменные называть unicode символами


они че там совсем ебанулись? У меня 1C от этого.
>>735962
#311 #735957
Не полечатся вим настроить. Наставил кучу всяких плагинов и оно плохо работает. Подскажите самый минимум который можно оставить.
>>735958
#312 #735958
>>735960>>735971
#313 #735960
>>735958
Его хватит? А дэбагер?
>>735963
5 Кб, 413x59
#314 #735962
>>735965>>736022
#315 #735963
>>735960
pdb в соседней консольке.
#316 #735965
>>735962

>/bpython


проиграл
#317 #735971
>>735958
Установил. Дэфолтный выглядит не как на картинках. Где инструкция по настройке? Документацию читать не хочу т.к. слишком большая.
>>735973
#318 #735973
>>735971

>Документацию читать не хочу


Дальше не читал.
>>735974
#319 #735974
>>735973
а там и читать нечего
58 Кб, 500x500
#320 #735987
Так что, судари, нарекомендутете подробного с примерами мне чего для вката в Джанго?
>>735994
#321 #735994
>>735987
Во фласк вкатывайся.
>>735997>>735998
#322 #735997
>>735994
В нем кстати и "магии" меньше.
#323 #735998
>>735994
Пристал ты с этим фласком, там же вообще инфы ещё меньше, но окей:
По фласку:
1 мега туториал прошёл
2 официальный твиттеротуториал сделал
Что ещё по нему есть? Какие материалы?
>>736002
#324 #736002
>>735998
А что тебе еще нужно? Или ты теоретиком хочешь остаться? Пили что-то свое.
http://flask-russian-docs.readthedocs.io/ru/latest/
#325 #736022
>>735962
python уровня /b
#326 #736026
Может кто нибудь порекомендовать приложение работающее под линуксом для блокировки развлекательных сайтов по расписанию?
#327 #736028
>>736026
Куча такого для хрома.
Я сам пробовал, но потом забил. Под видосы с ютьюба работать веселее.
>>736449
#328 #736030
>>736026
Под линусксом сидят боги, у которых есть сила воли. А ты съеби с этого треда, твой вопрос не относится к питону.
#329 #736031
>>736026
http://www.kindergate.ru/download

>Kindergate Parental Control 3.2 for Linux

#330 #736037
>>736026
Харкач не забудь.
#331 #736042
>>736026
Править /etc/hosts в кроне
#332 #736103
>>735942

>Список есть? Есть. Файлы и директории в нем есть? Есть.


Не будь фрилансером, пожалуйста. С таким понимаем ТЗ у тебя только постоянные срачи с "тупыми клиентами" будут.

Твоя функция работает не так, как изначальная.

> Естественно, он работает, потому что там только пару строк изменено.


А кто говорил, что нужно много менять?

>И что ты мне показал?


Я хотел показать, что новый список не создаётся, но это я не так понял твой пост, приношу свои извинения.
>>736108>>736115
#333 #736108
>>736103

>С таким понимаем ТЗ


Какое ТЗ, ты о чем? Там даже задание не описано нормально, а ты в двух словах ТЗ нашел. Было задание получить список с файлами, все это есть.

>А кто говорил, что нужно много менять?


Никто не говорил, это ты меня спросил про твой же код.

В общем, я прав, а ты неправ, конец дискусса.
>>736116
#334 #736115
>>736103
Все, понял, что требовалось в самом начале, тут твой код ближе. Только все равно тупость чет какаят.
#335 #736116
>>736108

>В общем, я прав, а ты неправ


Ну охуеть, сделал говно и рад.

>Какое ТЗ, ты о чем?


Есть фукнция, она принтит результаты. Нужно сделать так, чтобы вывод был в списке. Вполне очевидно, что элементы списка должны быть такими же, как и текущие принтуемые строки.

С твоей логикой можно было вообще лишь парочку файлов вывести. Ну а чо, не сказано же, что всё должно быть!

>конец дискусса.


Окей.
34 Кб, 469x629
#336 #736156
>>732347 (OP)
Что это за говно, поясните плиз.
>>736162
#337 #736159

>a, b, c, p, k, i


такое говно даже читать не стоит
>>736160
#338 #736160
>>736159
Из шапки взял, но это не самое страшное. Я пытаюсь понять, что здесь написано, точнее я понимаю, но не понимаю зачем писать именно так.
>>736163
#339 #736162
>>736156
В чем у тебя вопрос?

Видимо, тут выводятся простые числа, количество при этом вводится пользователем.
Но блядь

> for i in range(2, a):


> if ( i <= sqrt(a) ):


ЗАЧЕМ?
>>736167>>736190
#340 #736163
>>736160
Иисус дал тебе Лутца, учи - не хочу, нет, хочу жрать говно.
>>736190
#341 #736167
>>736162
Видимо, делать range(2, sqrt(a) это не путь истинного воина.
>>736196
#342 #736190
>>736162
До меня дошло, это типа инлайн функция.

>>736163
Слишком объемный, питон не основной мой язык .
>>736226
#343 #736196
>>736167
Там он четные проверяет, а это не надо.
>>736198>>736226
#344 #736198
>>736196
Там вообще по идее по сгенеренному массиву/списку простых чисел идти надо.
#345 #736226
>>736190

>До меня дошло, это типа инлайн функция.


Не понял.

>>736196

>Там он четные проверяет, а это не надо.


Нет, четные числа скипаются на строке

> a = a + 2


В цикле for перебираются числа от 2 до корня числа, чтобы найти количество делителей.
Сейчас еще заметил, что b - это булева переменная, но вместо True/False используется 0/1, и снова:

>p = p + [a]



Что происходит, это же пример плохого кода в книге, да?
>>736237
155 Кб, 1920x1080
111 Кб, 1920x1080
161 Кб, 1920x1080
#346 #736228
Из-за чего у меня не импортится класс из файла?
>>736230>>736371
#347 #736230
>>736228
from app.forms import LoginForm?
#348 #736237
>>736226

>Не понял.


Встроенная функция, это из с++. Когда вместо вызова функции подставляется ее код.

>Нет, четные числа скипаются на строке


Подставь принт после фора.

>В цикле for перебираются числа от 2 до корня числа, чтобы найти количество делителей.


Нет, там ищется делитель.

>Что происходит, это же пример плохого кода в книге, да?


Я хз, но принцип разделяй и властвуй здесь явно не используется. Сам алгоритм нахождения тоже весьма странный.
>>736244
#349 #736244
>>736237

>Встроенная функция, это из с++


Это я знаю, просто не понимаю, чем она связана с кодом со скриншота

>Подставь принт после фора.


Принт чего?

>Нет, там ищется делитель


Нет, там ищется, есть ли делитель. И еще одна кривость - если делитель найден, то он все равно продолжает искать делители, хотя это уже неважно.

> else:


> pass


Чем дольше я смотрю на этот код, тем больше мне хочется убить автора.
>>736254
#350 #736254
>>736244

В принципе ничем не связана, просто давно такого кода не видел. И первое, что пришло в голову, это то что автор решил не тратить время на вызов функции и сам вставил ее в код. Оптимизировал так сказать.

print(i) после for ...

Самое грустное, что эта книга в шапке.
>>736265
#351 #736265
>>736254

> автор решил не тратить время на вызов функции и сам вставил ее в код. Оптимизировал так сказать.


Что это значит?
>>736286
#352 #736286
>>736265
Вызов функции занимает некоторое процессорное время. Грубо говоря,
x = 0
for i in range(0,20):
x = x + 5

Быстрее, чем
x = 0
def add(x,y): return x+y
for i in range(0,20):
x = add(x,5)
>>736306>>736325
#353 #736306
>>736286
Понял.
#354 #736325
>>736286
только нету в питоне этой инлайн функции, он её вызывал для каждой итерации, даже исполнение байткода на прямую это вызов функции exec.
#355 #736371
>>736228
Вот не знаю нахуя так
По мне так удобней просто импорт, чем та хуйня лучше?
>>736375
#356 #736375
>>736371
ты про "from"?
>>736377
#357 #736377
>>736375
Да, про него
>>736385
92 Кб, 640x640
#358 #736380
>>735799
Низкий поклон тебе!
#359 #736385
>>736377
Не импортируешь лишне
>>736387>>736389
#360 #736387
>>736385
только для пакетов работает
>>736403
#361 #736389
>>736385
Так файл один хуй полностью загрузиться
Но доступ не будешь иметь ко всему
>>736403
#362 #736403
>>736389
>>736387
Ну это для тех случаев, если хочешь, например, использовать только одну функцию из модуля и не писать постоянно module.function.
#363 #736407
Что такое декораторы?
вот эти все
@vasya
def zhopa():

где о них почитать (помимо документации, которая для меня слишком аскетична) ?
>>736412
#364 #736412
>>736407
хабрапарашу для кого придумали? вторая ссылка в гугле
https://habrahabr.ru/post/141411/
>>736454
#365 #736449
>>736028
Спасибо за совет. Поставил StayFocusd. Норм что можно заблокировать не весь сайт а определенные ссылки.
#366 #736454
>>736412
Магистр Гугла, ты я вижу пацан толковый, подскажи пожалуйста что ещё есть кроме декораторов из неведомых для ньюфага вещей, о которых в Think Python'e не написано?
Паттерны программирования в питоне, например, втф и где почитать? и ещё чего есть прикольного?
#367 #736460
>>736454
Ты бы лучше практиковался, проектики делал
И вопросы по мере их поступления решал
>>736490
#368 #736462
>>736454
Паттерны погромов - summerfield "python in practice"
expert python programming ещё попробуй
>>736490
#369 #736484
Ананасы, подкиньте идей чтоб написать интересного
И заодно вопрос: как на питончике веб бекенд писать, материала бы какого по этой теме
>>736488
#370 #736488
>>736484

>подкиньте идей чтоб написать интересного


напиши имиджборду, по пути изучив верстку на html+css

>как на питончике веб бекенд писать


скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent
>>736497
#371 #736490
>>736460
Скучно. На джуна я ещё даже не пробовался, своих охуительных идей особо нету. Да и в программинг профессиональный я не горю желанием вкатываться, мне просто нравится всё это учить и играться.
>>736462
Спасибо большое!
#372 #736497
>>736488
Благодарю
Буду разбираться с этим
Локальный сервер с Торнадо на винде поднять возможно?
#373 #736624
>>732347 (OP)
Есть какая-нибудь разница между " " и ' ', то есть есть такая ситуация где их поведение различается. А то я уже заебался искать различия между ними.
>>736628>>736636
#374 #736628
>>736624
Нет. Только договорённости и последовательность в использовании.

Многие используют одинарные для каких-то служебных целей (ключи в словаре, аргументы в функциях типа 'single', 'multi' и т.д.), а двойные когда именно строка текста, предназначенная для чтения.
>>736630
#375 #736630
>>736628
Ок, спасибо. Теперь моя душа спокойна.
#376 #736636
>>736624
Мне больше "" нравятся, они выглядят солиднее. А это ' говно оставим апострофам
>>736700
#377 #736668
>>736454
дескрипторы

магические методы

не читал think python
#378 #736700
>>736636
' ' удобнее использовать, не нужно никуда тянуться и шифт нажимать.
>>736702
#379 #736702
>>736700
Давно планирую перенастроить раскладку, нажимать 2 клавиши заебало.
>>736715
#380 #736715
>>736702
Перенес шифт на внешнюю педаль, удобство выросло в разы. Думаю докупить вторую педаль и назначить контрол.
#381 #736720
>>736715
Коробку передач под выбор раскладки еще можно сделать.
#382 #736722
>>736715
шифт ногой - оригинально.тхт
#383 #736772
PyCharm или Visual Studio?
>>736774>>736775
#384 #736774
#385 #736775
>>736772
как крестовик советую pycharm
>>736777
#386 #736777
>>736775
Ведь pycharm только для питона, не? А для C++ что посоветуешь?
>>736780
#387 #736780
>>736777
Ну я для питона использую pycharm
Для крестов - студию
>>736784
#388 #736784
>>736780>>
ОС?
>>736791
#389 #736791
>>736784
Шindows
>>736797
#390 #736797
>>736791
Какой Pycharm украсть? То что поновее или любую?
#391 #736800
>>736797
Он бесплатный
#392 #736801
>>736797
community версию качай
#393 #736804
>>736797
Извиняюсь, перепутал с CLion
#394 #736810
Сап, программисты. В понедельник иду на собеседование (точнее скайп собеседование) на должность джуниор питонера. Это мое первое собеседование. Как не оподливиться при HR и таки устроиться там работать?
>>736811>>736821
#395 #736811
>>736810
в мы вам перезвоним тред
#396 #736817
>>736797
На последний тоже кряк есть.
#397 #736821
>>736810
Почитай про генераторы, аннотации, классы, магические методы/переменные-эту хуйню спрашивают чаще всего.
А шанс оподливиться есть всегда, зависит от упоротости твоего контрагента. Меня как-то дзен питона спрашивали.
#398 #736823
>>736821

> дзен питона


ответил бы что разработчики его сами не соблюдают, и он нахуй не нужен
#399 #736824
>>736821
не-не-не, в этом я как раз шарю. Я в плане в общем как себя вести (мамкин хикка)
>>736853
#400 #736826
>>736821
что за аннотации? Может декораторы?
>>736829>>737279
#401 #736829
>>736826
уже нашел, тупонул, извините
#402 #736853
>>736824
>>736824
Веди себя как человек, который уважает себя.
#403 #736939
А в чем смысл кодинга?
>>736958
#404 #736958
>>736939
Сосать хуец тимлида.
>>736964
#405 #736964
>>736958
А если одному кодить?
>>736965>>736966
#406 #736965
>>736964
В чем смысл одному кодить?
>>736967
#407 #736966
>>736964
Ну тогда свой, что ты как маленький.
>>737917
#408 #736967
>>736965
В чем смысл кодинга?
>>739872
37 Кб, 358x405
#410 #736985
>>737012
#411 #737010
>>736983
return убери
>>737055
#412 #737012
>>736985
внутри функции нельзя ссылаться на саму себя.
>>737055
#413 #737055
>>737010
Спасибо, правда я уже забыл что хотел проверить.
>>737012
Не понял, это ты к чему?
>>737057>>737067
#414 #737057
>>737055
Он про то, что в функции fo2 нельзя использовать self.
>>737073
#415 #737067
>>737055

>"return self.x = x"


я сначала подумал что ты любитель сишки и хотел за одну операцию сделать присвоение и вызов, что-то типо ++i в сишке.
>>737071
#416 #737071
>>737067
Так и есть, он это и хотел сделать. В C-подобных языках обычно присвоение еще и возвращает значение.
#417 #737073
>>737057
А , да, то вообще херня. Кстати, не подскажите заодно почему с переопределяя сет и гет я не получаю принт и степени при действиях?
31 Кб, 349x424
#418 #737074
>>737077>>737169
#419 #737076
Зацените, посоны:
http://pythonhosted.org/arcade/
>>737184>>737305
#420 #737077
>>737074
>>737073
Геттеры-сеттеры работают только для аттрибутов, которых нет в объекте. Тебе нужно в __init__ заменить self.x = x на pass
>>737079>>737086
#421 #737079
>>737077
Спасибо.
2 Кб, 341x114
#422 #737086
#423 #737126
>>736715
лёл
13 Кб, 612x417
#424 #737169
>>737074
>>737073
getattr лучше не трогать, попробуй раскомментировать 5 строчку. Охуеешь потом отлавливать.
>>737170
#425 #737170
#426 #737184
>>737076
я думал ты написал игрулю какую, а ты просто пакетом хвастаешь
>>737188
#427 #737188
>>737184
Ну, сюда часто игроделы заходят, может пригодится. На питоне вроде не так много игровых штуковин.
#428 #737219
Котаны, есть список кортежей. В кортежах находятся пара чисел-координат, по принципу [X.Y]. Вопрос таков, можно ли как-то не перебирая весь список найти найболее часто встречающуюся координату будь то X или Y? Или это уже не питон, а читать книги по алгоритмам?
>>737225>>737241
3 Кб, 593x88
#429 #737225
>>737219
скорее всего можно ещё красивее, но я не функционало-бог.
>>737229
#430 #737229
>>737225
Ага, все таки надо делать переборку. А я думал, что где-то есть улучшенная версия .count() для вложений.
>>737231
#431 #737231
>>737229
В смысле роширенная, которая позволяет уточнять критерии подсчета
#432 #737241
>>737219

>не перебирая весь список


нет, если только не формировать подобную статистику при обновлении/создании списка

алсо посмотри на collections.counter
>>737244
5 Кб, 625x149
#433 #737244
>>737445>>737495
#434 #737279
>>736826
Я их и имел в виду, конечно. В некоторых других ЯП то же самое аннотациями зовётся.
>>737282
#435 #737282
>>737279
Аннотации - это метаданные, а декораторы - это функции, которые принимают функцию и возвращают функцию (грубо говоря). Не путай, пожалуйста.
#436 #737305
>>737076
Ты Paul Vincent Craven или Владимир Слав?
168 Кб, 500x617
144 Кб, 960x995
223 Кб, 960x995
131 Кб, 960x995
#437 #737382
Я реквестировал итт книжек годных по джанго для меня - вучившего питон, но с недостатком опыта MVC и прочих штучек.
Перекопал всю литературу что нашёл по запросу джанго, и отечесвтеную, и зарубежную - наиболее понравилась Django by Example
Step-by-step, много кода, много пояснений.
Если у кого такие же проблемы как у меня - рекомендую.
>>737410
#438 #737410
>>737382
Пиши код, зачем ты читаешь книжки?
>>737464
#439 #737445
>>737244
Ты нахер counter'у лямбду присвоил? Так не делается, ты не понимаешь лямбд, либо сразу её используй, либо через def.
>>737475
#440 #737464
>>737410
Отличный и заебавший совет который работает нифига не сразу из коробки
У меня недостаточно опыта понимать Джанго/мвц магию. И где узнавать что Джанго может, что нет - я хуй знаю, документация шикарный источник но блядь я не представляю даже куда пихать методы эти и как.
Расскажу как я учил питон с нуля по программированию вообще:
Тупо и бездумно переписывал чужой код из туториалов, книжек, чуть менял и эксперементровал, и тд пока не дорос до уровня понимания что к чему.
Тот же трюк хочу проделать и с Джанго, т.е. мне нужно для старта просто код с хорошими комментариями по самой идее той или иной хуйни, которую оно может реализовать.
#441 #737475
>>737445
нормально он зделол все
>>737666
#442 #737495
>>737244
[Counter(cs).most_common(1)[0] for cs in zip(*coords)]
#443 #737636
пишу значит я лампово код а тут такое может кто скажет что это
>>737643>>737682
#444 #737643
>>737636
ты вообще о чем?
>>737649
#445 #737649
>>737643
Тян подошла, поцеловала и ушла. А я один дома, в закрытой квартире.
>>737663
#446 #737663
>>737649
Просто согласись что это лучше, чем если бы она захуярила тебе поджопник и живи дальше
#447 #737666
>>737475
Таким образом она не отличается ничем от def, кроме того, что всё ещё анонимная. Плюс это не по PEP
#448 #737671
А где в pycharm посмотреть что logging выводит?
>>737674
#449 #737674
>>737671
Всё. Разобрался.
#450 #737682
>>737636
Я смотрю, Гвидо не очень силён в кроссвордах.
https://twitter.com/gvanrossum/status/729004816609910785
#451 #737713
Можете объяснить логическую подоплеку того что конструкторы в питоне иницируются __INIT__, почему нельзя было просто зарезервировать нормальное слово без этих убогих подчеркиваний?
#452 #737718
>>737713
А разницы? Зато виднее
>>737720
#453 #737720
>>737718
Ну я так и понял, но выглядит так будто я вызываю API в винде.
#454 #737721
>>737713
ну это тип магический метод, все магические методы особенные

это даже магглу понятно
>>737723
#455 #737723
>>737721
Какой ужас, прикольно конечно но похоже на костыли.
>>737726>>737772
#456 #737726
>>737723

>похоже на костыли


dive into python.jpg
>>739914
#457 #737772
>>737713

> логическую подоплеку


Есть обычные методы, есть магические с __%name%__, к каким нужно определить конструктор как по мне вполне очевидно.

>>737723

> но похоже на костыли.


Глупости, добавлять ради ссаного конструктора новую сущность чтобы не пугать ниосиляторов — вот что было бы костылем.
>>737858
#458 #737775
Попросили сделать интернет магазин.
Первый вопрос - как лучше делать - брать готовое вроде оскара/shoop или запилить с нуля, зато попроще и прям как надо? А второй вопрос - сколько за это просить денег.
#459 #737785
>>737775
Зависит что за магазин и какой функционал. Сам можешь и не осилить Оскара того же, документации то по нему всяко меньше чем по какому вордпрессовскому магазику, можешь и не слепить на Джанго с нуля.
Вроде в 2 scoops of django как раз магаз разрабатывали, можешь глянуть.
По деньгам проси сколько душе угодно, в мире победившего капитализма прейскурантов по отрасли нету.
>>737813
#460 #737813
>>737785
Вроде много написал, а ни на один из вопросов не ответил.
>>737816
#461 #737816
>>737813
а хули ты хотел от питонщика, слишком гибкий, аш из рук выскальзывает!
мимо-другой-кун
#462 #737820
>>737775
Алсо, я понимаю что по-хорошему надо взять уже что-то абсолютно готовое и просто натянуть свой шаблончик, но это так скучно...
Тот же shoop какой-то перегруженный. Заходишь в админку и глаза разбегаются.
>>737823
#463 #737822
Помогите советом. Есть база. Допустим с фильмами. У нас хранится название и жанр. Жанров может быть несколько. Как их хранить в базе?
>>737823
#464 #737823
>>737820
Учитывай, что если ты будешь что-то делать сам, то дальше тебе придется и самому это поддерживать. А для готового решения уже и так есть много инфы в интернете.

>>737822
Читай про отношения многие-ко-многим. И как это относится к питону?
>>737825>>737827
#465 #737825
>>737823

>самому это поддерживать


за дополнительную плату
#466 #737827
>>737823

>И как это относится к питону?


Ну я на питоне делаю. Да и это самый адекватный тред.
Спасибо!
>>737832
108 Кб, 895x746
#467 #737832
>>737834
#468 #737834
>>737832
Это спасибо - не твое спасибо, не воруй чужие спасибо.
>>737839
#469 #737839
>>737834
Это и не на спасибо.
#470 #737858
>>737772
Чего это основа ООП вдруг стала ссаной? Или на питоне ООП тип не котируется?
>>737887
#471 #737887
>>737858
Основа ООП это наследование-инкапсуляция-полиморфизм, а я говорю о обычном конструкторе, фишке одной из множества парадигм программирования поддерживаемых питоном, который даже не ооп-ориентированный язык чтобы городить какие-то отдельные костыли для оопшников, не по дзену это.

> Особые случаи не настолько особые, чтобы нарушать правила.

>>737891
#472 #737891
>>737887
Я не предъявляю просто пытаюсь разобраться, брат.
#473 #737917
>>736966
рекурсия какая-то
>>737929
20 Кб, 300x225
#474 #737929
>>739872
57 Кб, 650x397
#476 #738182
ребята, может кто помочь с парсером вк? он работает, но через жопу. вместо положенной тысячи выдает очень низкое количество результатов по заданным критериям
пишите мне в вк: disco 9000
>>738219>>738284
#477 #738219
>>738182
Выкладывай сорцы, посмотрим.
>>738250
51 Кб, 800x707
#478 #738249
gtk3
Анончик, есть написанная главная панель с параметром "set_keep_above(True)"и прочие системные окна (текстовые редакторы, плееры, браузеры и т.д.). Всё это работает в "openbox".

Как сделать, чтобы открытые окна не "прятались" за ним, а прилипали к нему?
>>738251
#479 #738250
>>738219
https://ideone.com/2xL0aC

кусок после авторизации и до записи в файл.
я нюфаня, если что
>>738284
#480 #738251
>>738249
быстрофикс
не прятались и не закрывали его, а прилипали к нему?
#481 #738284
>>738182
>>738250
Читаем доки:
https://vk.com/dev/users.search
Он тебе максимум вернет 1000 айтемов и правильно сделает. Тебе нужно делать запросы с разным оффсетом, пока айтемов не останется 0.

И да, твой код ужасен.
>>738299
#482 #738299
>>738284
E меня был вариант 1000 каунт + 1000 офсет, но так как офсет не работает если каунт больше косаря, то придется видимо брать 100+100 и так далее.
Но как сделать повторение после первого прогона? Я не знаю
>>738302
#483 #738302
>>738299
У вк ограничение, вроде как, через API максимум 1000 получишь со смещением или без.
>>738336
#484 #738336
>>738302
Это я знаю, тут ситуация другая:
Если критериев по минимуму (ну к примеру только город и возраст) - этот косарь я легко получу. Но если я добавляю еще и пол, то вместо нового косаря, с людьми из первого поиска (частично), я получу около 5и соток страниц и все они уже были в первом поиске!
Если добавляю еще критериев, к примеру дату рождения, то вообще 5 страниц получается и все они тоже уже были при первом поиске.

Он каждый раз ищет по самому первому косарю и дальше уже делает фильтрацию по категориям. А я хочу чтобы благодаря этому разбиению на критерии я каждый раз получал новый косарь страниц.
>>738519
#485 #738519
>>738336
эту проблему победил, теперь перед нубом встала проблема регистрозависимости поиска видосов и кириллицы в питоне...
#486 #738531
А поясните мне по пичарму:
вот у меня есть папка корневая проекта, где репозиторий гитхаба инициирован. в нём папка с джанго.
открываю папку эту корневую в пичарме и не подсвечиваются шаблоны. открываю папку с джанго - подсвечиваются, но бля так неудобно же
>>738568
#487 #738566
Вопрос к тем, кто имел дело с ГУИ или понимает что-нибудь в этом.
Вот в моей программе сейчас полно виджетов, всякие меню, выборы, назад возвращаться можно и т.д. Я к тому, что все это загружается при запуске программы. Но мне ведь пользователь не всегда будет заходить во все разделы программы. В настройки, например. Значит эти виджеты можно загружать только когда они понадобились.
Как поступают нормальные люди? Я работаюс с PyQt если что.
>>738744
#488 #738568
>>738531
А ты в настройках поковыряйся. Там есть про структуру проекта. Можешь любые папки сам отметить как хочешь.
#489 #738599
Хелп, как через urllib отправить post запрос с руссиком и не только?
после urllib.parse.urlencode руссик принимает вид поноса типа %3E%3
Про requests знаю, нужна стандартная библиотека.

values = {'ololo': 'norm', 'ololol2': руссик'}

databytes = urllib.parse.urlencode(values)
print(databytes) /тут понос,на сервер идет он же
req = urllib.request.Request(url, data=databytes.encode())
r = urllib.request.urlopen(req)
print(r.read().decode('utf8'))
#490 #738601
>>738599
Фиг знает. Может что-нибудь такое?
http://stackoverflow.com/questions/1020892/urllib2-read-to-unicode
>>738604
#491 #738602
>>738599
Не используй urllib.parse.urlencode и все, в чем проблема? Если нужен utf, кодируй пэйлоад в json.
>>738604
#492 #738604
>>738601
Там же РЕАД, не то.
>>738602
Но без urllib.parse.urlencode ругается на словарь ValueError: Content-Length should be specified for iterable data of type <class 'dict'>
>>738607
#493 #738607
>>738604
Я ж говорю, кодируй в json

import json
values = {'ololo': 'norm', 'ololol2': руссик'}
databytes = json.dumps(values)

Только сервер, на который отправляешь, должен знать, что ему передали json. urlencode в принципе не поддерживает utf, а только %-последовательности.
#494 #738609
>>738599
Используй библиотеку requests и не еби себе мозг с urllib - это одна из самых хуёвых частей стандартной библиотеки.
181 Кб, 736x1137
#495 #738617
Анон, а ты испльзуешь mixedCase в своем коде? Мне, например, нравится, когда имена переменных визуально отличаются от имен функций, но PEP8 рекомендует lovercase c подчеркиваниями как для переменных, так и для функций.
>>738620>>738635
#496 #738620
>>738617
Рекомендация она на то и рекомендация, что не заставляет тебя писать так. Пиши, как хочешь, ну что ты как маленький.
>>738642
#497 #738635
>>738617
Анон не использует и тебе не советует. Общий стандарт позволяет не тратить ресурсы мозга на парсинг исходников, можно быстро пробежать код глазами. Если ты пишешь проект, который никто кроме тебя не увидит, то разницы нет. Но все равно лучше используй pep8, чтобы самому привыкнуть, проще будет чужой код читать.
А так нарушения pep8 допускаются в основном в случае кальки библиотек из других языков, такое есть даже в стандартной библиотеке, см threading, unittest.
#498 #738642
>>738620
Грешно же, боженька накажет. Да и анон постом ниже не советует.
Алсо, может есть какой-то гайд по подбору имен? А то иногда придумать красивое имя переменной или функции сложнее чем логику написать.
>>738649>>738665
25 Кб, 638x359
#499 #738649
>>738642
Скорее нет, чем да. Как-никак одна из фундаментальных проблем cs. В Совершенном коде на эту тему было много букв и примеров, можешь почитать.
#500 #738665
>>738642
Вот статья которая для лбых языков подходит
https://learn.javascript.ru/write-unmain-code
(про подчеркивания только пропусти)

https://www.youtube.com/watch?v=z5WkDQVeYU4
советую посмотреть другие видосы этого мужика, дельные вещи говорит.
>>738688
#501 #738687
Почаны, поясните за virtualenv.
Вот пипы туда можно складировать, а пакеты apt-get нельзя?
>>738714
354 Кб, 2560x1440
#502 #738688
>>738665
Спаибо. Но чел на видио таки миксидКейсоБлядь. Скринрелейтед.
>>738692
#503 #738692
>>738688
Расплющи в уме до снейк кейса
#505 #738714
>>738687
Это такой костыль что бы вынести все связанное с питоном отдельно, начиная от версии и заканчивая пакетами и их версиями.
С практической точки зрения пофигу где ты это окружение создаешь, в какой папке, главное закрепить интерпретатор из него к проекту в иде либо если без иде - предварительно запускать для соответствующего проекта его окружение
Устанавливать через суперюзера пипом какие-либо пакеты не желательно - засрешь и систему, и похеришь зависимости проектов.
>>738723>>738725
#506 #738723
>>738714
Ну, я вроде понял, в чем смысл, только обычно когда я создаю проект, то устанавливаю не только пипы, но и обычные пакеты apt-get, типа шрифтов и парсеров. Они не будут засовываться в эту папочку, верно? Выходит то же самое засирание.
>>738728
#507 #738725
>>738714
поясни за модуль venv в анаконде, это типо такой костыль для спермы в которой нет virtualenv?
>>738728
#508 #738728
>>738723
Вот что бы такого не было все пипом и ставят, всякое говно бывает всплывает при установке всяких монструозных PIL, которые за собой тянут всякие левые (читай сишные) библиотеки
>>738725
Не работал с ней
>>738935
#509 #738744
>>738566
Если виджеты-настроек -- это отдельное окно, то лучше его читать через uic. Но вообще на моей памяти не было гуи чтобы что-то тормозило именно из-за гуи.
>>739965
#510 #738935
>>738728
Значит все-таки исключительно для питоновских пакетов, да? Понятно, значит ерунда это всё.
А что скажете насчет модного нынче докера? Чем он отличается от виртуаленва? Как он подымается, точно также, просто папочкой? И туда уже можно все подряд сувать, и пипы и апт-геты? Или это почти целая виртуалка с какими-то своими драйверами?
#511 #739034
>>738599

>values = {'ololo': 'norm', 'ololol2': руссик'.decode('cp1251')}

>>739039
#512 #739039
>>739034
Почему вы не можете понять, что проблема не в либе, а в кодировании url?

>>> values


{'ololol2': b'\xf0\xf3\xf1\xf1\xe8\xea', 'ololo': 'norm'}

>>> urllib.parse.urlencode(values)


'ololol2=%F0%F3%F1%F1%E8%EA&ololo=norm'

Получается тот же самый мусор.
>>739331>>739337
#513 #739331
>>739039

>urllib.parse.urlencode(values)


вот это вот нахуй
#514 #739337
>>739039
а вобще постарайся понять что именно ты хочешь сделать, а не сволакивай в одну кучу все чты где-то нагуглил
#515 #739410
>>732968

Надо было фреймворк использовать.
#516 #739563
Посоветуйте хостинг, на котором я могу оставить крутиться свой скрипт.
>>739609
#517 #739609
>>739563
digital ocean
amazon free tier
#518 #739872
#519 #739914
>>737726

>dive into python.jpg



DIVE TO DNIWE ONTO PYTHON
#520 #739965
>>738744
Ну сама прога не очень быстро загружается.
#521 #744750
>>732724
А ведь он может грызануть. Не зря она смотрит.
#522 #744751
>>732894
До этого он asyncio запиливал активно.
#523 #744765
>>735811
Вот кстати полезная штука. Нативная асинхронная медленная и ест очень много памяти.
Тред утонул или удален.
Это копия, сохраненная 25 мая 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски