Этого треда уже нет.
Это копия, сохраненная 3 июня 2015 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
152 Кб, 600x600
С чего начать учить Питон?
http://habrahabr.ru/post/150302/

Книги:
Марк Лутц - Изучаем Python, 4-е издание.
Марк Саммерфилд - Программирование на Python 3. Подробное руководство.
Марк Лутц - Программирование на Python.

Полезные ссылки:
http://pythondigest.ru/ - новости и так далее. Можно подписаться на их твитер.
http://pycoders.com/ - еще новости
http://habrahabr.ru/post/205944/ - полезные материалы для начального уровня.
http://pythonanywhere.com/ - бесплатный и простой хостинг для джанги, например.

Классные библиотеки:

http://kivy.org

Видео:

https://www.youtube.com/playlist?list=PLpTASIMYgCp8supkEmnnrYa5xi9g91ZPI – введение в джангу. Хотя если прошел официальный туториал то начало покажется затянутым и скучным.
http://rutracker.org/forum/viewtopic.php?t=4622868 Специалист Питон
#2 #465947
Подбампну пару раз.
#3 #465948
Бамп.
#4 #465971
Хули вы пидарасы ленивые нихуя не пишете?
#5 #465972
Меня беспокоит GIL. HTTP2 на подходе, WebSocket уже здесь. Надо же эффективно использовать все ядра, иначе соснем у Java/Scala. Асинхронность не решает проблему.
#6 #465973
>>465971
Кстати, говорят что в питоне ленивые вычисление не настоящие. Что это значит?
#7 #465981
Когда уже в шапке будут нормальные книги? Где Доусон?
72 Кб, 700x371
#8 #465983
Репостну из предыдущего треда.

Изучаю питончик с августа, делая не очень практические задачки, но стандартные для программирования. Буквально месяц назад потихоньку начал изучать джанго, хочу летом устроиться на первую работу питон джуниора/джанго джуниора.

Но все же возник вопрос по обучению. Кто что думает насчет этих курсов?
https://realpython.com/
http://learnpythonthehardway.org/

Стоит ли их проходить или же уже просто пытаться с нуля поднимать свои приложения, натыкаясь на грабли, утыкаясь в стены, и порой не понимая с чего начать? Кажется это самый годный способ действительно изучить что-то. Но и самый трудоемкий.
#9 #465984
>>465946
Как можно быть таким тупым мудаком и не постить в старый тред перекат?
#10 #465992
>>465984
Потому что он утонул настолько глубоко, что мне лень было его доставать.
#11 #465993
>>465981
В следующем будет, няша, не волнуйся.
#12 #466031
>>465972
GIL всех беспокоит. Но от него никуда не деться. Гнидо, ломая совместимость py2 и py3, говорил что даже пытаться бессмысленно, и небольшие улучшения в этой части стоили ему охуенной боли. Нормальное решение - использовать несколько инстансов питона, общаясь между ними через сокеты, дубасы, каналы, аллаха и прочие IPC.

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

Еще можно юзать Jython или IronPython, в них GIL нет, но нутыпонел.
#13 #466043
Аноны, помогите залетному. Есть текст, преобразованный в байты "encode('utf-8')", а байты преобразованы в биты функцией bin. Как теперь эту кучу битов восстановить в исходный текст?
#14 #466055
>>466031
То есть даже Гвидо признал что ГИЛ - это ошибка?
#15 #466060
напомните мне, зачем нужен питон, когда есть дг?
>>465972

>перечислил io-bound задачи


>авторитетно сказал что нужно несколько ядер


ясно.
>>465973
у тех кто спизданул и спрашивай, что они под ленивыми вычислениями подразумевают. хачкель-стайл чтоли?
>>466055
смотрите-ка, иксперт по многопоточному программированию вылез. ну-ка расскажи что ты будешь делать, если gil убрать? вон, в MRI он тоже есть, почему-то я не вижу никаких кукареков по поводу этого. а где его нет, там надо даже примитивные операции вроде добавления элемента в масив в блокировки оборачивать, иначе можно половину запросто проебать. да что там скриптопараша, в сишных приложениях при компиляции с поддержкой потоков malloc вообще в свой глобальный лок оборачивается, он же тоже не thread-safe. это потоки сломаны нахуй, а не gil.
#16 #466062
>>466060
Воу воу, что ты такой агрессивный? Я прост спросил.
#17 #466071
>>466055
Питоновский гил добавляет проблем. Иногда. А иногда наоборот, например с ним можно положить на memory-safe. Это оче спорная фишка, и срачи с него возникают збс. Вот анон выше уже возгорелся от его упоминания, лол. Каким-нибудь Го питону точно никогда не стать, но жить можно. Для мелочи - асинхронность, для остального - дополнительные инстансы. Рубисты так и делают.

Вот кстати кулстори по переходу с 100500 инстансов руби на каналы Го - https://sourcegraph.com/blog/live/gopherconindia/112656568167
#18 #466080
>>465972
Я думаю, проблеммы можно разрешить путем использования нескольких процессов и асинхронной очереди сообщений для коммуникации между ими
883 Кб, 1081x712
#19 #466110
Прошел интродакшн на Coursera.
https://www.coursera.org/specialization/fundamentalscomputing2/37
Очень интересно курс построен для новичков.
В конце простая игруха из 80х пилится с использованием ООП
http://www.codeskulptor.org/#user39_JTLOqrjllS_117.py
#21 #466156
>>466060
Петушок, плиз!

Обычно это делается так: принимаем данные в одном потоке, используя асинхронный сокет. Данные обрабатываем в других потоках. А в питоне так получается, что я данные даже если получаю асинхронно, то толку от этого мало, потому что мне их обработать надо. И пока я обрабатываю один запрос, я не могу приступить к обработке второго, даже если он прилетел на сокет. Я если честно вообще не понимаю зачем нужна асинхронность в одном потоке. Объясните, аноны!
#22 #466160
>>466060

>> надо даже примитивные операции вроде добавления элемента в масив в блокировки оборачивать


да ну?! А я думал это атомарная операция
#23 #466168
>>466071
Где научиться использовать все эти техники? Многопоточность, мультипроцессорность и так далее.
#24 #466177
>>466168
тупой вопрос
на работе (пиление своих демо-проектов - тоже работа)
#25 #466180
>>466177
Ну я имел в виду теорию почитать, посмотреть где чаще всего применяется, например.
#26 #466181
>>466180

>Марк Лутц - Программирование на Python.

48 Кб, 640x455
#27 #466188
>>466181
Не знал что там такое есть.
Посоны, мы оказывается их категории "экзотические".
http://habrahabr.ru/company/ruward/blog/215629/
Правда 13 марта 2014. Интересно как за год изменилась ситуация.
#28 #466191
>>466188
стало хуже
В ДЦ2 вообще 1 вакансия и та хуйня связанная с микрокредитами LOL
#29 #466193
>>466188
я не понимаю

> 2015 год


> делать проекты на PHP


тупые манагеры настолько инертны
#30 #466208
>>466148
спасибоу
#31 #466218
>>466193
Ну да, логан и всякая там приора это тоже очевидное говно, но только их продаётся на порядки больше, чем ауди и мерседесов. Обычное дело, не понимаю почему у тебя бомбит.
148 Кб, 1600x1200
#32 #466220
>>466218
Ты хуй, а твоя мать шлюха, отец членодевка! Логан божественен, нет более выносливой и ремонтопригодной машины, а ещё он иномарка!
#33 #466221
>>466220
Вот, ты уловил идею. С php то же самое.
#34 #466229
>>466220
>>466218
>>466221
говноеды любят ездить на ведре с гайками, ок
#35 #466246
Гляньте-ка, что я обнаружил:
import antigravity
#36 #466252
>>466246
Гляньте-ка, что я обнаружил:
import this
#37 #466283
>>466252
>>466246
И что это?
И нахуй это?
#38 #466285
>>466156
До меня дошло... Получается при асинхронной работе с сокетом в одном потоке, сокет освобождается после получения данных. И пока один поток в процессе обрабатывает запрос, другой процесс может захватить сокет. Всё правильно я сказал? Тогда мы упираемся в тяжесть процессов по сравнению с потоками. Кстати, макс количество процессов в линукс 65635 по умолчанию вроде бы
#39 #466311
>>466285
sysctl kernel.pid_max

Максимальное количество повысить можно. Но хуле толку, мы скорее наткнемся на OOM-killer из-за оверхеда по памяти, чем упремся в потолок процессов.

И зачем захватывать сокет? Не легче ли сделать один listener, который будет только получать, а на обработку передавать другим процессам?
#40 #466318
>>466311

> sysctl kernel.pid_max


спасибо

> мы скорее наткнемся на OOM-killer из-за оверхеда по памяти


дельное замечание

> Не легче ли сделать один listener, который будет только получать, а на обработку передавать другим процессам?


Ну, запрограммировать это сложнее.
#41 #466319
>>466311

> Не легче ли сделать один listener, который будет только получать, а на обработку передавать другим процессам?


Чем это легче-то? Опять эта ебля с IPC
#42 #466329
>>466319
Не надо ебаться с контролем над сокетом. Сорта говна на самом деле, но я был взял listener+IPC, чем футболил сокет туда-сюда. Как-то стройней штоле получается, и ближе к нормальной многопоточности.
#43 #466334
>>466329

> Не надо ебаться с контролем над сокетом.


А я и не буду. Это проблема ОС, а не моя.
#44 #466338
Аноны, откуда начать изучение Джанги, чтобы понять, что это такое, как оно работает? А то инфы море, половина устаревшая, а я не знаю, откуда начинать, теория нужна.
#45 #466339
>>466338
блядь, ебнврот, у джанги охуенная документация, что тебе ещё надо скотина?
#46 #466340
>>466339
Она на английском, да и из доков нихуя не понятно, какие-то модели, представления - о чем они?
#47 #466341
>>466340
есть же перевод
"DjangoBook на русском" гугли
Делай задания, там же есть примеры.
Первые 6 или 8 уроков
38 Кб, 800x598
#48 #466342
>>466340

>пытаться в pr без английского

#49 #466354
Какая IDE под виндами может сама определять тип для атозаполнения?
Например, даем line='abcd' и после набора line. должны выскакивать все методы.
PyCharm точно может, но он пипец какой тормозной.
Всякие легковесные блокнотики такое могут, только если точно указывать тип, например str., а имена они уже не понимают.
#50 #466355
>>466354
vim/emacs
#51 #466358
У кого-нибудь получилось найти pygame на сперму 64? Перелопатил гугл, нихуя нет. Нашёл только для амд64, на мой хуинтел не встал.
#52 #466360
>>466358
amd64 — это название архитектуры, поэтому то что там у тебя не встало к этому не имеет никакого отношения.

тебе просто надо скачать 32-битный питон и не ебать себе и нам мозг. Он охуительно работает под 64-битной виндоус, прикинь!
#53 #466369
В Tkinter:
bttn1["command"] = (lambda appMessage: appMessage = "100")
Хочу, чтобы по нажатию кнопки значение appMessage менялось, но не хочу для этого пилить отдельный метод. Объясните долбоёбу, как сделать, чтобы это работало.
#54 #466389
Я продолжаю долбиться в сраку с Tkinter. Почему в этом примере кнопка СРАЗУ имеет имя, которое должно ей присваиваться только после нажатия?
http://pastebin.com/rXtmsERa
#55 #466392
>>466389
а почему бы не взять PyQt

Tкиндер выглядт как говно из 95 года
#56 #466395
>>466392
Он попался в учебной литературе, потому и занимаюсь с ним пока что. Доделаю текущую задачку и пересяду, пожалуй.

>>466389
Гляньте, а? Там несколько строчек.
#57 #466404
>>466358
http://www.lfd.uci.edu/~gohlke/pythonlibs/
Пора бы эту ссылку закрепить в шапке для неосиляторов поиска.
#58 #466418
Поясните мне, пожалуйста, немного за Джанго. Я хочу написать простое гуи приложение, которое будет делать поисковые запросы в гугле, занося спарсенные результаты в БД на моём пк. Всё это можно через данный фреймворк комфортно сделать?
Знаю, что проще было бы на голом Питоне сделать, но хочу попутно Джанго чуть-чуть изучить.
#59 #466424
немного годноты Вам и добра >> check.io и оф доки + английский.
P.S. Лутца все рекомендуют, но никто не читает, лол.
#60 #466426
>>466424
http://www.checkio.org/
*быстрофикс
#61 #466427
>>466426
Можно вкратце, что там?
#62 #466432
Привет питонач! У меня есть задание сделать регулируемую модельку человека (высота, ширина в плечах, бедрах голове и т.д.) с эфектом морфинга - тобиш увеличив размер бедер - увеличивается область живота(в нормальных пропорциях) ну или типа того. Направь на путь истинный или подскажи книгу какую. Зарание благодарствую.
#63 #466433
>>466418
пиздес, учи aiohttp , а не джанго
#64 #466434
>>466432
нахуй тебе книга, мозги включить не пробовал?
#65 #466438
>>466434
Не, ну логика и все такое - это круто, но я пту-кун и на знаниях полученых там if for print и классы далеко не уедешь, к сожалению.
#66 #466442
>>466427
Выбираешь задачу. Решаешь её на питоне. Отправляешь. Её тестят, если всё ок - дают немного экспы. Пару лвлапов и можно переходить к задачам посложнее. Ещё можно опубликовать свой способ решения и посмотреть как эту задачу решили другие (только после того как сам решишь, офк)
#67 #466443
>>466418
ofc можно. GUI будет в виде веб морды, потом requests для парсинга выдачи гугла и результаты запиливаешь в модель.
#68 #466445
>>466438
лучше попробуй сначала на чистом питоне решить хотябы часть задачи, чтобы понять что куда тебя надо пихать. А потом пробуй перенести на Django. (чуть выше описал самую тупую реализацию)
#69 #466448
>>466432
console style?
#70 #466451
>>466448
Сударь знает толк в извращениях
#71 #466457
>>466442
Я там попробовал порешать задачи. В итоге на какой-то нервы не выдержали. Каждый раз на ошибку указывал. На пека все решается, а там нет.
#72 #466460
>>466457
на пека у тебя всего пара проверок на тестовых данных, а когда отправляешь там на проверку, набор входных данных резко расширяется. Условия всегда указаны к задаче типа 1 < x < 10 000. Т.е. иксы у тебя будут от 1 до 10000, а не только те, что указаны в assert
#73 #466461
>>466460
Ебать. Действительно. Я даже не обращал на это внимания. Спасибо, пойду задрачивать эти острова. Лол.
#74 #466463
>>466460
>>466442
>>466424
Там интереснее, чем на Hackerrank?
#75 #466467
>>466461
эти острова норм подходят для людей, которые не в курсе что делать с if'ами, циклами и прочим, что они вычитали в книгах...
#76 #466469
>>466463
Hackerrank - хз что это...
Зайди да посмотри лучше сам и поймёшь, что тебе ближе.
(ссылку схороню)
#77 #466484
>>466467
Бля, ну вот я медленно тащусь по элементари. Все время какая-то хуйня. То тут не правильно, то там.
#78 #466561
Посоны, а как насчет в следующую шапку добавить все технологии питона по возрастающей. Начать с низкоуровневых задач. Будь то графика, работа с потоками, сокетами, файлами, потом что-то повыше, типа веб-серверов, серверных скриптов опять же, заканчивая, наконец, библиотеками для тестирования, гуи, документации, м? От анона требуется добавлять категории и сами средства, библиотеки.
#79 #466572
>>466338
На рутрекере пошерсти в разделе видеоуроков. Там есть годные курсы.
+ Two Scoops of Django, Django Girls Tutorial, TDD with Python
4 Кб, 620x327
#80 #466620
>>466389
>>466395
http://pastebin.com/q85zJ5sV
Наверное так должно быть.
По tkinter отлично, по русски, у Лутца, в Программируем на Python, расписано.
#81 #466636
>>466572
А realpython норм?
110 Кб, 864x998
#82 #466679
>>466432
Если тебе в 3d это надо, то читай "Продвинутую анимацию" Джима Адамса, там про морфинг тебе всё расскажут. Но чтобы ее читать надо уже иметь какую-то базу по 3d-графике. Я сейчас читаю пикрелейтед, чтобы закрыть бреши в теме.

>>466392
Я юзаю в своем проекте Kivy. Всё устраивает. Тут можно глянуть примеры: http://kivy.org/#gallery

>>466424
Я читаю! Уже до перегрузки методов в классах дошел в "Изучаем Питон". Далее "Программируем на Питон" планирую прочесть. Читаю ради глубины знаний. На Python уже во всю лобаю.
#83 #466745
>>466679

>kivy


До сих пор py2-only же.
#84 #466775
>>466636

>realpython


Не знаю о нем ничего.
#85 #466776
Поцаны как мне сделать поиск с выводом результатов на страничку, если мои данные в JSON?
#86 #466993
>>466369
Никак, страдай.
#87 #466994
>>466369
http://ideone.com/P4kIal
Ну или такой костыльный метод. Может еще как-нибудь можно.
#88 #466995
Палю годноту

Python Курс лекций:
http://www.youtube.com/playlist?list=PLEl2mW_X5hhkgW_e7B_ukSwPm3Q28eSyt
#89 #466996
>>466389
Потому что ты дурак. Ты присваиваешь
hiBttn["command"] = setAppMessage()
результат функции. То бишь она выполняется. Смекаешь?
#90 #466997
>>466679
Спасибо тебе за книжки, но ты их в оригинале читаеш, аль ,может быть, где Русскую нашел?
#91 #467000
>>466745
Чушики.
#92 #467001
>>466776
Искать в JSON'ах.
#93 #467013
Кто какой средой разработки пользуется?
#94 #467053
>>467000
Чего, блять?

>Does Kivy support Python 3.x?


>Yes! As of version 1.8.0 Kivy supports both Python >= 2.7 and Python >= 3.3 with the same codebase. However, be aware that while Kivy will run in Python 3.3+, packaging support is not yet complete. If you plan to create mobile apps for Android or iOS, you should use Python 2.7 for now.



>I’ve already started with Python 3.x! Is there anything I can do?


>Be patient. We’re working on it. :)



Давай, запусти мне kivy под третий питон на андроиде или айфоне.
#95 #467060
>>466110
Тоже самое в конце книги Доусона.
#96 #467066
>>466432

>Привет питонач! У меня есть задание сделать регулируемую модельку человека (высота, ширина в плечах, бедрах голове и т.д.) с эфектом морфинга - тобиш увеличив размер бедер - увеличивается область живота(в нормальных пропорциях) ну или типа того. Направь на путь истинный или подскажи книгу какую. Зарание благодарствую.


Ты даун? Пиздец, тебе нельзя в программирование, раз ты обычный if else и elseif осилить не можешь.
#97 #467072
>>466156
ты их по полгода собрался обрабатывать чтоли?

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


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

>Получается при асинхронной работе с сокетом в одном потоке, сокет освобождается после получения данных. И пока один поток в процессе обрабатывает запрос, другой процесс может захватить сокет. Всё правильно я сказал?


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

>Тогда мы упираемся в тяжесть процессов по сравнению с потоками.


в современных ос процессы = потоки. отличаются только тем что под потоками мы подразумеваем процессы, которые держат одни и те же области памяти.
#98 #467087
>>466156

>Я если честно вообще не понимаю зачем нужна асинхронность в одном потоке. Объясните, аноны!


да, забыл собственно вот это объяснить. нужно это потому что экспериментальным путем было выяснено, что один поток с асихнронным вводом-выводом по производительности уделывает создание потока на каждый запрос. особенно хуево когда из-за количества соединений упираешься в предел потоков. (впрочем предел соединений тоже есть, эфемерные порты не бесконечные.) типичный пример это nginx и apache - один стал первым вебсервером способным держать 10к соединений, тем временем второй всасывает от slowloris.
19 Кб, 410x338
#99 #467098
>>467087

>уделывает создание потока на каждый запрос

#100 #467100
>>467098
тебя наебали, картинка не лучше тысячи слов.
#101 #467103
>>467087
Никакой дебил не будет создавать поток на каждый запрос. Апач вот например юзает пул потоков (на 256 потоков вроде по умолчанию). Другое дело что асинхронность в пределах одного потока (по сути кооперативная многозадачность, использовалась еще в windows 3.1) выигрывает у тру-многопоточности за счет отсутствия оверхеда на переключение контекста.
#102 #467108
>>467103

>Никакой дебил не будет создавать поток на каждый запрос.


это ты так думаешь, вон один уже нашелся: >>466156
#103 #467171
>>467066
Прикольно
#104 #467221
>>466997
"Realtime Rendering" читаю в оригинале, на русском не видел. "Продвинутая анимация" у меня на русском в бумажном виде.

Я не знаю какие у тебя скиллы в 3d и что посоветовать читать. И ещё странно такие вещи в Python-треде обсуждать. Хотя, безусловно, тот же IronPython позволяет использовать движки на .Net.
#105 #467229
>>467221
ну ладно, спасибо. Буду копаться.
#106 #467369
Не могу понять, какой смысл использовать потоки, если они выполняются по очереди, а не параллельно. Получается я нихуя не выйграю в скорости, так?
#107 #467387
>>465946
В словаре есть ключи с датой и временем. Пытаюсь целиком кодировать словарь в JSON через dumps и получаю ошибку TypeError: datetime.time() is not JSON serializable
Есть решение без горожения огорода?
#108 #467389
>>467369
В Python с GIL это так.
В Java, C++ не так
#109 #467390
>>467387
до тебя не доходит, что надо дату в строку перевести сначала?
#110 #467392
>>467072

> ты их по полгода собрался обрабатывать чтоли?


Ну, может минут 5, может я буду делать 100500запросов к БД, HTTP API.

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


> впервые такую хуйню слышу. чем это по-твоему лучше чтения сразу в нескольких потоках?


Вон, тебе ананас снизу уже написал, что апач так делает. В c++ boost даже туториал есть, где создается пул потоков и поток, слушающий сокет
Другое дело, что в Питоне так делать бессмысленно
#111 #467397
>>466160

>> да ну?! А я думал это атомарная операция


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


Это все так, но где пруфы, что добавление в массив [элементарный, не контейнер] (изменение массива) это не атомарная операция?
#112 #467399
>>467072

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


Хочешь сказать, что два процесса, которые запущены отдельно (не через fork) не могут одновременно ПЫТАТЬСЯ получить доступ к сокету? Пруфы есть?
#113 #467404
>>467072

>> в современных ос процессы = потоки.


да ну? Это в каких таких современных ОС?
Да, в Линукс потоки называются Light Weight Processes, но обычный процесс жрет больше памяти и дольше создается.
#114 #467408
>>467087

> уделывает создание потока на каждый запрос


а если у нас уже есть пул потоков?

> особенно хуево когда из-за количества соединений упираешься в предел потоков


Во-первых, пул потоков не бесконечный.
Во-вторых, предел количества потоков меньше предела количества потоков

> впрочем предел соединений тоже есть, эфемерные порты не бесконечные.


При чем здесь порты вообще? Один TCP сокет - один порт.
#115 #467413
>>467408
предел количества ПРОЦЕССОВ меньше предела количества потоков
/fix
#116 #467421
>>467408
предел соединений есть, но он не зависит от того как ты создаешь сервер (с потоками или с процессами)
ты что-то совсем запизделся
#117 #467422
>>467390
Я забираю из БД. Если весь словать перебирать - это и так понятно, но это и есть огород.
#118 #467424
>>467422
В JSON нет формата ДАТА, дебилушка
#119 #467441
>>467424
Какой же ты грубый. Конечно в JSON нет такого формата, зато может быть фича/либа, которая данные словаря преобразовывает в JSON с учетом встречи даты. Ну нет и нет.
#120 #467446
>>467441

> Какой же ты грубый.


Это двач детка

А либа может и есть, но зачем, либо тоже будет в цикле перебирать, нет пути другого
А если хочешь что-то более менее реюзабельное написать, то вот, доки читай
https://docs.python.org/2/library/json.html#json.JSONEncoder
sage #121 #467456
>>467369
Смотря что в потоках делать. Если io, то всё щедулится заебись (не слушай >>467389 кукаретика). Если числа дробить, то да, пользы нет.
#122 #467461
>>467456
причем тут шедулится или нет
Ты одновременно можешь читать IO-устройство c нескольких потоков в любом языке?

НЕТ, значит кукаретник ты
#123 #467482
>>467456
ну допустим парсер с сайта, или допустим некая автоматизация действий с множества аккаунтов
72 Кб, 1005x862
#124 #467542
Посоны, этот ваш питон в русский, вообще, умеет?
#125 #467545
>>467542
x=u'Test-Кококо'

И вообще

>2015


>использовать второй пито

#126 #467596
>>467053
Ну в этом смысле окей. Но давай объективно. Если ты собрался делать что-то серьезное, то пока ты закончишь, наверняка уже появится сборщик пакетов. А если ты для себя, то питоний проект с киви можно спокойно запустить в QPython3.
#127 #467633
>>467596
Не, не появится. У них длинная цепочка зависимостей, начиная с sdl и pygame и кончая всяким мелким мусором, и все это на py3+android/ios работает как жопа. А еще они хотят избавиться от pygame. Так что затянется надолго.

А еще, раз мы говорим объективно, кивишный гуй на мобилках откровенно тормозит. Это прямо по демкам видно. И android API само собой полностью не покрывает. Такшта делать что-то серьезное на киви идея не оче.

//Ты кстати видел что серьезное для мобилок на kivy?
#128 #467649
>>467369
конкуррентность != параллельность.
>>467392

>может я буду делать 100500запросов к БД, HTTP API.


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

>Вон, тебе ананас снизу уже написал, что апач так делает.


апач не читает данные в одном потоке, он каждое соединение (= каждый сокет, ты ведь знаешь как tcp вообще работает?) обрабатывает в отдельном потоке обычным блокирующим ио.
>>467397
а никто и не говорит что атомарная. забывать обернуть в блокировку от этого никто не перестает, тебе ж компилятор не кукарекает "э хуйло я вижу у тебя тут лока нет, докажи что это атомарно". хочешь доказательств - пиши на агде.
>>467399
а как ты один сокет расшаришь между процессами? не, ну вроде в посиксе как-то можно было передавать файловые дескрипторы через ipc, но это все давно уже депрекатед. в 2015 году единственный способ расшарить файловый дескриптор - открыть его в общем процессе-родителе, и только после этого форкнуть сколько тебе нужно чего.
>>467404
во всех, лалочка. как вы меня заебали, каждый раз кукарекаете, а погуглить 3 секунды не можете. а потом появляются всякие го, где нет даже ебаных генериков, зато пок-пок горутины.
вот про прыщи, например: http://stackoverflow.com/questions/807506/threads-vs-processes-in-linux
>>467408

>а если у нас уже есть пул потоков?


то все хуево если у тебя больше соединений, чем потоков.

>При чем здесь порты вообще? Один TCP сокет - один порт.


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

>Ты одновременно можешь читать IO-устройство c нескольких потоков


да запросто. другое дело что тогда хуй проссыш в какой из потоков придут какие данные. хотя в каком-нибудь udp это не критично например, датаграмы все равно в рандомном порядке могут придти.
#128 #467649
>>467369
конкуррентность != параллельность.
>>467392

>может я буду делать 100500запросов к БД, HTTP API.


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

>Вон, тебе ананас снизу уже написал, что апач так делает.


апач не читает данные в одном потоке, он каждое соединение (= каждый сокет, ты ведь знаешь как tcp вообще работает?) обрабатывает в отдельном потоке обычным блокирующим ио.
>>467397
а никто и не говорит что атомарная. забывать обернуть в блокировку от этого никто не перестает, тебе ж компилятор не кукарекает "э хуйло я вижу у тебя тут лока нет, докажи что это атомарно". хочешь доказательств - пиши на агде.
>>467399
а как ты один сокет расшаришь между процессами? не, ну вроде в посиксе как-то можно было передавать файловые дескрипторы через ipc, но это все давно уже депрекатед. в 2015 году единственный способ расшарить файловый дескриптор - открыть его в общем процессе-родителе, и только после этого форкнуть сколько тебе нужно чего.
>>467404
во всех, лалочка. как вы меня заебали, каждый раз кукарекаете, а погуглить 3 секунды не можете. а потом появляются всякие го, где нет даже ебаных генериков, зато пок-пок горутины.
вот про прыщи, например: http://stackoverflow.com/questions/807506/threads-vs-processes-in-linux
>>467408

>а если у нас уже есть пул потоков?


то все хуево если у тебя больше соединений, чем потоков.

>При чем здесь порты вообще? Один TCP сокет - один порт.


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

>Ты одновременно можешь читать IO-устройство c нескольких потоков


да запросто. другое дело что тогда хуй проссыш в какой из потоков придут какие данные. хотя в каком-нибудь udp это не критично например, датаграмы все равно в рандомном порядке могут придти.
#129 #467650
Общий вопрос по построению кода. Если у меня есть функция, в которой должно идти последовательно несколько проверок и, если они не выполняются, функция прерывается, а если всё ок — продолжается. Правильно ли я понимаю, что лучше писать так:
def func():
if not condition1: return False
pass
if not condition2: return False
pass
if not condition3: return False
pass
if not condition4: return False
pass
return True

Вместо огромного количества отступов:

def func():
if condition1:
pass
if condition2:
pass
if condition3:
pass
if condition4:
pass
return True
return False
?
#130 #467652
>>467650
Да. Дзен питона, епта: flat is better than nested.
sage #131 #467660
>>467461

> Ты одновременно можешь читать IO-устройство c нескольких потоков?


Вопрос был

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

sage #132 #467665
>>467482
Это будет работать как конкуррентность, но с тредами. Ожидание io в пифоне не блокирует GIL, так что блокировка будет только на обработке данных. Конкуррентность настоящая конечно же лучше.
#133 #467666
>>467660
>>467665
В этом «удобном» окошке сажа не отклеивается.
#134 #467667
Кто как джангу учил? Пока разбираю официальный туториал, на моменте про регулярные выражения, но моментами просто ахуеваю.
Думаю влиться к каким-нибудь ребятам, чтобы вместе пилить какой-нибудь проект, только как их найти?
#135 #467668
>>467665
Это и есть настоящая конкуррентность. Конкуррентность это когда ты посмотрел что у тебя задача 1 выполнена на 25% и задача 2 тоже на 25%, через полчаса пришел, задача 1 выполнена на 75%, значит и задача 2 выполнена на 75%. Асинхронное ио (кооперативная многозадачность) это модель конкуррентности. Акторы это модель конкуррентности. Преемптивная многозадачность это модель конкуррентности. Ты говоришь про параллельность - когда в любой момент времени выполняются несколько инструкций одновременно. Это деталь реализации, которая только для ускорения нужна.
165 Кб, 1439x841
#136 #467694
Подскажите, с чего лучше начать изучение полному дебилу? Какие видео или книги? Лутц слишком загрузил меня. Хрень какая-то гуглится одна.
#137 #467697
>>467668
Да, обосрался я. Всегда понимал под конкуррентностью слегка другое. Вообще я хотел сказать, что в питоне лучше использовать асинхронное ио, нежели треды.
46 Кб, 551x549
#138 #467733
>>467649

> для этого и придумали асинхронный ио


Не понимат. Ну, отправил я запрос к БД, когда придет ответ, вызовется callback. И я дальше могу что-то обрабатывать. Но я не знаю когда он (ответ от БД) придет, как я могу в этом же потоке что-то ещё обрабатывать? операция же прервется вызовом callback-функции? Пример для даунов ПЛИЗ

> он каждое соединение (= каждый сокет


Как TCP работает я знаю, но разве можно на одном компьютере открыть несколько сокетов, слушающих один и тот же адрес и порт?

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


Это понятно, но эти сокеты открываются на клиенте же. На сервере-то у меня один сокет, разве нет?

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


ты меня запутал вообще
sage #139 #467747
>>467733
Запросы и всякие чтения должны быть волшебными™. Есть луп, в нём все хотелки твоей программульки: базы, чтения, таймеры. Луп ждёт пока какое-нибудь нет, да случится. Ага, случилось? И хрясь возобновляет короутину. Т.е. это не совсем коллбек. Ты пишешь:
y = yield from yoba()
print(y)
И это можно читать так: "эй, луп, когда йоба появится разбуди..."
#140 #467748
>>467747
Да что же такое с сажей сегодня, родной пифон сагаю!
#141 #467762
>>467733

>Но я не знаю когда он (ответ от БД) придет, как я могу в этом же потоке что-то ещё обрабатывать? операция же прервется вызовом callback-функции?


Когда придет, event loop об этом узнает и при первой возможности (если что-то еще в этот момент обрабатывается - когда этот обработчик сам либо завершится, либо захочет чего-то подождать; если нет - прямо сейчас) вызовет твой калбак.

>Как TCP работает я знаю, но разве можно на одном компьютере открыть несколько сокетов, слушающих один и тот же адрес и порт?


Нет, но можно один, и потом через fork создать несколько процессов, которые все имеют к нему доступ. Плюс каждое клиентское соединение это свой сокет (accept возвращает новый сокет, серверный никаких данных не передает).

>Это понятно, но эти сокеты открываются на клиенте же. На сервере-то у меня один сокет, разве нет?


Тут смотря как настроишь. Вообще если разобраться как веб работает, там полно каких-то мутных решений. Например популярно использовать nginx как реверс-прокси - то есть все твои клиенты подключаются к nginx, он читает запрос, и потом либо отдает статический файл либо направляет запрос к другому серверу, который умеет в динамический контент. Так вот nginx в таком режиме на каждый запрос по соединению открывает зачем-то.
#142 #467775
>>467482
Ну, i/o-bound весь норм будет "параллелиться", а вот cpu-bound числодробилки нет.
#143 #467782
Ньюфаг питона и вообще программирования ворвался с вопросиком. Вот в этих книгах, ну которые в оп-посте, рассказывается про написание всяких именно полезных программулек, а не просто про чтение строк и все такое? Вот у меня есть конкретная задача, которую нужно типа решить на питоне, но имеет ли смысл читать книжки целиком или хватит гугла?
#144 #467787
>>467747
>>467762
Ну, спасибо, Анон. Понятнее стало. Вот ради таких как ты здесь и сижу.
#145 #467794
>>467782
хватит гугла
потом почитай книжки и перепиши свою программулингу
#146 #467801
Я выше по треду просил совета как мне строку битов восстановить в исходные символы, мне анон скинул код, который делает это для латиницы. Есть способ, только не сильно заумный, который бы одновременно поддерживал преобразование и в латиницу и в кириллицу?
3 Кб, 556x53
#147 #467814
>>467801
Он и для кириллицы работает.
#148 #467816
>>467801
Он все поддерживает. Уверен что там utf-8? Вариант попроще кстати:

u = [bin(x) for x in "еба".encode('utf-8')]
v = str(bytes(int(x, 2) for x in u), 'utf-8')
print(u, v)

['0b11010000', '0b10110101', '0b11010000', '0b10110001', '0b11010000', '0b10110000'] еба
#149 #467861
Так, я сам еще не смотрел, но на юдасити с большой вероятностью делают годноту.
https://www.udacity.com/course/ud858

>free


>free


>free


>free


>free


Налетай.
#150 #467867
>>467814
>>467816
Окей, спасибо. Последний вопрос и отъебусь: можно ли случайный набор бит преобразовать в какой-нибудь пусть и бессмысленный, но набор символов? Через ваши функции у меня выходит только огромный массив байт, превышающий размер соответствующего массива бит. Биты получил через urandom
#151 #467874
http://blog.yhathq.com/posts/introducing-rodeo.html
Тут все спрашивали про редактор.
#152 #467894
>>467867
А не, отбой, понял свой косяк, спасибо, что помогли
#153 #467899
>>467649

> не, ну вроде в посиксе как-то можно было передавать файловые дескрипторы через ipc


Через юникс сокет можно пределать.
#154 #467901
>>467747

> yield from


Какая же это obscure фича, почитал про неё и нихуя не понял.
#155 #467920

>>>S = ([1, 2, 3, 4, 5], )


>>>S[0][0] = 999


>>>print(S)


([999, 2, 3, 4, 5],)

>>>


Изменяемая неизменяемая последовательность, лол.
#156 #467921
>>467920
Лист это ссылка, туплу похуй, что внутри листа, ибо он тупль видит только ссылку на объект. Ссылка не изменилась значит все нормально
#157 #467926
>>467920
Дебил? Дебил.
#158 #467928
>>467901
Кстати, в Python 3.3 появилась новая конструкция yield from. Совместное использование yield и for используется настолько часто, что эти две конструкции решили объединить.

[CODE]def generator_range(first, last):
for i in xrange(first, last):
yield i

def generator_range(first, last):
yield from range(first, last)[/CODE]
#159 #467935
>>467901
Да, есть немного, особенно забавно, что в asyncio вся работа построена на эксепшоне с аргументами. И генераторы отличаются от простых функций. Хотя в Lua такого разделения нет и корутины там получше чем мы с тобой, а именно — вызываются там где надо, а не пробрасываются через весь стек.
259 Кб, 1410x836
#160 #467942
ОП, что за говно?!
#161 #467943
>>467926
Мамку твою ибал, лалка!
#162 #467958
>>467935
Что такое корутины?

> в asyncio вся работа построена на эксепшоне с аргументами


Как ты это узнал?
пруфы?
49 Кб, 600x450
#163 #467960
>>467942
чем ты недоволен?
#164 #468035
>>467928
Не, не всё так просто. Оно и с send как-то работает.
#165 #468041
Можно ли школьнику нищеброду хоть на доширак заработать зная только лишь питон?
#166 #468043
>>468035
*И исключения там задействованы.
http://stackoverflow.com/questions/9708902/in-practice-what-are-the-main-uses-for-the-new-yield-from-syntax-in-python-3
Вот это я почитал и запутался немного.
С другой стороны оно вроде пока не надо, но хочется знать всё, все остальные фичи питона я знаю.
#167 #468071
>>465946
Скачал 4 издание и последнюю версию интерпретатора. Норм?
#168 #468090
>>467942
Это гибкость питона, то, что это флаг Украины и Свастика, ты не заметил, а гибкость заметил.
#170 #468096
>>468041
Ну хуй знает. Если еще сверху ингриш добавить. И пиздоавть на одеск, наверное.
#171 #468146
>>468091
Иными словами, насколько я понимаю, обычные yield-ы от конечной точки идут до лупа, исключение StopIteration возобновляет последний yield from в стеке. Остальные исключения являются обычными исключениями. Это конечно не новшество asyncio, а новшество пифона: https://www.python.org/dev/peps/pep-3156
#172 #468214
>>467920

>>> x = ([],) * 2


>>> x[0] += [2]


Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

>>> x


([2], [2])
#173 #468218
>>468214
что сказать-то хотел?

Хуйней какой-то страдаете
#174 #468221
>>468218
Ничего, просто хуитой страдаю.
491 Кб, 1920x1200
#175 #468236
Анон, прошу посоветовать чтива о разработке веб-приложений. Начал читать Лутца, но там об этом целая книга - не верю, что для простых поделок всё это необходимо. Есть ли что-то гораздо более сжатое, где описывается только то, без чего не обойтись?
#176 #468285
>>468236
да, гугл
#177 #468297
>>468285
А систематизированное? Методичка, короткий курс?
#178 #468371
Что-то не удалось нагуглить простеньких примеров веб-приложений на Питоне, не поделитесь?
#180 #468396
Есть такая хуйня
http://ideone.com/wFstBz

и джсон уровня [{"title": "Developer"};{"title": "Administrator"}]

Хули не сохраняются данные?
#181 #468417
>>468396
блядь, откуда вы лезете?
тебе английским языком написали:
FileNotFoundError: [Errno 2] No such file or directory: 'data.json'
#182 #468434
>>468383
Спасибо, а есть без Джанго?
#183 #468447
Аноны, есть ли где-нибудь приложения с нейронными сетями? Хочу посмотреть ИИ с ними и переписать под себя, буду создавать игру про гладиаторов (тоже, только для себя)
#184 #468449
>>468447
Да не наркоман я, хочу посмотреть на реальную реализацию ИИ, потому что у меня только есть идея насчет написать Объект, дать ему условия и нужно анализировать результат и находить кратчайший путь, будет ли работать в случае с гладиаторами?
#185 #468450
>>468449
А вот у нейронных сетей может получиться очень интересно анализировать результат и хочу их связать с алгоритмом, чтобы ИИ обсчитывал мне, как лучше двигаться и как лучше не двигаться.
#186 #468457
>>468449
Нейронная сеть это обучаемая непрерывная функция из одного евклидова пространства в другое, а не магия какая-то. Что ты подаешь на входы? Что ты ожидаешь на выходах?

>находить кратчайший путь


Для этого алгоритмы есть, A* например, нейронная сеть не нужна.
#187 #468460
>>468417
это исключение на идеоне (там-то нет файла)
33 Кб, 600x450
#188 #468505
Помогите с МД5!
Читаю https://docs.python.org/2/library/hashlib.html#module-hashlib, и или в глаза долблюсь, или там действительно нет решения моей проблемы.
import hashlib
hashlib.md5("test")
выдает
Unicode-objects must be encoded before hashing
НО, у меня версия 3.1 (для Доусона с его спрайтами), а после версии 3.0 все перешло на юникод. И как мне перекодировать строку, если decode там просто нет?
#189 #468507
>>468505
hashlib.md5("test".encode('utf-8'))
#190 #468508
>>468505
Кстати, почему ты юзаешь третий питон, а читаешь доку по второму? В доке к третьему прямо написано, b"test"
#191 #468510
>>468507
грасьос
#192 #468517
Как устроиться питонистом без практического опыта в проекте?
#193 #468518
>>468417
Далбаеб тотальный.
98 Кб, 700x463
#194 #468519
#195 #468523
>>468517
бамп
#196 #468564
>>468517
Надо быть тян.
30 Кб, 269x400
#197 #468575
>>468449

>будет ли работать в случае с гладиаторами?


Вангую, тут нейросеть не взлетит. Нужно копать в сторону теории игр. Построить модель, придумать стратегию для максимизации выигрыша. Пикрелейтед отличная книга по ИИ.
#198 #468584
>>468517
Бамп. Кто-то ИТТ работает питон-кодером? Как вы получили эту работу без реального опыта в питон-проекте?
#199 #468602
>>468584
Блядь, что значит реальный опыт?

Я с универа писал на питоне. Потом провалил несколько фриланс-заказов на Django. И вот теперь я работаю
#200 #468647
Парни объясните-ка ньюфагу кое-что интересное. Я слышал python это ооп язык, но после установки я нашел только idle - в нем окошек не оказалось как в вижуале или дельфях! Где их искать?
#201 #468659
>>468457
Да, я уже думал над этим, но вообще интересны мне просто так нейронные сети, а тыкать все через алгоритмы - не особо.
>>468575
Да, похоже ты прав, Модель, к ней функции, условия и готово, осталось изучить движение и моделирование пространства.
33 Кб, 455x370
#202 #468672
>>468647
Ты говоришь про RAD/GUI builder. Графический drag-n-drop для клепания формочек. Это не ООП.
#203 #468757
А конфа у вас есть?
#204 #468776
>>468647
Что для тебя ООП?
#205 #468805
Ребята, у кого-нибудь есть торрент файл:

> http://rutracker.org/forum/viewtopic.php?t=4622868 Специалист Питон


?
34 Кб, 1423x469
#206 #468814
Хуй с пика, признавайся, ты здесь? Почему здесь не спросишь свой ответ?
#207 #468815
>>468805
Не трать на эту хуиту время.
#208 #468816
>>468805
Не рекомендую, там словоблуд похлеще Лутца.
120 Кб, 460x460
#209 #468822
>>468805
На ннмклабе скачай, но говно полное. Там ещё есть второй рюснявый, от неких pybursa, качество получше и меньше пиздежа, но как и другие рюснявые - вода и моча вместо материала.
В интернете 100500 туториалов которые дадут больше, а проходятся за 1-2 вечера. Кодеакадеми тот же.
Плюс есть learnpythonthehardway.
#210 #468829
Ребята, объесните мне почему Руби сосет у Питона?
#211 #468850
#212 #468900
Кто-нибудь может сконвертить в pdf учебник по ссылке? Такая-то годнота. С меня нихуя, очевидно же.
http://torofimofu.fvds.ru/learnwithpython/ru2e/index.html
#213 #468908
>>468900
Если ты его скачаешь и склеишь в один большой html-файл.
29 Кб, 550x412
#214 #468928
>>468900
epub в пике
32 Кб, 360x480
#215 #468929
>>468928
блядь, не тот файл
вот архив
#216 #468931
>>468929
Сохраните в pdf пожалуйста, сам не могу.
Книга очень хорошая.
#217 #468936
>>468672

> RAD/GUI builder


> не ООП



Прошу прощения, понял как я сглупил, но этот анон меня понял.

Почитал нацаны советуют pyqt, pygtk и wxpython.
#218 #468954
#219 #468981
>>468936

>pygtk


Он кстати труп. На замену есть pygobject. И графическая клепалка формочек есть - glade называется. А у qt вообще целое IDE, напоминающее вижуалстудию.
#220 #468996
Блядь, перегуглил все, но нихуя для tkinter дельного гайда не нашёл. Стоит ради окна с картинкой и парой кнопок влезать в pyqt?
#221 #469001
>>468996
нет.
для tkinter было где-то, на самом деле он продвинутый и не хуже pyqt в визуальном плане. Это общепринятое заблуждение, что интерфейс вин95. Не могу вспомнить где, но все есть в нете про tkinter.
#222 #469005
>>465946
Что можно интересного написать?
Прочитал книжку, в программирование 1 месяц.
#223 #469010
>>469001
Не могу такую вещь найти. Вот создал я поле Entry, нужно в переменную записать то, что в эту строку вводил пользователь. Как это сделать-то?
#224 #469014
>>469010
Автора Сузи гугли в пдф было
вот из него:

from Tkinter import *
tk = Tk()
tv = StringVar()
Label(tk,
textvariable=tv,
relief="groove",
borderwidth=3,
font=("Courier", 20, "bold"),
justify=LEFT,
width=50,
padx=10,
pady=20,
takefocus=False,
).pack()
Entry(tk,
textvariable=tv,
takefocus=True,
).pack()
tv.set("123")
tk.mainloop()
#225 #469016
>>469010
http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/index.html

В пдф книга с этого сайта есть где-то
#226 #469021
>>469014
Я правильно понимаю, что это выполняется в бесконечном цикле? От объявления объекта Tk и до вызова mainloop()?
#227 #469022
>>469021
Забыл нахуй винапи, но думаю в tk.mainloop() вызывается WinMain, а там бесконечный цикл с WinProc
#228 #469041
Господа, поясните полному, ньюфагу, как превратить строку в char массив? Или как бы вы решили задачу, вставить после каждого символа строки пробел?
#229 #469046
>>469041
так это жеж массив и есть

arr = list('Huy')
#230 #469048
>>469041

>>> str.join(" ", "yoba")


'y o b a'
#231 #469049
>>469046

>>> print(u'нахуя мне без хуя, если с хуем дохуя'[0])


н
#232 #469052
>>468996
http://effbot.org/zone/tkinter-index.htm
Вот нормальные гайды.
#233 #469055
>>469052
Душевно брат братишка
#234 #469060
>>469046
>>469048
Спасибо, ребятишки, помогло!
#236 #469067
>>469022
>>469052
>>469062

Спасибо за ответы.
#237 #469108
>>468814
обосрался
#238 #469125
А ещё нубский вопрос, из-за которого мне стыдно, как проверить элемент списка на то, число он или нет? Ну, вот у меня перебор каждого элемента, как написать if a int, then? В интернете пишут про какой-то isdigit(), но всё что он мне говорит, это то, что "'list' object cannot be interpreted as an integer".
#239 #469130
>>469125
тебе нужно type(list[index]) is int.
Как получить елемент из листа надеюсь знаешь.
#240 #469133
>>469130

>>> type('2') is int


False

>>> type(2.0) is int


False
Нутыпонел. Для строк лучше .isdigit использовать, для всего остального есть isinstance.

>>469108
Тебе надо элемент проверить, а ты судя по ошибке проверяешь лист. Смекаешь?
#241 #469178
Анончики, выручайте советом. Как вы работаете на удаленных тачках? У меня такой расклад: в дроплете на DO (в Нью-Йорке поднял, теперь жалею) запущено куча демонов и сервисов (rabbitmq, например). Я по емаксу через ssh цеплюсь к сорцам, консоль у меня в тмуксе. Но так все это неудобно, что аж пиздец. Запускаю ipython, и с ужасающим пингом пытаюсь потестировать сорцы.

Варианта два: поднимать конфигурацию локально, а на DO уже заливать ансиблом каким-нибудь. Но мне не очень нравится это решение по понятным причинам плохая масштабируемость, разные операционные системы в облаке и на хосте. Другой вариант – сделать снэпшот и развернуть на виртуалке в божественном Амстердаме (пинг должен быть меньше).

Оба эти варианта мне не очень нравятся, поэтому я продолжаю колоться и грызть кактус.
#242 #469192
>>469178
1. Есть mosh. Охуенный overhaul ssh. Работает через udp, резко снижает пинг, умеет "локальный" инпут. Must-have на всех серверах на самом деле.

2. sshfs. Монтировать удаленную фс локально через ssh, работать локальным емаксом. Пинг заметен только при сохранении. Ящитаю самый ок вариант. Ну или nfs какой.

3. vim умеет редактировать через ssh/scp, т.е. vim scp://user@server//dir/file123, возможно емакс так же умеет, погугли. Под капотом вим тупо копирует файлик в /tmp, при записи заливает обратно.
sage #243 #469195
1 + "1"

> 11.0



кокой восторк
спасибо гнидо!
#244 #469196
>>469195

>TypeError: unsupported operand type(s) for +: 'int' and 'str'


Что, блять?
sage #245 #469199
>>469196

> пэдро


> TypeError


что блядь
#246 #469201
>>469199
ты долбоёб, вот что.
sage #247 #469204
>>469201
питон-тред же
27 Кб, 700x546
sage #248 #469206
sage #249 #469208
строгая типизация в динамикодрисне
это как сладкая вишенка на куче говна
#250 #469210
>>469208
однако таки вишенка
таки пиши на с++, ебись с множественным наследованием шаблонных классов, утечками памяти и т.д.
#251 #469212
>>469178
че ещё за дроплет?
что такое DO?

>> запущено куча демонов и сервисов (rabbitmq, например)


может у тебя тупо сервак тормозит

>> Я по емаксу через ssh цеплюсь к сорцам


нахуя? Редактирование на продакшене для экстеренных случаев. Я тупо захожу по ssh и редактирую vimом

>> сделать снэпшот и развернуть на виртуалке


и развернуть локально в KVM-виртуалке
Я для автоматической настройки и деплоя использую fabric
#252 #469213
>>469212
Дроплет - vps по сути. DO - digital ocean.

мимокрокодил
#253 #469214
>>469192

>> Работает через udp


знаешь как работает udp? алсо, это секурно?

>> sshfs


так-то, конечно, быстрее, LOL
#254 #469218
>>469208

> строгая типизация


Быстро учишься, глядишь, до полуночи пасту про тэги у значений переизобретёшь. Дерзай!
#255 #469220
>>469213
хуйня какая-то
либо амазон, либо гугл енжин, ну или там хероку
#256 #469223
>>469214
Знаю как работает udp. Секурно, для авторизации и всякого шифрования используется ssh. Карочи там сложная система взаимодействия ssh+mosh, но можно сказать что mosh работает "поверх" ssh. В некотором роде.

>> sshfs


>так-то, конечно, быстрее, LOL


Что ты мне тут лолкаешь, маня? Конечно быстрее. При интерактивной работе через ssh у тебя пинг виляет на каждое действие. Даже на нажатие клавиши в редакторе. При sshfs пинг влияет только на io.
#258 #469228
>>469223

>> всякого шифрования используется ssh


ЧО? SSH работает по TCP, Маня

>> Даже на нажатие клавиши в редакторе.


а нахуя редактировать что-то на сервере? быдлоадмины бля
#259 #469229
>>469223

>> sshfs пинг влияет только на io.


то есть ты хочешь сказать что гонять файл туда-сюда быстрее, чем гонять символьный ввод пользователя?
окей
29 Кб, 333x303
sage #260 #469230
>>469228

>ЧО?


Выше ссылка.

>а нахуя редактировать что-то на сервере?


Пост читал? >>469178
#261 #469236
>>469230
зачем мне твоя ссылка?
Я знаю как работает SSH
в этом mosh повыдергивали отдельные уровни из протокола. По сути это не SSH, а какое-то говно слепленное из кода SSH на коленке

Пост читал, и еще раз говорю, тот кто редактирует код на сервере - феерический мудазвон. Но жизнь научит еще
sage #262 #469238
>>469229
Что такое пинг слышал? Один раз 200 мс пинг + 10 мс передача быстрее чем 80 раз 200 мс пинг + 0.00001мс передача.
>>469236

>в этом mosh ко-ко-ко кукареку


Не читал как работает mosh @ изображаешь из себя эксперта? ssh в нем используется только чтобы запустить mosh-server. Протокол там вообще другой.
#263 #469245
>>469238

> Один раз 200 мс пинг + 10 мс передача быстрее


ок, тут я обосрался

> Не читал как работает mosh


пробежал бегло, потому что не хочу тратить время на какую-то поделку. Безопасность важнее скорости, а SSH-проверенный инструмент
2514 Кб, 2000x2700
#264 #469286
Дайте какую-нибудь хорошую геометрическую либу - векторы, матрицы, кватернионы, эйлеры, дистанции всякие, пересечения линий, повороты, хуевроты. Желательно чтобы было легковесно, компактно и просто установить и пользоваться.

numpy.linalg чёт странный какой-то. У меня от него сингулярное разложение случилось.
952 Кб, 2300x2013
#266 #469294
>>469288
Хм. В SymPy вроде есть Geometry. Пробую.
#267 #469295
>>469220
для начала погугли IaaS vs PaaS.
#268 #469298
>>469236

>Пост читал, и еще раз говорю, тот кто редактирует код на сервере - феерический мудазвон. Но жизнь научит еще


А как тебе вариант, что у меня этот сервер не для продакшена используется? Например, для тестов или скрапилки какой-нибудь.

>>469178

>возможно емакс так же умеет, погугли


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

>Есть mosh. Охуенный overhaul ssh.


А вот это интересно. Надо посмотреть.

>>469178

>может у тебя тупо сервак тормозит


Я смотрю его состояние monit'ом, вроде не загружен.

Алсо, неужели большинство держит все сорцы у себя на компе? Если у меня, допустим, 128-гиговый SSD и не очень производительный комп, то я просто физически не вижу смысла держать у себя на локальной машине что-то кроме хелловорлдов.
#269 #469299
>>469298

> 128-гиговый SSD и не очень производительный комп


ССДАУН детектед
#270 #469300
>>469294
вот еще здесь посмотри
https://wiki.python.org/moin/UsefulModules#Game_Development
Ну и вообще на вики питона поищи инфу
#271 #469301
>>469298

> у меня этот сервер не для продакшена используется? Например, для тестов


ну и дебил. Я понимаю, если б у тебя был большой проект, несколько разработчиков, тогда бы имело бы смысл завести континьюс-интегратион сервис в облаке. А так ты устроил себе гемор на пустом месте.
#272 #469304
Ебаное говно, я уже залипаю. Как создать ебучий экземпляр модели. Чтобы вот в БД с ебаным ПК и Проперти появилась запись? Хочу чтобы в модели описывались некоторые поля и эти поля получали значения из JSON, который я потом передаю, но сука как это сделать я в душе не ебу. Вроде бы всё верно написал.

[code]class OdeskProfile(models.Model):
title = models.CharField(max_length=255)
skills = models.CharField(max_length=255)
country = models.CharField(max_length=255)
profile_id = models.CharField(max_length=255)

def fill(self):
with open('test.json') as data_file:
data = json.load(data_file)
for items in data:
test = OdeskProfile.objects.all()
test.title = data[items]['title']
test.skills = data[items]['skills']
test.country = data[items]['country']
test.profile_id = data[items]['id']
test.save()

def __unicode__(self):
return self.title[code/]
#273 #469306
>>469304
Ну заебись... Ideone короче, кому хочется приятного вида http://ideone.com/Qf2cmD .
#274 #469307
>>469298
А sshfs чего? Самый годный вариант же.
#275 #469310
>>469301

>ну и дебил. Я понимаю, если б у тебя был большой проект


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

>>469307

>А sshfs чего? Самый годный вариант же.


Пожалуй это стоит попробовать.
#276 #469413
>>465946
В этом вашем питоне можно присвоить ключу несколько значений? Если да, то каким образом и как их правильно извлекать?
#277 #469422
>>469413
зачем вам это в вашем сисярп?
#278 #469425
>>469413
Несколько значений — это, очевидно, некая сущность, которая хранит несколько значений. На эту роль подойдет список, кортеж, словарь, класс.

Работать можно так же как со всеми словарями.

d = {'a': [1, 2]} #создаем словарь со списком в качестве значения
x = d['a'] #получаем список по ключу
x.append(3) #тут самое интересно: мы изменили значение в том числе в словаре
#279 #469463
>>469425
Благодарю
#280 #469491
помогите.
запускаю я значит тор.
потом:

import socks, socket, urllib
s=socks.socksocket()
s.setproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9150)
s.connect(("golye_pisechki.onion", 80))
socket.socket=s
urllib.urlopen("http://golye_pisechki.onion/")

после этого выдает:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/urllib.py", line 89, in urlopen
return opener.open(url, data)
File "/usr/lib/python2.7/urllib.py", line 210, in open
return getattr(self, name)(url, data)
File "/usr/lib/python2.7/urllib.py", line 292, in open_http
import httplib
File "/usr/lib/python2.7/httplib.py", line 1151, in <module>
import ssl
File "/usr/lib/python2.7/ssl.py", line 196, in <module>
class SSLSocket(socket):
File "/usr/lib/python2.7/dist-packages/socks.py", line 126, in __init__
_orgsocket.__init__(self,family,type,proto,_sock)
File "/usr/lib/python2.7/socket.py", line 187, in __init__
_sock = _realsocket(family, type, proto)
TypeError: Error when calling the metaclass bases
an integer is required

Что не так?
#280 #469491
помогите.
запускаю я значит тор.
потом:

import socks, socket, urllib
s=socks.socksocket()
s.setproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9150)
s.connect(("golye_pisechki.onion", 80))
socket.socket=s
urllib.urlopen("http://golye_pisechki.onion/")

после этого выдает:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/urllib.py", line 89, in urlopen
return opener.open(url, data)
File "/usr/lib/python2.7/urllib.py", line 210, in open
return getattr(self, name)(url, data)
File "/usr/lib/python2.7/urllib.py", line 292, in open_http
import httplib
File "/usr/lib/python2.7/httplib.py", line 1151, in <module>
import ssl
File "/usr/lib/python2.7/ssl.py", line 196, in <module>
class SSLSocket(socket):
File "/usr/lib/python2.7/dist-packages/socks.py", line 126, in __init__
_orgsocket.__init__(self,family,type,proto,_sock)
File "/usr/lib/python2.7/socket.py", line 187, in __init__
_sock = _realsocket(family, type, proto)
TypeError: Error when calling the metaclass bases
an integer is required

Что не так?
#281 #469498
>>469491
а еще тут ошибка. Если бы я мог удалить пост, я бы его удалил.

Сначала

import socks
s=socks.socksocket()
s.setproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9150)
s.connect(("golye_pisechki.onion", 80))

потом

import socket
socket.socket=s

потом

import urllib
urllib.urlopen("http://golye_pisechki.onion/")
#282 #469585
>>469498
Так, ок, до меня дошло, что socket.socket() и socks.socksocket() аналогичны. осталось разобраться, как работать с urllib через socksocket.
#283 #469614
>>465946
Читаю сейчас Доусона, уже на половине книги. Подскажите пожалуйста, где можно взять лёгонькие задания и что читать после него?
#284 #469621
>>469614
/g/ рулетку уже роллил?

https://raw.githubusercontent.com/zhiwehu/Python-programming-exercises/master/100+%20Python%20challenging%20programming%20exercises.txt я вот это одно время делал. Хорошо что с решениями, а то я часто сомневался правильно ли сделал.
#285 #469632
>>469585
Зачем использовать этот сраный urllib?
#286 #469675
>>469632
для меня выбор urllib обусловлен лишь тем, что я знаю, как через него получить html-страницу с сервера. Если ты мне пояснишь, как сделать это через socket, я буду благодарен, потому что именно над этим я сейчас ковыряюсь.
#287 #469690
>>469675
requests
#288 #469701
>>469690
а теперь ты такой поясняешь, как к requests прикрутить socks5-прокси. Я же просил пояснить по socket, а не дать мне альтернативу.
#289 #469711
>>469306
Я бы сделал как-то так
https://ideone.com/Ud6eT0
#290 #469768
>>469701
И еще вот какая-то ебень неясная
http://stackoverflow.com/questions/2317849/how-can-i-use-a-socks-4-5-proxy-with-urllib2
Там в пример приводится, что надо
socket.socket=socks.socksocket
и потом импорт urllib2, только вот нихуя он не импортируется, если так сделать. urllib первый импортируется, но, видимо, не использует socket, иначе недоступность ресурсов через прокси я объяснить не могу.
#291 #469774
>>469711
Ок, попробую.
#292 #469929
>>469768
Ты на год на стаке смотри, взял говно года, когда ты ещё не родился и хочешь чтобы всё работало.
Вот вариант точно работает, только что проверил:
http://pastebin.com/SmdLSBeb
#293 #469944
>>469929

>AttributeError: 'module' object has no attribute 'set_default_proxy'


>Вот вариант точно работает, только что проверил


Да что ты говоришь?
#294 #469948
>>469929

>socket.socket = socks.socksocket


Поубывав бы.
94 Кб, 928x676
#295 #469959
>>469944
Тебе на ютуб видос залить?
>>469948
По-быдлански конечно, но автор сам так рекомендует, плюс многие либы (типа requests, ftplib) не поддерживают socks прокси.
#296 #469961
>>469959
У меня нет оснований тебе не верить. У меня этот аттрибут называется просто "setdefaultproxy" без нижних подчеркиваний. Вопрос стоит по-другому - почему у нас разные названия аттрибута, кто виноват и во всех ли языках так же?
#297 #469964
>>469711
Что-то нихуя не понял как этим пользоваться. Нихуя не создалось в бд.
83 Кб, 668x498
83 Кб, 668x651
#298 #469980
>>469944
А еще, похоже, хваленый requests не считает нужным лезть с днс-запросами через прокси, потому что

>первый пик, на котором все сделано по аналогии http://pastebin.com/SmdLSBeb


Это полный буллщит, знаете ли. Хотя если подумать - логично, что он не лезет за днс в прокси по моему мнению, потому что ему передается только socks.socksocket(), без socks.setdefaultproxy. Я сам не понимаю, с какого хрена эта схема должна работать.
И пока-что хоть каких-то результатов я добился оперируя только лишь socks без других модулей и HTML-запросами, которые надо составлять по ГОСТУ которй еще предстоит выучить

>второй пик


остается только разобраться, почему страница выдается не вся. Я задавал recv(1024) и recv(10240) - обрезалось всегда на том же моменте.
256 Кб, 1140x888
#299 #469992
>>469980
итак, я продвигаюсь. Пните куда почитать про кодировку чтоб доступно и понятно.
#300 #469994
Пиздец, сделали из питона пхп-тред.
Никто гуглить что-ли не умеет?
#301 #470010
Питон без джанги - нет пути? Или можно хоть куда-то устроиться? Не люблю я веб просто...
#302 #470015
>>469964
Я там цикл забыл.
https://ideone.com/uRF85A
Т.е. тебе надо распаковать словарь вида
{
'title':'spam',
'skills':'ham',
'country':'eggs',
'profile_id':'1',
}
в аргументы модели.
Еще можно динамически задавать атрибуты в цикле по такому словарю для пустой модели через setattr, а потом сохранить модель.
#303 #470016
>>469980

> 2.7.6


Жаль тебя.
Ты поди ещё и либу старую используешь, раз у тебя api другое.
#304 #470018
>>469992
На википедии вполне всё доходчиво.
#305 #470053
>>468236
Врубись в MVC, начни делать что-то реальное, попутно читая документацию и stackoverflow.
#306 #470082
>>470010
Питон в отличии от руби очень универсален. Я три года на нем пишу за деньги веб в глаза не видел.
#307 #470092
Пистоны, я когда-то давно видел реализацию питона для однострочников. Там кажется отступы убрали и 99% конструкций можно влепить на одну строку. А сейчас гуглю и не могу найти. Знает кто?
21 Кб, 620x413
#308 #470093
Есть непонятка с Celery. Он задачи распределеят строго по очереди среди всех существующих процессов. А я хочу, чтоб сельдерей посылал таски только свободным процессам.
Как это сделать?
#309 #470094
>>470092
иди в Перл, говноед
#310 #470096
>>470094
Да мне просто интереса ради. Я сегодня проснулся и вспомнил эту хрень. А найти не могу, и это не дает покоя. Не приснилось же мне.
#311 #470099
>>465946
Парни, много ли работы на питон?
Я как-то хотел учить питон и потихоньку готовить себя к удаленке, но тут мне намекают что офис приближается, тни-дизайнеры, идиоты-директора, моложавые чсв-программисты. Неужели и правда придется джуниором в дс 1/2 устраиваться?
Как вообще начать свою карьеру питон-разработчиком?
#312 #470101
>>470099
Всё очень хуево. Роисся же вперде, поэтому нанимают только дешевых быдлокодеров-макак на PHP

Работа есть только в ДС, в ДС-2 все хуево.

Лучше сразу удаленку ищи

У нас не умеют в планирование, и не понимают как качество кода может в перспективе экономить время и деньги, поэтому в Роиссе только PHP и 1С
#313 #470103
>>470099
а сейчас ты кем работаешь?
кто намекает?
#314 #470106
>>470103
Мамка. Говорит хватит готовить себя к удаленке, иди работай.
#315 #470114
>>470106
что значит готовить себя? Если ты на удаленке бесполезен, тебя и джуном в офис не возьмут, маня. Сейчас вообще-то безработица
329 Кб, 496x654
#316 #470137
посоны, учу Пайтон с ноля уже второй месяц (почти_24лвл). Ну как учу. Барахтаюсь на кодакадеми, и немного по книжке Дайв инто Пайтон. Жду ПРОРЫВА.
Английский у меня довольно приличный. Учу только на английском.
Легко ли мне будет найти работу за границей?
#317 #470139
>>470137

>Легко ли мне будет найти работу за границей?


Абсолютно не возможно. Жуниворов там и своих хватает. За границу можно пробовать только после достижения уровня мидл+.
#318 #470175
Поясните мне про смысл self в классах.

class First:
def __init__(self, test):
self.data=test
print (self.data)

Почему надо указывать self?
Почему нельзя сделать так:
class First:
def __init__(test):
data=test
print (data)

Или self может заменяться на что-то другое?
Или это просто "так заведено"?
#319 #470192
>>470175
даже пистона не осилятор, ну пиздец

а если по делу, то:
<code>
class Foo(object):
\tdef __init__(self, tr):
\t\tself._tr = tr;

\tdef poo(self):
\t\tprint(self._tr)

foo = Foo("foo")
foo.poo()

bar = Foo("bar") # Escobar axiom
Foo.poo(bar)
</code>
#320 #470220
Сделай бочку сосни хуйцов
#321 #470221
>>470139
да ладно. серьёзно, штоля? а нахуя я тогда учу всю эту поеботу?
что тогда делать? вкатываться в андроид?
#322 #470233
>>470221
Жуном за границей ты только хуй найдешь. Хоть пхп хоть хаскель. Андроид кстати забит жунами индусами.
#323 #470235
>>470233
что ж тогда? сосать хуй с самообразованием?
#324 #470241
>>470235
Очевидно качать скилл тут, когда попадешь сеньером в яндекс - тогда и трактор будет.
#325 #470243
>>470241
можешь посоветовать как? в какую сторону смотреть?
сам-то кто по жизни ща?
Аноним #326 #470287
Анончики, а Питон вообще нужен? Может лучше потратить время на изучение другого языка?
#327 #470305
>>470015
Я так и хотел, только я нихуя допереть не могу как это сделать и у меня короче не получается нихуя.
#328 #470341
>>470287
Питон не нужен.
Уёбывай
#329 #470375
>>470305
Хоспади, да скинь уже трейсбек. Или сессию в консоли, что ты там делаешь.
#330 #470380
>>470375
Ну у меня вот эта хуита написана в models.py
http://ideone.com/Qf2cmD

Потом сделаю как тут https://ideone.com/uRF85A

У меня есть JSON с 100ней записей внутри. Соответственно я хочу использовать эти ебаные записи внутри своего проекта и для этого мне надо заполнить БД, так как каждый раз я не хочу это говно подгружать. Я пытался вникнуть в фикстуры хуюры, но там нужно вручную делать вроде как по своей модели и это дичайший зашквар.

Вооооот. Так что я туповатый и когда я тупо запускаю /manage.py runserver у меня не набивается база, разъясни для тупого или просто код кинь как мне используя код выше заполнить базу.
#331 #470406
>>470082
пили прохладную, анон, все, что вокруг так и орёт, что пистоном только в вебе зарабатывают
225 Кб, 974x732
#332 #470429
>>470406
Системный интегратор. Линуксы, фряхи-хуяхи, куниксы-хуюниксы. Пишем на С и Питоне, в последнее время все больше на Питоне и меньше на С. Из последнего питонокода - gui, curses и cli морда к корпоративной тулзе, коллектор и LLDP, овердохуя модулей к системам мониторинга и к ansible, бот к скайпу (для себя) и джабберу (по работе), множество мелких автоматизаций и затычек. ИНТЕГРАЦИЯ жи. Еще для себя игоря пишу на pyglet. Воот. Что еще, еще собрался делать автоматическую воровалку субтитров к фильмам. В smplayer такая есть, но работает как говно. Нажо переписать.

Я вообще не понимаю откуда у тебя миф что питон только для веба. Это же не руби. У него, блять, библиотек на все случаи жизни. Ты меня тралируешь щтоле? А я как дебил тут расписался. Ну и ладно.
#333 #470434
>>470429
спасибо Анон, нет не тралиррую, сколько вакансии смотрю, все время либо админство, где питон как "желательное", либо (чаще) веб с джангой
9 Кб, 180x161
#334 #470554
Подскажите годный веб сервер для фласка
#335 #470558
Сап!

Хочу написать менеджер вк. Почитал документацию, там какая то мутная хуйня с обязательной авторизацией через браузер. Как побороть эту хуйню? Загуглил про selenium. Подойдет?
#336 #470600
>>470429
Админство. Да и все тобой перечисленное можно на чем угодно писать.
#337 #470610
Кто сколько по времени лутца читал?
Лично я уже заебался воду в ступе месить.
#338 #470613
>>470610
пол года
#339 #470619
>>470610
Два месяца читал, даже до половины не дошёл, осиливал даже на выходных максимум 10 страниц в день. Не выдержал и перешёл на другую книжку.
#340 #470626
>>470613
А сколько ушло времени на осмысление?
>>470619
На какую?
#341 #470627
Человеку с нулевыми знаниями лутц подойдет вообще?
Есть ли там матан?
#342 #470630
>>470626
Dive into python 3

другой анон не осиливший словоблуда Лутца
#343 #470633
>>470627
Человеку с нулевыми знаниями только Лутца и надо читать.
Всё остальное (на русском) - поверхностная херь.
У Лутца давно уже и 5-е издание есть, но только на инглише.
18 Кб, 368x435
#344 #470636
>>470633

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

#345 #470638
>>470633
Ок. Только я в математику вообще не могу, потому и спрашиваю.
Одни говорят математики в погромировании нет, другие говорят есть, но я пока еще не наткнулся на неё в лутце
#346 #470639
>>470636
В чем смысл твоего поста?
Никто выше не говорил о незнании английского, а просто констатировал, что есть и 5-е издание на английйском (в то время, как в шапке приведено только 4-е издание).
#347 #470641
>>470626

>А сколько ушло времени на осмысление?


до сих пор нихуя не понял
#348 #470660
>>470558
если не нужен JS для авторизации, то селениум - оверкилл, если так, то бери любой фреймворк для парсинга куда можно скормить юзерагент (считай вообще любой)
#349 #470668
>>470626
Если честно, то на Доусона перелез, нравится, но параллельно читаю Петцольда, хочу действительно хорошую базу получить, Лутц, конечно, хорош, но база от него получится слабее, чем от нескольких узкопрофильных книжек в сочетании с школоучебниками, вроде Доусона.
#350 #470684
Какую версию интерпретатора качать для 4 издания чтобы не обосраться внезапно?
#351 #470705
>>470684
Что за вопрос, последнюю, конечно.
2.х не нужно, если ты по работе не занимаешся поддержкой старых продуктов.
#352 #470746
>>470684
В 4 издании рассматривается 3 версия же, конкретно какая не знаю, но что точно могу сказать, это что тебе нужна последняя, которая доступна на сайте, все инструменты описанные в книге у тебя будут и проблем не возникнет.
#353 #470772
#354 #470827
Короче.
Решил вместо этой хуиты http://ideone.com/Qf2cmD делать по-царски https://ideone.com/YJMPtA , однако есть проблемка. Великолепно работает для одного инстанса.

Чекните сурс, где я мог проебаться? Вероятнее всего в цикле, но пока жбан не соображает где.
#355 #470831
>>465946
Сап, знаю кресты, шарю в протоколах. Чего почитать, чтобы мочь как все эти крутые хацкеры писать простенькие прожки для работы с сетью/удалённые эксплойты?
#356 #470832
>>470827
Кажись исправил. Теперь другая фича.
https://www.dropbox.com/s/5sfaeouw95w11lb/data.json?dl=0

Трейсбэк:

Traceback (most recent call last):
File "./manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/alex/Web/virtualenv/lib/python3.4/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
utility.execute()
File "/home/alex/Web/virtualenv/lib/python3.4/site-packages/django/core/management/__init__.py", line 377, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/alex/Web/virtualenv/lib/python3.4/site-packages/django/core/management/base.py", line 288, in run_from_argv
self.execute(args, options.__dict__)
File "/home/alex/Web/virtualenv/lib/python3.4/site-packages/django/core/management/base.py", line 338, in execute
output = self.handle(
args, options)
File "/home/alex/Web/virtualenv/Diploma/Registry/management/commands/fill_data.py", line 16, in handle
Odesk.skills = data['skills']
KeyError: 'skills'

В итоге короче доходит до 97 пункта и прерывается.
#357 #470840
>>470831
голос с дивана
Любую книгу по Питону, а потом исходники программ из области, которая понадобится. Всякие Лутцы тебе нахуй не нужны, раз уже что-то умеешь.
#358 #470845
>>469959
Так sockschains же есть для таких случаев. + iptables где прописан только ip входной ноды тора/1 прокси
#359 #470846
>>470840
Ну не знаю, мне бы чё-нить ёмкое без лишних объяснений, чтобы не совершать ошибки перехода на другой язык. Ну типа привык ты делать так а в другом языке так значит немного другое.
#360 #470854
>>470845
proxychains
fix.
#361 #470913
>>470846
читай оф. доки, очевидно же
оф доки рулят, книги для школьников
#362 #470982
set1 = set(list("one, two".split(","))
print(set1)
Ошибка синтаксиса. Ткните пальцем, не могу найти.
#363 #470983
>>470982
Ой, блядь, скобка же. Нашёл.
#364 #470992
>>470558
github:vk_api
#365 #471006
Как проверять в БД наличие данных чтобы не создавать копию? В джанге , офк.
#366 #471027
>>470854
Ну, это слегка другой "уровень" воздействия. Если, мне надо много соединений из одного приложения через разные прокси?
#367 #471034
Вопрос по django. Есть queryset q = Model.objects.all(). Надо найти в нём по id обьект и возвратить id обьектов, которые идут в queryset до него и после него. Тоисть например есть id c айди 8841 в queryset он занимает позицию 61, функция должна возвратить Id обьектов, которые в queryset находятся в позиции 60 и 62. Как подобную хуйню реализовать?
#368 #471035
аноны, зашел я тут блять с проблемой
Пишу диплом, пишу на Python
Решил сначала оформлять в PyQt, ебался с этой хуйней, потом понял что нахуй это дерьмо, лучше делать всё в SaaS форме, в веб-интерфейсе.
И теперь есть два стула - на одном пики Djangoвые, на другом хуи Flaskoвые.
На какой сесть? Знаю, что с фласком вроде ебли меньше, но я хуй знает, мне нужен веб интерфейс еще и для визуализации кое-каких функций (то есть должна быть хорошая работа с графическим представлением функций), которые будут анализироваться через данные, вводимые пользователем.
#370 #471038
>>471035
У тебя одна страница или несколько? Если одна то ебашь фласк с хабра туториала, если несколько то джангу.
#371 #471039
>>471038
склоняюсь к нескольким, но можно заебашить и с одного
#372 #471042
>>471039
Если у тебя одна страница , которая даже бд не использует, а тупо рисует и анализирует графики по введенным данным то тебе нужен фласк. Джанго будет оверхедом, но так то похуй на чём делать.
#373 #471045
>>471042
не, БД использует, еще при этом она должна хранить постоянно около 5 значений, потом хранить два файла Эксель, для последующего анализа, мне короче придется прикручивать еще библиотеки для экселя.
И там блять вроде грабберы данных короче.
#374 #471046
>>471035
Лол бля, ты смотрел в сторону ipython и nbviewer? Там тебе и веб интерфейс, и визуализация, и данные от пользователя, и всё всё всё.
#375 #471047
>>471045
Просто начни делать. Я щас сам делаю на джанго нечто вроде hh.ru только хуевее.
#376 #471048
>>471047

>нечто вроде hh.ru


>только хуевее.


куда еще-то ебана
#377 #471049
>>471047
делаю, ебусь, спасибо.
>>471046
Посмотрел, спасибо. Нихуя не понял, в смысле что блять на русском то маловато всего, если вообще есть (ну да, я хоть энглиш понимаю, но не так, как нужно). И мне с этим проблем еще не хватало, когда нихуя перед дипломом не смогу найти со своей проблемой в интернете.
#378 #471050
>>471048
Ну. Это короче хуйня пиздит инфу с odesk и LinkedIn и типа выдает как результаты поиска. Типа как база резюме вроде hh, только это всё хуево с вырвиглазным дизайном и типа мой диплом. Но я пытаюсь в дизайн.
#379 #471051
>>471049

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


ну это меня мало ебет
По факту эта вся залупка как матлаб + мапл + полноценный язык программирования с интерактивным отображением данных в браузере с возможностью экспорта в нормальные форматы (а именно латех и eps).
#380 #471052
>>471050
меня бы мой дипломный руководитель нахуй бы послал с твоей темой диплома.
Ты же нихуя не производишь, нахуй ты делаешь это? ДЛя галочки?
#381 #471053
>>471052
Таки дела у Академических Бакалавров.
#382 #471056
>>471053
ебать, я тоже бакалавр как бы, только я ебусь как сука
#383 #471082
>>471038
Тут поиск в queryset идёт по номеру страницы пагинатора, а мне надо по Id в бд.
#384 #471083
>>471038
Ой, проебался, адресовано сюда >>471037
#385 #471099
import requests
r = request.get('http//example.com')
print(r.text)

Как проще всего перейти по нужной мне ссылке?
#386 #471101
>>471056
Ну типа я хотел захуярить ахуенную программку, которая бы чертила в реальном времени оптимальный путь для транспортного корабля с учетом рельефа дна, его проседания с грузом и без, погоды, пиратских рейдов и кратчайшего пути, но мне сказали что я за год это не сделаю и дали на выбор либо Железо точенное либо свою тему, а кроме этой программки у меня идей не было вот и слепил из говна идею.
#387 #471102
>>471099
имеется ввиду, что нужно не в ручную прописать request.get
а что бы скрипт сам искал нужную.
lxml и re?
#388 #471105
>>471034
1. c queryset можно обращатся как со списком
2. вопрос ебланский, ты хуй, потому что база данных не гарантирует тебе порядок строк, если ты сам не сделал сортировку
#389 #471461
Аноны, поясните, что делает функция int.from_bytes со строкой байтов на входе? Из доков не ясно нихуя, какое-то отражение байтов со входа, это что-то вроде хеша, который только строку цифр возвращает? А главное, если на вход были поданы случайные байты из urandom, строка цифр остается достаточно случайной?
#390 #471494
def checkio(data):
for el in data:
if data.count(data[el]) == 1:
del data[el]
return data

Не могу понять, почему индекс за границу вылезает?
#392 #471512
>>471099
Распарсить и перейти.
>>471102
lxml — парсер xml, re — регулярки. Это разное. html5lib
>>471461
Что тебе непонятно, дибил? Из байтов делает число.

>>> int.from_bytes(b"\x00\x01", "big")


1

>>> int.from_bytes(b"\x00\x01", "little")


256
#393 #471513
>>471512

> html5lib


Конечно же beautifulsoup + html5lib
#394 #471514
>>471512
lxml отлично парсит хтмл, что бс даже и рядом не стоял
#395 #471548
>>471514
Они интегрированы давно, в бс есть lxml парсер, в lxml есть возможность выполнения бс-стайл запросов.
#396 #471594
А как с помощью lxml спарсить value в hidden форме?
#397 #471653
Посоны как чекать существующие записи в таблице и не создавать копий?
134 Кб, 600x488
#398 #471697
>>471494
el - это уже элемент, а не индекс.

Впервые что-то подсказал анону по программированию.
sage #399 #471699
>>471697
Считай девственность потерял.
#400 #471727
Есть ли такой сайт, где скажем, на джанге запилена страница авторизации, например. И тут же ее исходный код. В чем профит? Можно сразу посмотреть реализацию типовых задач. Если нет такого сайта, давайте запилим! И чтобы каждый мог добавить свое.
#401 #471728
>>471727
Зачем? Делать регистрацию дичайше просто. Пилишь форму - делаешь вьюху - цсс хтмл хуита.
#402 #471729
>>471728
Это для тебя просто. А для страждущих? Тем более кто тебя ограничивает примером только такой фичи? Запили что-то покруче и расшарь!
#403 #471732
>>471729
Зачем тогда сайт, если можно сделать гитхаб от анонов и скидывать в репозиторий свои примеры приложений или фишек.
#404 #471733
>>471732
Это скучно и не наглядно.
#405 #471738
>>471699
Приобрёл.
#406 #471746
Все ебанулись
python-b.blog_spot.com/2012/09/python_13.html
#407 #471747
>>471733
Что ты собираешься наглядно показывать?
У тебя набор из вьюх, хтмл хуйни и модели+формы.
#408 #471751
>>471746
Попиариться пришел?
#409 #471753
>>471746
Боковая панель заебись. Мозайка - говно.
#410 #471755
>>471747
Ну вот это и показывать.
#411 #471756
>>471755
Это не стоит затрачиваемых на это усилий.
#412 #471757
А может тогда сделать библиотеку для работы с дваче-апи? Что-то типа библиотеки для работы с апи vk.
#413 #471758
>>471757
Абу, опять работу на анонов перекладываешь?
#414 #471759
>>471751
нет, гуглил и наткнулся на это
#415 #471760
Учу питон менее месяца, начал на олимпиаде по программированию, на которой он помог мне занять неплохое место. Язык очень нравится, писать программы приятно.
Но теперь у меня возник такой вопрос - нужен ли сейчас питон? Где и как применяется? Реально ли найти работу?
Специалисты выручайте.
#416 #471761
sage #417 #471766
>>471760
Только за этот тред уже раза три спрашивали. Нужен. Везде.
#418 #471767
>>471761

>(outdated)


Форкни и обнови
#419 #471790
>>471510
>>471697
Нет. Как подсказали жависты - это то же самое,
что и Concurrent modification exception. Короче, нельзя элементы удалять из списка, итерируясь по нему.
#420 #472115
>>471790
И брать data[el] тоже - тоже будет аут оф рейндж. Если data - это не последовательность чисел с нуля.
#421 #472117
#422 #472209
Ребзь, помогите написать форму смены ника юзера и её обработчик. А то тупой и нихуя у меня не пашет.

forms.py
class UsernameChangeForm(ModelForm):
class Meta:
model = User
fields = ['username']

views.py
@login_required
def change_username(request):
if request.POST:
username = request.POST.get('InputNick', '')
if username != '':
form = UsernameChangeForm(request.POST)
if form.is_valid():
form.save()
return redirect('/success')
#423 #472210
>>472209
Это джанга
отклеилось
#424 #472231
>>472209
Отбой, сам допилил уже.
#425 #472281
Посоны, как подключить и заюзать библиотеку?
http://rghost.ru/7pCfw4hyf вот эту библиотеку. До этого никогда с ними не работал, накатайте хоть примерчик, буду благодарен. Там есть документация, но примеры на богомерзком C++
sage #426 #472285
>>472281

>dll


Вангую что там не питон. Делай биндинги через ctypes чо.
#427 #472286
>>472285
Ну и что? Библиотеки вроде без разницы же где юзать, не? Мне больше интересно КАК их юзать, блджд
49 Кб, 500x363
sage #428 #472293
>>472286
Ты пхпшник штоль, или рубист? Нихуя не понял, нихуя не знает, но ДАЙТИ. Там не нативный питоновский код, надо ебаться через ctypes. Понимаешь? Оборачивать вызовы из этой dll в питон, делать биндинги, блять, ведь не получится юзать нативно. Не понимаешь? Как тебе еще сказать, чтоб ты понял?

https://github.com/jakiron/pyhik Вот смотри, вот так вот это вот все короче да. Блять
#429 #472357
[CODE]data = [13, 29, 37, 49, 29, 7, 25, 5, 50, 2, 18, 0, 14, 16, 14, 4, 6, 14, 2, 5, 41, 27, 10, 11, 33, 6, 7, 47, 35, 35, 48, 0, 38, 1, 41, 15, 26, 46, 4, 23, 5, 32, 45, 37, 2, 33, 20, 30, 46, 20, 10, 14, 44, 25, 3, 27, 6, 22, 9, 20, 18, 43, 5, 33, 27, 41, 38, 20, 6, 2, 18, 29, 34, 40, 41, 8, 44, 30, 21, 10, 6, 1, 12, 0, 22, 28, 47, 4, 5, 1, 11, 21, 1, 44, 24, 42, 42, 41, 14, 24]
[/CODE]

Есть один список. Как вывести рандомные цифры (не больше 40), которых нет в этом списке? Заебался уже.
#430 #472388
>>472357
http://dpaste.com/06N7HEK

>рандомные


Ну добавь рандом перед принтом

>>>if random.randrange(0,2): print(i)

#431 #472391
>>472388
set кстати не нужен, можно прямо так хуячить. Хз зачем я его прилепил.
#432 #472493
В общем. Есть сайт на сайте размещаются вакансии и резюме, как сделать хуйню вроде рекомендации или предложения, чтобы чекались скажем требования по вакансии и отображались 10 или 20 штук резюме подходящих кандидатов. Допереть что-то слегка не могу. Ну и с примером поиска по тегам подсобите. Джанга офк.
#433 #472497
>>472493
Ну дак выкладывай свои наработки с конкретными вопросами, мудило. А то очень похоже на "как написать игру штобы короче пиздато было".
#434 #472498
>>472497
Ну тип как таковых наработок пока нет. Спросил потому что может готовая хуйня есть. Пока есть только бд с резюме и надо форму для вакансий написать офк всё это хранить в бд, но как подбирать и советовать я хз.
#435 #472499
Парсера LinkedIn ни у кого нет?
#436 #472584
Аноны, кто подскажет как среднеквадратичное отклонение посчитать из массива?
#437 #472679
Пишу сортировку выбором. Почему не работает?
http://ideone.com/3jZJwV
765 Кб, 912x1035
#439 #472698
Суп, змеекодеры. Хотел было скачать видеокурс из оп-поста (Специалист Питон), но раздача закрыта. Может кто-нибудь поделиться ссылкой?
#440 #472722
>>470429

>пишешь три года и не видел веба


> а теперь такой дайте книжку по вебу.


>не пишешь на руби


>покпок ненужна


ясна-ясненька
15 Кб, 331x257
#441 #472743
Ребята, написал свой первый полезный скрипт после года вялого обучения, лол. Он перезагружает роутер, затем пингует его, пингует гугл и показывает в конце внешний айпи.

http://pastebin.com/Mne6fxQe

Подскажите как его можно написать более красиво. Например, у меня команда пинг запускается несколько раз через while, чтобы показывать точки. По идее я могу написать "-c10" , и тогда while не нужен. Но тогда вопрос: как показать точки (что работа идет) и как сразу завершить, после первого успешного пинга?
#442 #472745
>>472743

>чтобы показывать точки и перезапускать команду пинг



Пофиксил маленько.
#443 #472795
http://acm.timus.ru/problem.aspx?space=1&num=1293

как эту хуйню решить? пиздец я тупой
#444 #472797
>>472795
(a b) n * 2
#445 #472809
>>472797
это я понял. Как в питоне записать
#446 #472837
Аноны, бля, качал один файл в PDF, методы Data Mining или Big Data не помню, хз, вроде первое, в Python.
Там прямо примеры были реализации очень большого количества методов на Python.
Может у кого есть? Может кто этим интересовался?
#447 #472921
>>472743

> Realoading


> if check_ping(router, count):


> if check_ping(test, count):


Дурак что ли?!
https://github.com/samuel/python-ping
#448 #472925
>>472837

>методы Data Mining


http://guidetodatamining.com/
#449 #472991
>>472925
бля, анон, тонны нефти тебе
#450 #473063
Анон, скажи за няшные либы для парсинга сайтов, использую Grab (http://grablib.org/ru/), более менее доволен, но не оче нравится там документация, призодися самому иногда разруливать, что хотел сказать автор, да и есть ощущение, что проект загнулся или ещё немного

Beautiful Soup показлся не очень шустрым, ксати
Желательна возможность скачивать страницу своими средствами (граб умеет, кстати, BS, тоже)

ЗЫ надо, чтобы её было не стыдно в продакшн совать и заказчикам на сервер пихать
#451 #473150
>>472391
Ты, наверное, хотел сделать дифференс двух сетов сначала.

http://dpaste.com/0V18JNA
#452 #473229
>>473063
bs + aiohttp

> BS, тоже


Где это bs умеет скачивать страницу?
#453 #473301
>>473229
я не это имел ввиду, наоборот, скачать с помощью aiohttp, а ему скормить, Граб вот по-дефолту скачивает, но можно ему и скормить скаченую.
#454 #473304
Есть такой кусок в JSON:
u'skills': [u'python', u'javascript', u'django-framework'],

Вытаскиваю с помощью data['skills']. Получается однако ['python', 'javascript', 'django-framework'] , как избавиться от []?
#455 #473305
Установил sorl-thumbnail для Джанго пипом, пробую импортировать из shell - все ок, но если добавляю в список installed_apps, то выдает ImportError: No module named sorl. Как так?
#456 #473309
>>473305
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.admin',
'django.contrib.sites',
'django.contrib.comments',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.contenttypes',

'sorl.thumbnail',
)
#457 #473313
>>473309
Я читал документацию, у меня нет ошибки.
#458 #473316
>>473305
Вангую ерунду с версиями.
#459 #473319
>>473316
Странно, что на appfog все нормально запускается, а ошибка импорта только у меня на локалке.
#460 #473320
Господа,прошу ссылку на множество библиотек,заранее благодарю
#461 #473356
>>473320
https://pypi.python.org/pypi
https://github.com/vinta/awesome-python

пора бы знать такие вещи, первая для pip, другая вида awesome-технология (https://github.com/bayandin/awesome-awesomeness)
#462 #473414
Аноны, изучаю Django и нужны примеры каких-либо маленьких сайтов на нём, на новой версии.
Надо искать как-то на github.com но как?
Я в душе не ебу.
#463 #473580
Официально заявляю, что у нас одна из самых стремных шапок в разделе. Слушаю ваши предложения.
#464 #473583
>>473414
Во. Во. Я же говорил, что надо >>471727
#465 #473596
>>473301
Что значит "однако"? Что по-твоему должно получиться?
#466 #473598
>>473580
Убрать весь текст, оставить только пикчу и тему ПYTHOП
#467 #473626
>>473583
Ну так начните епта. Сделайте хуйню , которая позволит добавлять туда примеры кода и описания + ранить это всё для наглядности.
#468 #473631
>>473626
для того, чтобы начать, нужно уметь епта
Начну епта, может через полгода, для анонов будет помощь и для джангогоспод
#469 #473647
>>473631
Ну тип дело в том, что я бы этим занялся, но я в душе не ебу как реализовать автоматический запил новых кусков. Поскольку для этого нужно будет добавлять новые модели в бд делая миграции и все дела. В результате чего какая-нибудь гитхаб репозитория с папками проектов кажется более логичным вариантом.
#470 #473666
>>473580
Лучшая шапка в крестотреде, объективно лучше быть не может, глупо пытаться их переплюнуть, остается только сделать дело качественно, тогда, может быть, мы будем хотя бы на 10 % такими же охуенными, как они.

Ну если подойти серьёзно. Новичковую парашу можно попробовать убрать в первый пост треда, оставить охуенные ссылки на КОНТЕНТ и ПИЗДАТЫЕ ЛИБЫ, ну и типсы для не совсем зелёных. В начале треда нужна ссылка на предыдущий тред в похожем формате: "Прошлый тред: >>1234567".

Если текста больше нескольких строк можно приложить 2-4 картинки одинаковых пропорций (либо вертикальных) - в таком случае они находятся на одной линии. Текст при этом размещается под ними, а не висит в воздухе с 5 сантиметрами подкартиночнойпустоты слева.

Запостить тест шапки загодя на суд анона.
#471 #473703
>>473647
кастую гитхаб, в чем проблема, даже профит будет, самим пилить примеры по мере обучения и сливать туда, плюс прокачка скила ГИТа
#472 #473704
Питоны, почему наш питон соу слоу? Почти вся скриптота быстрее (пусть и немного) нас. Как гвидо это объясняет?
#473 #473710
>>473704
Пилит CPython.
#474 #473732
>>473704
Процитирую Лутца:
Будет ли вас когда-нибудь волновать разница в скорости выполнения
программ, зависит от того, какого рода программы вы пишете. Python
многократно подвергался оптимизации и в отдельных прикладных областях
программный код на этом языке отличается достаточно высокой скоростью выполнения. 46
Глава 1. Python в вопросах и ответах
Кроме того, когда в сценарии Python делается что-нибудь «значительное»,
например обрабатывается файл или конструируется графический интерфейс,
ваша программа фактически выполняется со скоростью, которую способен
дать язык С, потому что такого рода задачи решаются компилированным
с языка С программным кодом, лежащим в недрах интерпретатора Python.
Гораздо важнее, что преимущество в скорости разработки порой важнее потери
скорости выполнения, особенно если учесть быстродействие современных
компьютеров.
Тем не менее даже при высоком быстродействии современных процессоров
остаются такие области, где требуется максимальная скорость выполнения.
Реализация математических вычислений и анимационных эффектов,
например, часто требует наличия базовых вычислительных компонентов, которые
решают свои задачи со скоростью языка С (или еще быстрее). Если вы
работаете как раз в такой области, вы все равно сможете использовать Python,
достаточно лишь выделить из приложения компоненты, требующие максимальной
скорости работы, в виде компилированных расширений и связать их системой
сценариев на языке Python.
#475 #473810
>>473703
Ну тип тут половина хочет ахуенный риал тайм пример. Мол типа зашел на сайтик, а там всё выложено от html до models.py на уровне бутстрапа.
#476 #473842
>>473666
Только у крестотреда такая шапка, на которую противно смотреть из-за мата и агрессии, и желание зайти в тред пропадает.
Матерящегося быдла на дваче и так хватает.
Делайте культурную и дружелюбную к новичкам шапку.
#477 #473845
>>473842
Толку то? Сделаешь вам шапку, вы её проебете.
#478 #473846
>>473732
Похоже на отмазочки. Руби быстрее нас. ЖС очевидно быстрее нас. Даже похапе быстрее нас. WHY?

>>473842
Сырно, ты?
#479 #473850
>>473846

>Руби быстрее нас


Кек, Джанга быстрее Рельсы и работает понятнее без всякой "магии".
#480 #473851
>>473842
У крестотредов оп - модер
#481 #473858
>>473850
Погулил больше бенчмарков. Ну, может ты и прав. Но все равно у питона местами репутация как у маленькой джавы.
#482 #473869
>>473858
У питона нет особо никакой репутации. Набор Scipy+Numpy+Python считается добротным инструментов в Machine Learning и Data Mining. Django считается удобным ORM фреймворком. Stackless Python юзается для ММО симулятора таблиц "EVE Online" в качестве Threading фичи ибо внезапно там каким-то хуем даёт фору си. При этом язык как бы красив и легок в вхождение, поэтому в нормальных вузах им заменяют старые курсы basic/pascal. Возможно репутацию подпортили всякие хипстеры, но они щас съебались в рельсы и GO, может быть уже ушли в Earlang. Посути щас в этой стране идёт тихий хайп по питону - все резко вкурили , что язык годный, но упоротость и дремучесть людей в этой стране заставляет их хотеть сайты на пхп и хуйню на джава, поэтому с работкой пока всё более менее хуево.

Заебашил репозиторий: https://github.com/2chPythonThread

Надо бы сделать как в пхп треде наверное https://gist.github.com/codedokode/58ebc90bd006baf4b35c
#483 #473891
А как принято разделять функции и классы? Я вот смотрю чужой код, и у некоторых бывает по 3-4 пустых строки между функциями. И еще по пустой строке между логическими блоками внутри функции. И даже перед ретурном. И перед/после комента. Код охуеть как растягивается с этой хуйни. Есть какое соглашение?
#484 #473894
#485 #473899
>>473891
Комментарии по всему классу/функции хуяришь после def/class в виде """ Комментарий """, дальше указываешь с помощью # или """ """ места где что-то не так или очень сложно врубиться.

По поводу пробелов/разделений - байтоёбство. Между функциями и классами обычно 1 пробел. Внутри больше зависит от тебя самого. Считаю разумным выделять адовые куски пробелами.
#486 #473904
>>473869

>2chPythonThread


Ну бля, переименуйся как-нибудь беспалевно, я не хочу чтоб друзья воображаемые знали что я сижу на джваче.
#487 #473906
>>473904
Скажи им что ты просто нашел репозиторий на гитхабе и там был нужный тебе проект и он вообще годный все дела.
#488 #473914
>>473894
Во, самое оно. Теперь я прошаренным стилистом буду.
#490 #473947
>>473583
Да я б тебе за реализацию подобного отсосал бы.
826 Кб, 3280x1080
829 Кб, 3280x1080
#491 #473974
Ебаный в рот. Я вызываю джанго мастеров. Почему у меня пидорасит шаблон, а со вторым всё сука нормально. Ебаный в рот.
http://ideone.com/XXmRbd - base
http://ideone.com/1vHSS4 - sidebar.
http://ideone.com/Eb7HbK - Работающий шаблон.
http://ideone.com/6r2tiD - Шаблон пидорас.
#492 #473994
>>473974
А где у тебя load staticfiles?
#493 #473995
>>473647
Мне кажется, тут будет применяться такая вещь как метапрограммирование. То есть нужны классы, которые будут создавать новые классы.
#494 #473996
>>473869
Пока у тебя ничего нет в репозитории, удали его и переименуй как нибудь, правда. Как минимум два человека уже просят.
#495 #474003
>>473923
Даже кой чего добавил. Давай перенесем на другой аккаунт, это же не сложно. Назови как нибудь нейтрально. PythonTutorialsAndPractices, например.
#496 #474005
>>473994
Naxyi on mne nyjen esli est {{STATIC_URL}}?
#497 #474006
>>474003
Это не очень название. Давай креатив включай. Изменить пара минут дела. Можете устроить голосовалку по этому поводу, а пока так побудет.
#498 #474049
Но название репозитория:
PythonForNewbies
PythonFirstStep
PythonDlyaDruzey
PythonForFriends
#499 #474063
>>474049
Назови из Монти Пайтона, раз гвидон в его честь назван.

[Python] Flying Circus
[Python] Personal Best
[Python] Total Rubbish
Python Night
https://en.wikipedia.org/wiki/Monty_Python и т.д.
#500 #474079
>>474063
Я бы назвал "Python's The Meaning of Life", но гитхаб не дает.
#501 #474081
https://github.com/TheKnightsWhoSayNi

Короче решил пока так раз двач вам не нравится.
#502 #474101
>>474081
А как это понимать? Алсо, перекат. >>474099
#503 #474459
Аноны, за сколько по времени, примерно, можно выучить Phyton? Ну, хотя бы базовые знания.
inb4, знаю, что очень глупый вопрос.
#504 #475136
>>474459
Начни изучение с названия
#505 #475138
>>474459
Начни изучение с названия
#506 #475197
Нейросеть на удаве - это совсем слёзы или можно попробовать?
2440 Кб, Webm
#507 #475291
Да ну в рот его ебать. Почему не работает-то?
Комменты, которые там оставлены читал - не помогли.
http://djbook.ru/rel1.6/intro/tutorial03.html
#508 #475296
Что-то я туплю совсем. В Питоне же нет ничего из коробки, что обрабатывает строки вот так?
http://ideone.com/XHhF0M
Или есть?
#509 #475557
>>475296
eval()
#510 #475736
>>475557
Ох ты ж бля, действительно! Прикольная штука. Спасибо, аноняш. :3
#511 #475766
Бамп
#512 #480728
>>465946
Сап, пр. Питон только недавно начал изучать, сейчас пытаюсь написать текстовый редактор и у меня возникла такая проблема: не могу найти способ вывести текст на бумагу, то есть распечатать. Надеюсь на вашу помощь.
#513 #487667
Что скажете по http://www.intuit.ru/studies/courses/49/49/info
Для начального уровня пойдет?
228 Кб, 1600x1071
#514 #489112
>>487667
ну же антоши гляньте, ранее писали что на intuit попадаются годные курсы, хотелось бы мнение человека разбирающегося в питоне, а то не хотелось бы засорять голову ненужной(а то и вредной) информацией.
#515 #490163
>>487667
>>489112
Я что-то пропустил, питон все?
Тред утонул или удален.
Это копия, сохраненная 3 июня 2015 года.

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

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