Программирование


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

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
538 63 151

Python /python/ Аноним 11/08/19 Вск 21:14:41 14516191
1.jpg (2868Кб, 1574x1600)
1574x1600
2.jpg (47Кб, 1440x900)
1440x900
3.png (297Кб, 750x375)
750x375
Python тред, номер утерян в веках

Предыдущий: >>1443245 (OP)

ЧАВО: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat - по идее с этого надо начинать, прежде чем вопросы задавать, но аноны бугуртят, что это говно мамонта.

Книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem
Очень много книжек: https://drive.google.com/drive/folders/13YaFijvuH4dtv-PjUKVWLQ7ZIqXIfCLK

Анон, вместо того, чтобы без разметки постить код, лучше шарь код через специальные ресурсы:
https://ideone.com/
https://pastebin.com/
https://pyfiddle.io/
https://www.codepile.net/
Аноним 11/08/19 Вск 21:40:33 14516282
первыйнах
Аноним 12/08/19 Пнд 01:51:44 14517453
> но аноны бугуртят
Аноны такие аноны.
> что это говно мамонта
Это не так, уверяю.

Платиновые вопросы:
А стоит ли читать Лутца, том номер N? - Мнения в треде разделены. Кто-то за(очень неплохая база даётся), кто-то против(слишком много воды и объём книг убивает всё рвение). В общем - решать тебе, книга вредна не будет, то ты можешь её просто не дочитать и забросить.

А стоит ли читать %книга_нейм%, если там питон версии 2.х? - Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х.

А стоит ли читать %книга_нейм%, если там питон версии 3.х, но <3.6? - Да стоит, если альтернатив свежее нет, данная книга даст базу, с помощью которой ты сможешь дальше продолжить вкат и актуализацию своих знаний.

А как учить джангу? Нахожу только книги по джанге 1.х - У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей.

Как-то так. Ещё куча вопросов с пометкой платина, но ебать мой хуй, на них из раза в раз отвечают.
Аноним 12/08/19 Пнд 03:13:37 14517574
pc.png (1647Кб, 3840x2160)
3840x2160
>>1451745
Дополню. В большинстве не по теме ЧАВО, а от себя

> в ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но переработанная под язык Python http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)

> не умею читать/воспринимать литературу
Дальше с такими качествами будет довольно сложно, но есть множество интерактивных курсов / лекций и тд
Гугли: coursera, stepik, metanit, Яндекс.Практикум РЯЯЯЯЯ, ОНИ ПЛАТНЫЕ (Ответ: сертификат тебе не нужен, изучай бесплатную часть)

> уже много раз начинал, но забрасывал, а теперь не могу читать книги с нуля, куда двигаться?
Пробегись по этому списку https://tproger.ru/curriculum/python-how-to-learn-2/, изучи то, чего не знаешь и то, что осталось непонятным, потом начинай делать проекты попутно залезая в гугл. Также можешь полистать книгу intermediate python, она есть на русском

> знаю питон от корки до корки, что делать дальше?
Выбирать web, ML, DS, ИБ, изучать и делать пет-проекты

> вот вы говорите про проекты, а что делать то?
пикрил + https://www.random.org
Аноним 12/08/19 Пнд 10:52:47 14517975
>>1451619 (OP)
>>1451757
Для тех, кто более-менее умеет программировать, очень хорошая вводная документация на самом сайте питона:

https://docs.python.org/3/tutorial/index.html

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

Для тех, кто более-менее умеет программировать, я бы рекомендовал именно с официальной документации начать, с этого раздела.
Аноним 12/08/19 Пнд 10:55:01 14517996
Аноним 12/08/19 Пнд 11:20:48 14518127
>>1451757
Годно, спасибо, антош.
Аноним 12/08/19 Пнд 11:25:48 14518148
>>1451799
Случайно не знаешь, там есть возможность переключения языка
Это кто-то специально отобранный переводит? Потому что если нет, то почему бы рядовому анону не перевести всю доку на русский, там нет ничего сложного, даже я со своим intermediate справлюсь
Аноним 12/08/19 Пнд 11:27:32 14518159
>>1451814
Выбор языка сверху слева. Переводят комъюнити.
Но зойчем переводить на русский, если куча доков на остальные либы на инглише?
Аноним 12/08/19 Пнд 11:47:57 145183610
image.png (12Кб, 921x98)
921x98
Блять, что я делаю не так? Памагити.
Центось7. Поставил python36 + pip
При установке пакета, пип предложил обновиться до версии 19х (или 16х, не помню). Обновил пип через сам пип и он почему-то проебался. pip -V pip3 -V нихуя не отдают.
Аноним 12/08/19 Пнд 13:38:25 145191911
>>1451814
Качественный перевод довольно сложно делать, и этим надо постоянно заниматься, актуализировать по мере обновления англоязычного оригинала. Мне кажется, что сейчас меньше переводят серьёзной документации, чем раньше, всем надоело просто. Очень большой объём, много времени надо, за это не платят.

Я уже привык читать на английском языке, хотя иногда хочется и по-русски что-нибудь почитать. Но чтобы это был нормальный перевод, а не чуть лучше гугл-переводчика.
Аноним 12/08/19 Пнд 13:41:09 145192012
>>1451836
Сделай echo $PATH
Почему в путях нет /usr/local/bin ? Видимо в этом проблема.
Аноним 12/08/19 Пнд 13:45:08 145192213
>>1451920
Да, так и сделал.
Правда, теперь у меня почему-то две папки с пиповскими модулями
>/usr/local/lib/python3.6/site-packages/
>/usr/lib/python3.6/site-packages/
И при установки через пип, он лепит модуль в /usr/lib/python3.6/site-packages/
А питон ищет модули в /usr/local/lib/python3.6/site-packages/

Срань.
Аноним 12/08/19 Пнд 14:07:19 145193014
>>1451919
Насчет гугл переводчика прямо в точку написал. Только что редактировал статьи на MDN'е, потому что глаза режет что-то вроде "веб-обзорщик"

А насчет либы, то я уже говорил, что там нет чего-то прям сложного в плане английского, за вечер можно пару страниц перевести. Тот же самый плюс в ЧСВ и помощь ньюфагам в освоении технологии
Аноним 12/08/19 Пнд 14:11:04 145193215
>>1451930
не либы, а доков по языку
быстрофикс
Аноним 12/08/19 Пнд 14:22:37 145193716
Вопрос не совсем по питону. Может кто знает очень годные задания, данные вместе с решениями в формате текста (не интерактивная залупа вроде кодекадеми и прочего)? И при этом не привязанное к языку.
Читаю байт оф питон, а в ней задачек нет.
Аноним 12/08/19 Пнд 14:27:13 145193817
>>1451922
ХЗ, что-то как-то не так встало. Я в эти дебри никогда не лез, работало всегда без проблем.

ПИП должен лепить модули в /usr/lib/python3.X/
У меня там все, в том числе и штатные системные, я правда глобально сейчас почти не ставлю, ставлю локально в virtualenv.

Каталога /usr/lib/python3.6/site-packages вообще нет, там dist-packages есть (у меня на разных убунтах)

Что-то не так встало, pip видимо не так встал.
Аноним 12/08/19 Пнд 15:18:20 145195418
>>1451937
Попробуй codewars (там есть возможность просматривать чужие решения с комментариями и пояснениями), задания разделены по уровням сложности и все такое
Аноним 12/08/19 Пнд 18:31:00 145206319
>>1451937
Codingames, множество задач разного уровня, решения возможны на разных. Решения гуглятся по условию
Аноним 12/08/19 Пнд 18:34:32 145206420
Немного не по теме, но есть вопрос.
Я +-разобрался в питоне(на нужном мне уровне) и возник вопрос, что еще изучить, чтобы иметь хорошую базу?
Как я понял, то для веба можно взять js, а потом html+css, чтобы можно было полностью понимать как сделать и мочь сделать сайт.
Или же это бесполезно и лучше взять C/C++?
Аноним 12/08/19 Пнд 19:17:33 145208321
>>1452064
Вообще главное не язык, а технологии, технологии программирования и построения приложений.

Если ты владеешь ООП, параллельным программированием, асинхронным, программированием БД, сетей, и т.п. на одном языке, то освоишь и на другом, а вот с самими методами и практиками надо долго разбираться и осмысливать их.

На чём бы веб-приложения хочешь делать и какого рода?

Для веб, база:
1) HTML+CSS, даже понимать и что-то уметь необходимо, даже если ты на бэке специализируешься.
2) JS аналогично, но JS сам по себе большая тема. Сильно зависит от того, что бы будешь реализовывать. От этого зависит и выбор бэка. Но как минимум надо понимать, как работают приложения на JS.
3) Тебе необходимо понимать, как работает веб, HTTP протокол. Как устроены запросы GET/POST, как данные туда-сюда пересываются, куки, современные технологии ajax и вебсокетов.
4) Вся база по построению сайтов, работа со всякими сессиями во фреймворках, работа с разными видами БД и т.п.

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

Это какая-то общая база для всего веб программирования.

Ты просто подумай со стороны задачи. Есть задача полезная, которую надо сделать, которая работает через веб. И подумай, как именно её делать, как именно эта задача работает.
Аноним 12/08/19 Пнд 19:36:19 145209222
>>1452083
Окей, спасибо большое.
В таком случае попробую разобраться в них и попробую свой сайт запилить.
Сейчас как раз разбираюсь с БД и как работать с ajax
Аноним 13/08/19 Втр 05:15:17 145220723
Пытаюсь в проекте подключить Pool из multiprocessing
при попытки вызвать pool.map(self.method,list) выдает ошибку, map() takes from to positional arguments but were given. Сам кусок кода находится в методе класса. Как можно решить проблемму?
Аноним 13/08/19 Втр 08:38:09 145222024
А есть пайтон стэндалон на винду? Оффлайн, разумеется. Чтобы на работе, не связанной с айти, кодить.
Аноним 13/08/19 Втр 11:22:53 145226825
Screenshot 2019[...].png (24Кб, 574x286)
574x286
Как я понимаю, эти два способа абсолютно одинаковые, тогда зачем их два? Или может есть различия?
Аноним 13/08/19 Втр 11:31:19 145227526
>>1452268
Нет, не одинаковые.
В первом случае у тебя в текущем пространстве имён появляется имя tkinter. Дальше - tkinter.zalupa().
Во втором - появляются все экспортируемые имена из модуля tkinter. Дальше - просто zalupa().

Аноним 13/08/19 Втр 11:33:43 145227727
>>1452268
Разные. В первом ты просто подключаешь модуль, после чего можешь использовать, наприме
tkinter.Button()
но явно указываешь модуль при вызове функций оттуда.

Во втором случае ты импортируешь всё из модуля в основное пространство имён, и уже используешь
Button()
без указания модуля. Могут быть конфликты имён из-за этого и не очень понятно, откуда какая функция или класс берётся.
Аноним 13/08/19 Втр 11:35:52 145227928
Аноним 13/08/19 Втр 19:53:48 145266229
>>1452220
Он и есть стэндалон. Либы нужные просто можно подкачать из интернета при необходимости. Если параноик - на флешке таскай.
Аноним 13/08/19 Втр 22:36:14 145276830
Чтоб вкатится в базы данных какую связку лучше использовать с Питоном? sql?
Аноним 13/08/19 Втр 22:36:15 145276931
image.png (8Кб, 648x64)
648x64
двач, почему получаю такую ошибку при переименовании файла?
Аноним 13/08/19 Втр 22:42:55 145277432
>>1452769
если пытаюсь сделать то же самое из консоли, все работает
Аноним 13/08/19 Втр 22:51:14 145278133
>>1452774
понял в чем ошибка, там каким то образом оказался вопрос в названии файла
Аноним 13/08/19 Втр 22:53:51 145278234
>>1452768
Sql это язык запросов к соответствующим БД.

Если совсем с нуля, возьми sqlite3, штатный модуль питона, одна база = один файл. С ним принцип работы примерно тот же, что и с полноценными базами.
Аноним 13/08/19 Втр 23:11:27 145279535
>>1452782
Да совсем с нуля собираюсь, спасибо
Аноним 14/08/19 Срд 12:22:13 145304536
Безымянный.png (13Кб, 806x193)
806x193
Шалом, братья
Я уже не знаю, куда обратиться с этой проблемой. Делаю небольшого бота и столкнулся с какой-то непонятной хуйней. С некоторой вероятностью программа зависает без сообщения об ошибке, во время выполнения следующего
1) Запрашиваю к серверу через http.client.HTTPSConnection
Если возникает ошибка:
2) Ловлю исключение
3) Через print вывожу в консоль текущее время и исключение, и отправляю себе вк то же самое лишь с той разницей, что для вк получается новое время

В 22:59 обнаружил, что программа не работает, нажал ctrl-с, программа вместо того, что вырубиться, печатает пойманное исключение socket.timeout: the read operation timed out и время - 10:12, отправляет мне исключение вк со временем 22:59 и продолжает работать как ни в чем не бывало

Может ли себя вести функция print???
Аноним 14/08/19 Срд 13:25:14 145312737
>>1453045
У тебя проблема с сокетом. Ты установил соединение, но потом оно молча обрывается и ты об этом не знаешь. Твой сокет слушает, то ему никто ничего не высывает и не собирается.

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

Аноним 14/08/19 Срд 13:57:13 145315438
>>1453127
У меня в http.client.HTTPSConnection установлен параметр timeout = 20, это разве не то?
Аноним 14/08/19 Срд 14:24:13 145318539
>>1451619 (OP)
Ку. Когда-то давно юзал питон для парсинга сайтов, язык понравился. Сейчас хочу немного поботоводить в онлине-гамесах типа wow и poe. Насколько хорошо питон подходит для данных задач? Имеет смысл пытаться юзать его в таких целях, или не выёбываться и задрочить какую-нибудь сишку?
Аноним 14/08/19 Срд 14:37:13 145319540
>>1453154
По идее это таймаут на коннект. Но у тебя может быть ситуация, когда соединение установлено, а потом молча оборвалось. Это довольно штатная ситуация и её надо отлавливать.

Есть разные способы, или надо выставлять KEEP ALIVE на сокет, это почти не задокументированная магия, или жёстко контролировать таймауты через сигналы, например, это если у тебя обычная синхронная задача. Для этого надо разобраться в логике твоей задачи, когда данные уходят, приходят и т.п., как долго ты можешь без данных быть и т.п.
Аноним 14/08/19 Срд 17:49:00 145332441
Профессиональные змеегонятили, на связи вкатившийся два года назад. Есть что почитать по архитектуре? А то делаю сервисы на работе, но не уверен, что делаю это правильно, хочется посмотреть на эталонную реализацию, желательно учитывающая специфику языка.
Аноним 14/08/19 Срд 17:56:32 145333042
>>1453324
Миддл уже? Скок зп на старте/сейчас?
На твой вопрос не знаю ответ.
Аноним 14/08/19 Срд 17:59:00 145333243
>>1453330
На позицию мидла взяли через год, даже в проебалтику релокейтнули (я писал тут давно об этом), на старте было 30к в миллионике, сейчас 2200 евро.
Аноним 14/08/19 Срд 18:17:45 145335044
>>1453332
А во сколько годгов вкатывался? И сколько по времени уделял на обучение? Сам уже 7 лет подряд начинаю каждую весну учить питон, уже наизусть знаю вводные главы, могу простенькие программы писать, но стоит только на следующий уровень переходить так что-нибудь случается в жизни. А сейчас уже серьезно к этому вопросу подошел, ибо хочу кое-какой проект замутить веселья ради. Но устроиться погромистом уже возраст свой не позволит. И не надо мне тут что и в 45 берут на джуна, это все сказки.
Аноним 14/08/19 Срд 18:23:41 145335445
>>1453185
Можешь попробовать, все равно много времени не займет (+- 3 вечера, если шаришь), если будет долго "думать", то попробуй отдельные части, которые больше всего обрабатываются переписать на Cython'е.
Аноним 14/08/19 Срд 18:25:23 145335746
>>1453324
Если из совсем нового "Чистая архитектура" Роберт Мартин
Аноним 14/08/19 Срд 18:39:01 145336347
>>1453350
Вкотился в 20, неспешно читал книжки по питону с 11 класса до 2 курса (2 штуки, лутц и флюент пайтон), потом приперло найти работу и за месяц прочитал django by example делая примеры оттуда. Уделял по часу не каждый день, потом по 1-2 регулярно в самом конце.
Аноним 14/08/19 Срд 18:39:29 145336648
>>1453350
Недавно читал пост на хабре, как чувак в Германии в 40 в java-программисты вкатился, до этого коммерческим программированием не занимаясь. Но он реально серьёзно к обучению подходил, мало кто на такое способен, и всё-таки как-то с ИТ был связан.

За зачем спрашиваешь тогда?
Аноним 14/08/19 Срд 19:00:00 145337749
>>1452207
У тебя метод сколько аргументов принимает?
Аноним 14/08/19 Срд 20:44:02 145343450
1Снимок.JPG (39Кб, 866x486)
866x486
Есть один list. Прогнав его через цикл получаю 2 целых числа(индекс элементов из этого листа) которые хочу использовать как индексы, чтобы потом выбрать часть этого-же листа. Выглядит так примерно. Но получаю ошибку. Хелп.
Аноним 14/08/19 Срд 20:49:39 145343951
>>1453434
Learn English! Это помогает. Там всё написано.

Индекс должен быть или целым числом, или None. А ты зачем-то явно приводишь к строке.
Аноним 14/08/19 Срд 20:50:37 145344052
>>1453434
Тебе компилятор пишет, что индексы среза должны быть целыми числами. Не приводи их к строкам
Аноним 14/08/19 Срд 21:54:13 145346753
>>1453434
>получаю 2 целых числа
И нахуя ты потом применяешь к ним str()?
Просто интересно, что происходит у тебя в голове.
Аноним 14/08/19 Срд 22:10:03 145347554
>>1453467
> что происходит у тебя в голове
Представляю как тебя циклом пускаю по кругу. Я разобрался - я затупил, спасибо.
Аноним 14/08/19 Срд 22:12:30 145347655
>>1451619 (OP)
Есть синхронная программа, в которой происходит много блокировок из-за подгрузки файлов через FTP. Как наиболее оперативно переписать ее через async/await?
С асинхронками раньше дела не имел, где подскажут за годный рефакторинг прог?
Аноним 14/08/19 Срд 22:15:05 145347856
unnamed.jpg (51Кб, 900x900)
900x900
Есть ли способ ввода в getpass.getpass через ctrl-v? Какие есть альтернативы, если хочешь, чтобы вводимые данные не отображались в командной строке?
Аноним 14/08/19 Срд 22:18:58 145348257
Как узнать сколько байт занимает конкретный объект в Питоне?
Аноним 14/08/19 Срд 22:21:09 145348458
>>1452769
Не используй длинные пути файлов, либо те, в которых встречается кириллица в названиях папок, если не хочешь ебаться
Аноним 14/08/19 Срд 22:30:47 145349059
>>1453478
правой кнопкой ткнуть блядь
Аноним 14/08/19 Срд 22:42:34 145349860
Есть один selenium. Есть вот такой код:

options = webdriver.ChromeOptions()
options.add_argument("download.default_directory=C:/Downloads")

driver = webdriver.Chrome(chrome_options=options)

Позволяет менять дефолтную папку загрузки у вебдрайвера при создании объекта. Мне нужно проделывать ту же самую процедуру многократно для уже созданного. То есть, что-то вроде такого:

options = webdriver.ChromeOptions()

driver = webdriver.Chrome()
###bla-bla-bal
options.add_argument("download.default_directory=C:/Downloads")
webdriver.set_options(options)



Аноним 14/08/19 Срд 22:49:31 145350061
>>1453482
А зачем тебе это надо, какую задачу ты решаешь? Одно дело сериализация, другое дело расход памяти, ты должен учитывать, что в объект не хранится целиком, в нём ссылки на другие объекты и т.п.

Если расход памяти интересен, то глянь сюда:
https://docs.python.org/3/library/tracemalloc.html
Аноним 14/08/19 Срд 22:56:03 145350562
>>1453476
По-хорошему надо сначала разобраться с асинхронкой, как это в питоне работает. На первом этапе не без магии. Иначе ты не сможешь мало-мальски нормально такую задачу реализовать.

Твоя задача непростая. Тебе надо или использовать асинхронные библиотеки для работы с FTP, я с ними тебе ничего не подскажу, никогда не делал ничего с ftp, или запускать синхронный блокирующий код в отдельном треде, это поддерживается asyncio. Но попутно тебе надо разобраться с тем, как делать асинхронные программы.

Возможно тебе проще не переводить на asyncio, а запустить эти операции в отдельных тредах.
Аноним 14/08/19 Срд 23:15:11 145351363
>>1453500
Для отладки, проверить сколько памяти жрут конкретные объекты в конкретные промежутки времени
Аноним 15/08/19 Чтв 00:28:57 145353364
Аноним 15/08/19 Чтв 05:24:11 145357565
15652568149723.jpg (50Кб, 1024x611)
1024x611
Сап, закончил делать тестовое, имплементация 2-х простых функций пайтон - проходной тест, но не главный инструмент . И для представления результатов необходимо завернуть это всё, предлагают на выбор либо CLI либо докер. Если у кого есть, помогите пожалуйста, дайте пожалуйста максимально подробный мануал как это делать и главное чтобы не упарываться очень.
Аноним 15/08/19 Чтв 11:31:37 145367066
Аноним 15/08/19 Чтв 11:43:19 145367567
Аноним 15/08/19 Чтв 12:10:21 145369068
>>1451922
Не стоит срать пипом в системные папки, делай все через --user хотя бы. А то что в глобальное окружение устанавливается - контролируется пакетным менеджером. Соответственно, обновив пип самим собой, а не центосквским пакетным менеджером, ты все сломал
Аноним 15/08/19 Чтв 13:09:50 145373769
Как ебнуть значение в dict через кучу ключей, если их еще не существует? Например
my_dict[aaa][bbb][ccc][ddd] = val
Как бы я знаю сигнатуру словаря: вложенные словари, но я не знаю имена ключей на втором, третьем уровне вложенности, поэтому не могу, например, определить сразу.
defaultdict не особо помогает: можно задать только один уровень вложенности. По свей индусской сущности делаю лесенки, что с defaultdict, что на обычном dict. Типа:
if my_dict.get(aaa, False):
if my_dict.get(bbb, False):
...
else:
my_dict[aaa] = dict()
и в else ветке такая же вложенность. Даже если в функцию с рекурсией запихну, все равно пиздец будет какой-то.
Аноним 15/08/19 Чтв 14:56:55 145381570
63687575.png (8Кб, 961x71)
961x71
сап, парсултанг. Запрос верный, URL верный - это 100%
почему может не работать?
тот же самый URL в браузере выдает нужные данные
Python 3.7.3
библиотека requests
Аноним 15/08/19 Чтв 15:10:02 145382971
>>1451619 (OP)
Нужна помощь с примером из книги "Укус Питона".
13.1-13.2 там где задача с архивацией, для винды нужно установить штуку из GnuWin32 для того, чтобы можно было из CMD архивировать вот она http://gnuwin32.sourceforge.net/packages/zip.htm
Но что-то нефига не получается. Как решить данную проблему, хелп плиз?
Аноним 15/08/19 Чтв 15:43:03 145385772
>>1453737
Ты можешь написать сам или использовать библиотеку какую-нибудь для работы по принципу xpath
Пример либы, не использовал:
https://pypi.org/project/dpath/

суть такая, что ты создаёшь пару функций:
set_value(dict, path, value)
get_value(dict, path, default_value)
например set_value(my_dict, '/aaa/bbb/ccc/ddd', val)
эта функция сама пройдёт по дереву и создаст необходимые подсловари, это неслжно реализовать.

Но есть и продвинутые решения с большим функционалом, смотри ссылку.

xpath - это аналогичный метод по обработке xml, поиску там данных. Он поддерживает и значительно более сложный условный поиск.
Аноним 15/08/19 Чтв 16:01:58 145386573
>>1453737
Ну можешь написать свою функцию для данного извращения.
Но складывается впечатление, что тебе лучше выбрать другой контейнер для хранения своих данных.
И вообще если подумать. У тебя структура подразумевает для данные лежат на нижнем уровне? Те my_dict[aaa][bbb][ccc][ddd] = val, но при этом в my_dict[aaa], my_dict[aaa][bbb] и тд это могут быть только словари? Если да, то не используй несколько ключей, а кортежи, например, не my_dict[aaa][bbb][ccc][ddd] = val, а my_dict(aaa,bbb,ccc,ddd) = val
Аноним 15/08/19 Чтв 16:44:39 145388974
j
Аноним 15/08/19 Чтв 16:56:31 145390175
Сап, снова со своими задачами и книгой Python Crash Course. Почти закончил 6 часть, решил финальные задачи, но остался один вопрос.

Условия задач и мои к ним решения https://pastebin.com/fixcVPuk

Меня смущает в задаче 6-10, что каждый элемент списка выходит на новой строке, было бы приятнее чтобы числа шли после <...>there are numbers: <элементы массива через запятую>. Такая же ситуация в 6-9. Понимаю, что у меня такая конструкция, но как бы вы решили данную задачу?

Сама книга - http://www.allitebooks.org/python-crash-course-2nd-edition/

Спасибо.
Аноним 15/08/19 Чтв 17:03:33 145391176
>>1453901
Для этого есть join
m = [1, 3, 6, 89, 111]
", ".join(m)
Аноним 15/08/19 Чтв 17:16:16 145392877
>>1453911
Жулик, вот правильный код.
m = [1, 3, 6, 89, 111]
", ".join(map(str,m))
Аноним 15/08/19 Чтв 19:35:15 145402578
>>1453901
for name, numbers in favoriteNumbers.items():
    print(f"This is {name} and there are numbers:", end=" ")
    print(*numbers, sep=", ", end=".\n")
Аноним 15/08/19 Чтв 20:05:34 145403579
15652568149690.jpg (105Кб, 774x1033)
774x1033
>>1453670
Не могу найти ответ, по-этому снова прошу помощи:
У меня 2 функции в скрипте одна выполняется без каких либо параметров типа foo(), для второй нужно задать 2 параметра типа bar(1, 15). Как мне в этом argparse настроить вывод скрипта так, чтобы при запуске скрипта я мог сам ввести: foo() либо bar() с любыми параметрами.
Аноним 15/08/19 Чтв 20:08:15 145403680
>>1453829
В окружение виндоус добавил её после установки?
Аноним 15/08/19 Чтв 20:21:35 145404081
useless.png (50Кб, 577x666)
577x666
>>1451619 (OP)
Говорил жеж, ведь говорил! Нахуя этот автоматический перенос строк нужон вообще? Напомните как от этой хуйни избавиться?
Аноним 15/08/19 Чтв 20:22:52 145404182
>>1453901
О, тоже сейчас по ней питона осваиваю. Отличная книга комплексная, для бомжей типа меня
Аноним 15/08/19 Чтв 20:33:02 145404383
>>1454040
lines = file_object.read().splitlines() и никакого цикола
или
lines = [line.rstrip('\r\n') for line in file_object]
# Можно просто .rstrip(), если на пробелы на концах похуй, или даже вообще .strip().
Аноним 15/08/19 Чтв 20:37:15 145404684
>>1454040
Не знаю, насколько это рационально, но можно добавлять к списку не line, а line[:-1].
Аноним 15/08/19 Чтв 20:38:38 145404885
>>1454043
>>1454046
А забейте, я опять хуйню наворотил, дальше автор рассказывает как сделать правильно:
>lines = file_object.readlines()
Аноним 15/08/19 Чтв 20:39:40 145404986
>>1454048
Ну а вообще, этот перенос бесит, да
Аноним 15/08/19 Чтв 20:42:18 145405087
>>1454041
На какой части ты? Поделишься своими программами, хочу сравнить их.
Аноним 15/08/19 Чтв 20:47:25 145405688
>>1454050
На 10, работа с файлами.
Я не схоронял свои говноподелия, разве что когда ООП учил.
Аноним 15/08/19 Чтв 21:17:23 145408989
>>1454056
Тогда почему бы не начать? Заглядывай в тред, я буду иногда писать.
Аноним 15/08/19 Чтв 21:18:39 145409190
>>1454089
Пали свой фейковый втентакль
Аноним 15/08/19 Чтв 21:28:24 145409691
Аноним 15/08/19 Чтв 21:29:03 145409792
Аноним 15/08/19 Чтв 21:54:29 145410993
>>1454091
У меня нет, может здесь все таки?
Аноним 15/08/19 Чтв 22:19:50 145411594
Чем отличается flask от django?
Аноним 15/08/19 Чтв 22:24:34 145411995
>>1454115
Размером, батарейками, скоростью разработки.
Джанго для своих типов задач, фласк для своих.
Аноним 15/08/19 Чтв 22:36:25 145412296
>>1454115
Минимальный фласк-проект в 3 строчки и 1 файл, джанго в 300 и 10, зато там гораздо меньше своего
надо изобретать, все уже придумано и реализовано за тебя.
Аноним 15/08/19 Чтв 22:45:27 145413197
Аноны, как вы переживаете код-ревью?
Сегодня был первый мой опыт(кода меня ревьюили). Желание разбить ебало мудаку зашкаливает.
Одинарные кавычки нада, патамуша
Ф-стринги плоха(нет, не из-за обратной совместимости)
Коментов Нада па-минимуму
Аноним 15/08/19 Чтв 22:55:38 145414098
>>1454131
Знач смотри братан, советую две книги
Ирвин искусство правильно мыслить
Бочаров введение в логику
Когда осилишь, будешь разъебывать этих лохов тупа по аргументам и фактам, хуй кто тебе скажет ПАТАМУШТА Я ТАК КОЗАЛ, но тут есть одно но, ты тоже должен будешь аргументированно обосновывать свои решения, а для этого нужны знания в предметной области.
Аноним 15/08/19 Чтв 23:56:18 145417499
Аноним 15/08/19 Чтв 23:56:41 1454175100
>>1454131
> Аноны, как вы переживаете код-ревью?
Объясняю, почему ревьювер мудак.

> Одинарные кавычки нада, патамуша
Одинарные для технических строк, двойные для человекочитаемых. Если в строке есть какая-то кавычка - противоположные ей.

> Ф-стринги плоха
Лолшто?

> Коментов
Если описывают очевидное или если можно было вынести кусок кода в функцию с docstring-ом, то да, такого по минимуму.
Аноним 15/08/19 Чтв 23:57:28 1454176101
>>1454175
>Одинарные для технических строк, двойные для человекочитаемых.
Нет, как договорились в проекте, так и будет
Аноним 15/08/19 Чтв 23:58:15 1454177102
>>1454176
Ну так если есть кодстайл, разговоры обо всем перечисленном бессмысленны.
Аноним 15/08/19 Чтв 23:58:21 1454178103
>>1454131
Почему ф стрингс плохо?

Мимо нубас
Аноним 16/08/19 Птн 00:19:44 1454190104
Писали ли вы на работе собственные простые шаблонизаторы запросов/ORM и с какими проблемами сталкивались? sqlalchemy уже наелся (Почему это говно считают хорошим? Только потому что лучше не завезли?). Хочу сделать обертку над asyncpg в собственном проекте и подумал над тем, стоит ли вообще этим заниматься.
Аноним 16/08/19 Птн 01:07:05 1454206105
>>1454140
> тоже должен будешь аргументированно обосновывать свои решения
Это понятно, но нечего противопоставить неаргументированному наезду.
>>1454175
> Если описывают очевидное
Угу, очевидно то пофиксил (уровня коменты на действия со стандартной либой). Но я люблю коментить и писать док-стринги к методам/функциям(соответственно кроме описания ещё и назначение переменных + примеры).
> Одинарные для технических строк, двойные для человекочитаемых
Вот честно, первый раз слышу. Мне как бы и не принципиально что ставить, но я уже привык к ".
Проект новый, попенсорсный, но код-стайл есть. Правда он принимался без обсуждения, а, опять таки, "патамушта".
>>1454178
Ни по чему. Ф-стринги это ок, по крайней мере для меня, форматирование с ними выглядит гораздо логичней и проще, даже если внутри её вставить какую-то операцию небольшую.

Ладно, спасибо, аноны.
Аноним 16/08/19 Птн 01:10:43 1454207106
>>1454190
> Почему это говно считают хорошим?
N тредов назад было обсуждение, пришли к выводу что алхимия немного говно с такой же документацией.
Так же пришли к выводу что ДажнгоОРМ одна из лучших(правда скорость огорчает).
Так же не стоит забывать про относительно новую орм - PonyORM. В ней куча ещё недостатков, но её пилят активно.
Это по синхронным.
С асинхронщиной всё хуже и скуднее.
> стоит ли вообще этим заниматься
Определённо стоит, как минимум для себя, а как максимум - твой взгляд на орм может кому-то понравиться и "зайти", будут юзать и благодарить.
Аноним 16/08/19 Птн 02:01:15 1454218107
Питонисты, подскажите, насколько сложно в питоне реализовать "улучшалку" разрешения изображения? Может, есть какие-то готовые библиотеки для таких задач?
Аноним 16/08/19 Птн 02:01:43 1454219108
>>1454174
Глянул минут 15 первую и ещё пару лекций в случайных местах.

Лекции не для начинающих программировать. В первой начинается с каких-то абстракций тяжеловатых, где-то ещё упор на непривычные термины, всякие тернарные операции и т.п.

Короче для тех, кто хоть немного умеет писать и в состоянии математические лекции слушать. Дальше может быть и содержательно, там какие-то техники программирования показаны, может много полезного есть, но это надо смотреть и вникать.
Аноним 16/08/19 Птн 02:02:20 1454220109
>>1454218
Поясню: нужно из FullHD картинки сделать QHD.
Это вообще возможно?
Аноним 16/08/19 Птн 02:05:33 1454221110
>>1454220
Для начала разберись с тем КАК это делается, а затем ты поймёшь как это можно сделать и какими инструментами.
Спойлер: нельзя.
Аноним 16/08/19 Птн 02:18:57 1454225111
Как синхронно выполнить корутину внутри init при условии уже запущенного лупа? Во время запуска приложения должен произойти коннект к одному сервису, а клиент к нему асинхронный.
Аноним 16/08/19 Птн 02:25:03 1454226112
>>1454225
Подумал, что можно при запуске сделать корутину с инициализацией всего, дождаться ее исполнения, а потом приступить к обработке клиентских запросов, я правильно поступлю?
Аноним 16/08/19 Птн 02:35:40 1454229113
>>1454226
Не понял, что у тебя за init, откуда ты что вызываешь.

Если у тебя функция init синхронная, то ты не можешь из неё вызвать асинхронную функцию и дождаться результата. Ну кроме как совсем через жопу.

И ещё, корутина - это функция, которую можно запустить асинхронно, оформив её в задачу для эвентлупа. Задачу ты можешь оформить синхронно
loop.create_task(my_coro(param1, param2))
либо
asyncio.create_task(my_coro ....), но это для 3.7

После того, как ты сделаешь, твоя задача улетит в цикл и будет там обрабатываться. Единственная проблема, ты не сможешь дождаться её завершения.
Аноним 16/08/19 Птн 02:44:18 1454233114
>>1454229
У меня есть инициализация класса, в атрибуты класса нужно засунуть асинхронный клиент, который вызывается только через await и начинать последующую работу только после установки соединения.
Думаю просто вынести установку соединения в отдельный асинхронный метод и вызывать его после инициализации класса.
Аноним 16/08/19 Птн 02:49:53 1454238115
>>1454233
И есть ещё вариант сделать, как в этом клиенте. Асинхронная функция, которая возвращает объект, после установления конекта.
Аноним 16/08/19 Птн 03:05:16 1454239116
>>1454238
Ты учти, что делать await ты можешь только внутри асинхронной функции или асинхронного, определённой через async def.

await нужен, если тебе надо получить какой-то результат от асинхронной функции, например объект с коннектом.

Надо как-то внимательнее твою задачу разбирать, в частности как клиента реализовывать. У тебя какой-то готовый функционал для этого, или сам пишешь? Если сам, то в asyncio поддерживается несколько разных способов, просто соединение, и реализации через классы Protocol. Возможно тебе надо именно свой протокол реализовать.

Аноним 16/08/19 Птн 03:37:57 1454246117
image.png (63Кб, 724x810)
724x810
>>1454239
>Ты учти, что делать await ты можешь только внутри асинхронной функции или асинхронного, определённой через async def.
Я знаю это, но видел примеры синхронного запуска через run_until_complete в синхронной функции.

>Надо как-то внимательнее твою задачу разбирать, в частности как клиента реализовывать. У тебя какой-то готовый функционал для этого, или сам пишешь? Если сам, то в asyncio поддерживается несколько разных способов, просто соединение, и реализации через классы Protocol. Возможно тебе надо именно свой протокол реализовать.

Просто соединение, есть готовая библиотека.


Первый вариант на пике был бы идеален, если бы инициализацию удалось бы провести в __init__, но он не работает.
Аноним 16/08/19 Птн 06:39:46 1454266118
>>1453737
Кажется, у тебя тут дерево, а ты используешь словари. Просто напиши соответствующий класс, да и все. Ну или реши - действительно ли тебе нужен такой уровень вложенности.
Аноним 16/08/19 Птн 06:45:29 1454269119
Аноним 16/08/19 Птн 06:49:00 1454270120
>>1454131
Либо тренируйся терпеть мудаков и выуживать только ценные замечания, либо ищи коллектив, в котором нет таких ьоксиков. Ну еще стоит разобраться в стиле кода компании и писать как все, потому что твой код потом поддерживать другим людям.

Хотя нападки на двойные кавычки и ф-стринги не понимаю.
Аноним 16/08/19 Птн 08:19:15 1454282121
>>1453366
Спрашиваю чтобы еще раз подтвердить это. Что после 25 жизни нет.

Такой вопрос, кроме kivy и qpython есть что-нибудь чтобы для андроида писать?
Аноним 16/08/19 Птн 08:47:13 1454291122
>>1454036
Проблема решена. Помимо системных переменных (как написано в книге), нужно добавить ещё и в переменные среды пользователя.
Аноним 16/08/19 Птн 09:37:44 1454304123
>>1454291
Кстати, сам когда делал эти упражнения с зип архивами, то использовал архиватор которым пользовался. Попробуй так же сделать, во первых немного отойдешь в сторону от шаблона, плюс чтение сторонней документации и хоть какое-то разнообразие, что тоже плюс.
Аноним 16/08/19 Птн 10:21:53 1454309124
>>1454206
>Это понятно, но нечего противопоставить неаргументированному наезду.
Есть. Скажи ему, что он пидор без аргументов, хули пасть открываешь? Пусть доказывает обратное и он пук среньк сделает и умрет.
Аноним 16/08/19 Птн 10:56:32 1454324125
Аноним 16/08/19 Птн 11:36:53 1454354126
wtf.png (74Кб, 781x716)
781x716
Почему? Что я делаю не так? Я жеж просто скопировал это из учебника
Аноним 16/08/19 Птн 11:38:11 1454356127
15617101592630.jpg (9Кб, 243x207)
243x207
Аноним 16/08/19 Птн 11:40:47 1454357128
Аноним 16/08/19 Птн 11:42:21 1454359129
>>1454174
Я смотрю сейчас, нравится. Не уверен насчёт результатов, но алгоритмы уровня квадратичных сортировок стали казаться хуйней на две строчки, а не чем-то сложным.
Аноним 16/08/19 Птн 11:43:08 1454360130
image.png (461Кб, 736x736)
736x736
>>1454357
Ты скопирал? Что ты скопировал?
Аноним 16/08/19 Птн 11:47:26 1454361131
blya.png (87Кб, 597x556)
597x556
>>1454360
Мам я опять обосрался, там же всё написано!

Надо отдохнуть, извините
Аноним 16/08/19 Птн 12:30:36 1454385132
>>1454354
Проиграл в голосину. Что же ты делаешь, содомит?
Аноним 16/08/19 Птн 12:44:24 1454393133
>>1454385
Бездумно копирую всякую хуйню из учебника в редактор, пытаюсь разобраться или не пытаюсь, пишу свой пример, лезу обратно в учебник читать текущую главу.
Аноним 16/08/19 Птн 12:46:37 1454394134
>>1454393
И вообще, осталось освоить json, тестирование, и дальше пойдут главы с проектами! Скоро очень скоро кровь польется морем я смогу говнячкать свои говнопроекты!
Аноним 16/08/19 Птн 12:48:49 1454395135
Если есть скрипт, который в своей работе использует данные, которые берет из текстового файла(там файл строк на 1000), то не будет ли более рационально просто забить эти жанные в сам скрипт?
Желательно что б вы написали почему жа или нет
Аноним 16/08/19 Птн 12:50:59 1454398136
>>1454395
Ну, если у тебя только один этот скрипт в проекте, то почему бы и не жа?
мимонуб
Аноним 16/08/19 Птн 12:52:04 1454399137
>>1454395
данные берут из внешнего источника когда они меняются
иначе их можно захардкодить

короче надо в твой файл сто первую строку, всяко проще её добавить в файл чем править код скрипта
Аноним 16/08/19 Птн 13:04:09 1454409138
>>1454393
Лучше рефлексируй хоть немного когда копируешь. Например, что ты ожидаешь получить от выражения "5 / 0"
Аноним 16/08/19 Птн 13:09:54 1454414139
>>1454409
Нихуя я не ожидал, хотел заканчивать вообще - до этой части дошел порядком заебанный, уже нихуя не соображал думал, что за хуйня заместо кода, но хотелось таки разобраться перед тем как идти саморазвиваться в сериальчиках.
Аноним 16/08/19 Птн 13:13:22 1454417140
Аноним 16/08/19 Птн 13:25:36 1454430141
>>1454395
Хардкодить с точки зрения кодирования всегда дурной стиль. С точки зрения построения гибкого приложения программист должен думать о возможности настройки, адаптации и т.п., для этого константы должны быть вынесены в отдельное места, по-возможности вне кода.

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

Но в целом всё-таки лучше максимально разделять логику и данные, нужно обоснование, чтобы это не делать.
Аноним 16/08/19 Птн 13:41:20 1454440142
>>1454246
Посмотрел другие проекты, почти все делаеют второй вариант. Ну и хуй с ним.
Аноним 16/08/19 Птн 13:43:05 1454443143
>>1454246
Первый скорее неправильный. Это совершенно синхронный вариант программы, когда ты в своём полностью синхронном коде хочешь вызвать какой-то асинхронный код синхронным способом. Возможно именно это тебе и нужно, конечно, но не уверен.

Главный вопрос в том, что ты будешь делать со своим коннектом дальше. Если у тебя асинхронная библиотека, то и как минимум получение данных там будет асинхронным, скорее всего. Обработка этих данных должна быть выстроена соответственно.

Самым разумным выглядит второй вариант. При этом ты можешь вызов в одну строчку укоротить, сделать
client = await MyClass().create_connect()
надо только чтобы create_connect возвращал self
Аноним 16/08/19 Птн 14:14:36 1454459144
>>1451619 (OP)
Как в python вызвать документацию к модулю/команде?
Аноним 16/08/19 Птн 15:10:02 1454504145
>>1454459
Предположу, что с помощью help().

мимонуб
Аноним 16/08/19 Птн 17:40:12 1454567146
>>1451619 (OP)
Почему turtle.tracer(0,0) съедает последние несколько шагов в рисунке? Он же должен только скрывать прорисовку.
Аноним 16/08/19 Птн 18:21:33 1454587147
>>1454354
Никогда не копируй текст из книги (форума, статьи и проч.) копипастом.
ВСЕГДА переписывай вручную. Серьёзно, анон. Заведи себе такую привычку. Это избавит тебе от МНОГИХ проблем в будущем.
Аноним 16/08/19 Птн 18:34:07 1454591148
>>1454587
Код надо самому писать, а не переписывать. Ну точнее понять идею, а дальше уже самому писать.
Аноним 16/08/19 Птн 18:41:02 1454594149
>>1454591
Копипастнуть из док нормально для теста, вот когда тебе надо самый первый пример получить, чтобы запустить и посмотреть, что это работает. Надо, чтобы было что-то, что руками можно почувствовать, потрогать, поломать после этого.

Вот как поймёшь, уже потом полезно всё удалить и самому написать, причём не переписывая из доки, а по памяти, по своему пониманию, может быть заглядывая в доку. И даже свой код стоит не копипастить, а заново написать, на этапе обучения. Несколько раз так проделаешь, и потом лучше чувствовать и помнить всё будешь, легче будет.
Аноним 16/08/19 Птн 18:44:06 1454596150
>>1454414
>Нихуя я не ожидал, хотел заканчивать вообще - до этой части дошел порядком заебанный, уже нихуя не соображал
А вот это зря. Не способен разобраться от усталости, так проспись и потом разберёшься, и совсем последнее в таком случае других вопросами долбить.

Аноним 16/08/19 Птн 18:52:05 1454597151
>>1454359
> здесь нет у нас негров?
> все негры, присутствующие здесь - нобелевские лауреаты
Аноним 16/08/19 Птн 19:04:38 1454603152
Аноним 16/08/19 Птн 20:43:11 1454666153
Тут недавно аноны упоминали какую-то книгу по джанго, не могу найти по поиску. Название то-ли джанго 2, то-ли джанго 2.0. Помню что один купил, а другой скачал ее. Был в книжном местном, ничего подобного не нашел по названию. Если кто знает, то скажите название и автора, а еще лучше файлик, если есть книги.
Аноним 16/08/19 Птн 20:50:46 1454672154
>>1454666
Я знаю две книги популярные книги, где есть цифра 2
Two Scoops of Django
Django 2 by example
Аноним 16/08/19 Птн 22:08:41 1454696155
image.png (4Кб, 564x354)
564x354
Аноны, есть пикрил, как закрасить закрытые контуры?
В 4 и в 2, к примеру.
Делаю блюром, но это немного не то и уродует результат.
Аноним 17/08/19 Суб 02:53:04 1454803156
>>1454587
Так сначала код потирибонькать надо немного, потом уже выдумывать себе задачу и руками свою парашу говнякать, затем лезть обратно в учебник и дочитывать главу, после прочтения в конце главы задачки от автора решать или не решать, ведь я еще на первом этапе сам все сделол, ха!, тем более что в первом издании Эрика Мэттиса во всех примерах пробелы полностью проёбаны - нужно перелопачиать все копипасты с учебника
Аноним 17/08/19 Суб 13:37:33 1454941157
Здравствуйте, аноны. Решил начать изучать питон. Правда ли, что он очень простой и можно буквально за день набросать первый калькулятор?
А еще, что там на рынке с программистами на питоне происходит?
Аноним 17/08/19 Суб 13:42:17 1454948158
>>1454941
если графический калькулятор то лучше джаваскрипт лол
ну там правда не все так просто если брать серии операций, переполнения экрана, большие и маленькие числа и все такое
Аноним 17/08/19 Суб 14:49:44 1455006159
Правда, что в вебмакакинг неохотно берут джунов с питоном?
Аноним 17/08/19 Суб 14:54:39 1455014160
>>1454941
Ты вопрос задал в 3 ночи. Сейчас уже 3 дня.

Ты можешь просто взять, потратить день и сам понять, простой язык или не очень, можешь ли ты за день калькулятор сделать. Или тебе просто потрепаться хочется?

>>1454941
>А еще, что там на рынке с программистами на питоне происходит?
Программистом ты станешь через несколько лет но на самом деле не станешь
Аноним 17/08/19 Суб 15:02:12 1455020161
>>1454948
Про калькулятор вообще образно было
>>1455014
>Программистом ты станешь через несколько лет
У меня пока есть такая возможность

>но на самом деле не станешь

С чего бы это?
Аноним 17/08/19 Суб 17:39:28 1455117162
норм ide на андройд есть? если да то скажите какие
с меня как обычно
Аноним 17/08/19 Суб 18:27:33 1455145163
Аноним 17/08/19 Суб 19:05:11 1455169164
изображение.png (134Кб, 1600x900)
1600x900
Что случилось?Почему даже оишбки не выводит?
Аноним 17/08/19 Суб 19:18:17 1455183165
>>1455169
Это у вас тут шутки такие?
Аноним 17/08/19 Суб 19:19:01 1455186166
>>1455183
Я просто первую неделю только занимаюсь,потому не пойму где допустил ошибку,вроде табуляцию всю соблюдаю
Аноним 17/08/19 Суб 19:21:46 1455190167
>>1455169
Посмотри на условие выхода из цикла. бля, переводи слова гуглом хотя бы и переменные на английском называй
Аноним 17/08/19 Суб 19:29:17 1455203168
Аноним 17/08/19 Суб 19:36:08 1455210169
Часто замечаю, что вкатывальщики постоянно повторяют все буква в букву по туториалу. Т.е. если написано print('супердлинная строка'), то они напишут полностью всю эту строку внутри принта и.т.д. Это кажется мне странным ибо всегда просто вбивал рандомные 3 символа ибо какая разница что он выведет, если главным является сам факт вывода
Аноним 17/08/19 Суб 20:25:44 1455237170
Я тут по IDLE прикололся, всякую мелочь даже удобнее показалось писать. И как-то потихоньку VSCode чаще чем Sublime стал запускать. Но тут наверное 9 из 10 используют Pycharm или я не прав?
Аноним 17/08/19 Суб 21:05:07 1455257171
butterfly.gif (1041Кб, 483x259)
483x259
Безымянный.png (27Кб, 1244x362)
1244x362
Сап, двач, только начал вкатываться, учусь по курсу МФТИ. Начал делать простенькие задачки, дошёл до этой:
Нарисуйте «бабочку» из окружностей. Используйте функцию, рисующую окружность.
Похоже я совсем даун. Код прикрепил.
Аноним 17/08/19 Суб 21:06:35 1455259172
>>1455257
А у меня он повторяет две окружности без увеличения их радиуса.
Аноним 17/08/19 Суб 21:06:53 1455260173
image.png (69Кб, 585x415)
585x415
У меня тут питон падает, если логгеру выставить уровень выше, чем у хендлера. Кто из нас двоих даун?
Аноним 17/08/19 Суб 21:08:11 1455262174
>>1455259
ты в цикле в 0 "y" сбрасываешь каждый раз
Аноним 17/08/19 Суб 21:15:57 1455265175
>>1455257
То должен был свою функцию для рисования окружности написать
Аноним 17/08/19 Суб 21:28:55 1455276176
>>1455260
Я сам ответил на свой вопрос
DumbMan 17/08/19 Суб 21:33:49 1455277177
eba.jpg (483Кб, 1745x821)
1745x821
Двощ, привет!
Чувствую себя ужасно тупым, сижу три часа и никак не могу решить задачу. Даже не знаю как подступиться.
Помогите решить, пожалуйста!
Аноним 17/08/19 Суб 21:35:16 1455279178
!.png (146Кб, 1111x762)
1111x762
Че за хуйня?
Установил питончик, но винда не обращается к нему через python
DumbMan 17/08/19 Суб 21:35:58 1455280179
>>1455277
Забыл написать, желательно на Python решить.
Аноним 17/08/19 Суб 21:49:00 1455290180
>>1455279
Добавь свой питон в переменную среды PATH
Аноним 17/08/19 Суб 21:49:22 1455292181
9476562338423894.jpg (98Кб, 894x701)
894x701
Сап. Анон, изучающий питон по Python Crash Course, снова в треде. И опять, как в первый раз, задачи из этой книги вводят в ступор. Я сомневаюсь в полной правильности моего решения, есть внутренне желание, что можно сделать лучше. Пока стараюсь не гуглить, а решать в соответствии с пройденным в книге материалом.

Собственно, сами задачи, https://pastebin.com/L5AmVkag

Задача с пиццерией, с тремя путями решения:
https://pastebin.com/yD5gtJF4

Задача с билетами:
https://pastebin.com/ZZ4vmnvD

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

Спасибо.
Аноним 17/08/19 Суб 21:51:19 1455295182
>>1455262
избавился от y, оставил только x.
Вынес x за пределы цикла. Все заработало.
Аноним 17/08/19 Суб 21:57:36 1455299183
>>1455295
Тебе достаточно было просто y=0 за пределы цикла вынести
Аноним 18/08/19 Вск 01:49:36 1455443184
>>1455020
> С чего бы это?
У тебя с математикой проблема.
Аноним 18/08/19 Вск 09:58:28 1455519185
Аноним 18/08/19 Вск 11:40:44 1455566186
>>1455443
Странные ты, однако, выводы делаешь. Если к калькулятору так прицепился, то про него вообще образно написал
Аноним 18/08/19 Вск 11:47:03 1455569187
Сап, pr!

Я нуб, совсем.
Направьте, плес, мысль в правильную сторону.
Мне нужно для лабыотсортировать список с помощью одного из видов сортировок, но не просто отсортировать, а так, чтобы элементы списка начинающиеся на определенный символ не попадали в общую сортировку.
Алгоритм сортировки запилил самый простой - пузырьком.
Идея была в том, чтобы из общего списка сделать второй список. Отсортировать каждый список, а затем соединить в один.
Но как это сделать - не понимаю. Если делать срез, чтобы разбить общий список, то срез делается по элементу, а не первому символу элемента. Халп.
Аноним 18/08/19 Вск 11:51:06 1455571188
Аноним 18/08/19 Вск 12:19:31 1455582189
>>1455571
Не используя ни методов, ни функций. Всё руками.
Аноним 18/08/19 Вск 12:24:08 1455584190
>>1455569
А в чём проблема просто добавить в логику сравнений элементов пузырька обмен значений, если один из одной категории, а второй из другой?
Аноним 18/08/19 Вск 13:06:22 1455589191
>>1455582
Я бы двойной for использовал. Один сортирует, а другой проверяет 1 букву в слове.
Аноним 18/08/19 Вск 14:23:40 1455608192
>>1455584
>>1455589
Кажется стало что то получаться:
str = ['dd','aa','grob','pidor','porebrik','dvach']
temps = []
q = 0
for w in str:
if w >= 'p':
temps.append(w)
q +=1
print(temps)

Результат выводится как:

['pidor', 'porebrik']
Аноним 18/08/19 Вск 16:06:57 1455652193
>>1455569
> Отсортировать каждый список, а затем соединить в один.
Тупо быстрая сортировка - не?
Аноним 18/08/19 Вск 16:24:04 1455658194
>>1455608
зачем тебе q тут? можно:
for q,w in enumerate(str):
if w >= 'p':
temps.append(w)
print(temps)
Аноним 18/08/19 Вск 16:42:57 1455665195
>>1455658
>enumerate
>>1455658
Тащемта от q действительно никакого толку не оказалось.
Добился целей лабы так писал выше - append'om. Так не разобрался как можно удалить из основного списка элементы начинающиеся не с 'p', то сделал второй список, в который вошли элементы, начинающиеся не с 'p'. Ну и объединил два списка: 'pidor', 'porebrik','aa','dd','dvach','grob'
Вот такой я говнокодер.
Аноним 18/08/19 Вск 18:34:48 1455709196
Насрал в тред
Аноним 18/08/19 Вск 18:57:23 1455728197
Такой вопрос. По Фласку знаю что не стоит на него время тратить и лучше сразу джанго читать есть какой-нибудь курс, похожий на укус питона?
Аноним 18/08/19 Вск 19:35:41 1455747198
>>1455728
https://habr.com/ru/post/193242/
задавайте любые вопросы как ответ к этому посту, пока кушаю супчик, буду отвечать по мере знаний (можно даже очень тупые на ваш взгляд)
Аноним 18/08/19 Вск 19:43:00 1455753199
>>1455709
В Джава треде слишком сложно объявить о том, что ты насрал
В Си-Сялп-треде можно насрать только с винды
В СПП-треде забыл очистить прошлую кучу говна и теперь негде срать
В ДЖС треде неправильно преобразовался тип и вместо того чтобы насрать, обоссался
В других тредах все настолько мертво, что срать там нет смысла
Удивлен как ты насрал в этом треде без конфликтов с прошлым говном и средой для сранья, поздравляю...
Аноним 18/08/19 Вск 19:46:56 1455755200
>>1455747
Этот курс под питон 2.7 и фласк 0.9. Это не устарело? На 3 питоне можно будет это всё пройти?
Аноним 18/08/19 Вск 19:49:45 1455758201
Аноним 18/08/19 Вск 20:09:28 1455762202
Аноним 18/08/19 Вск 20:19:21 1455768203
>>1455237
vim для небольших файлов
PyCharm для крупных проектов
Аноним 18/08/19 Вск 20:20:39 1455771204
>>1455237
PyCharm. Сам я новичок, но даже для себя нахожу много удобных фич и не вижу причин его не использовать.
Аноним 18/08/19 Вск 20:32:14 1455782205
Аноним 18/08/19 Вск 21:07:50 1455810206
>>1455762
Вот скажи мне брат саблимщик ты код как запускаешь? Сейчас сам через плагин repl в новой вкладке, ибо необходимо ручками значения передавать, а через стандартный билд код не дает, но этот репл жутко не нравится тем что вкладке генерит. Может ты мне какую альтернативу подскажешь, а то вскод пока приходится использовать, но там тоже не все радужно.
Аноним 18/08/19 Вск 21:24:02 1455819207
>>1455762
А как трассировку делаешь? Через print лол?
Аноним 18/08/19 Вск 21:27:03 1455820208
Пиздец, первое же упражнение с черепахой из курса МФТИ нехило так заставило просраться (рисовать спираль там где нужно).
Если просто спираль нарисовать легко, то вот чтобы черепаха при движении еще и поворачивалась на заданный угол... ух, бля... пиздец.
Аноним 18/08/19 Вск 23:09:28 1455918209
>>1455820
У меня тоже нормально не получилось, сделал с goto. Зато с goto это даже лучшее решение, потому что так чисто качественный проход по функции в полярных координатах. На розеттакоде тоже с гоуту сделано
Аноним 18/08/19 Вск 23:40:28 1455928210
>>1455753
Так питон же, можно насрать всего одной командой!
Аноним 19/08/19 Пнд 00:09:21 1455943211
Аноним 19/08/19 Пнд 00:12:28 1455944212
>>1455918
Я еще math использовал с тригонометрией. А ты через goto делал с поворотом черепашки?
Аноним 19/08/19 Пнд 00:12:50 1455946213
>>1455820
Что за хрень, дай ссылки тож просрусь
Аноним 19/08/19 Пнд 00:13:31 1455948214
Аноним 19/08/19 Пнд 00:24:45 1455952215
>>1455948
Хуя ништяк, щас заботаю всю хуйню и на прямиком в гугл работать!
Аноним 19/08/19 Пнд 00:36:58 1455955216
>>1455944
Я тоже math использовал, да. Ну а как тригонометрию без него считать, свои функции для синуса и косинуса совсем не в тему писать при рисовании черепахой. Нет, goto никаких поворотов не делает и не должен, я же говорю, через поворот+форвард у меня тоже плохо получилось. Ну то есть какую-то спираль оно рисовало, но точно такую как через гото нет. А через гото на самом деле максимально правильно по логике вообще отрисовывания графиков функций.
Аноним 19/08/19 Пнд 01:40:17 1455965217
Привет, аноны. Возникла проблема, в которой черт ногу сломит.

По одной хорошей книжке решил попробовать импортировать модуль командой import
Сначала попробовал встроенный модуль подрубить - math - всё нормально, без ошибок. Затем решил свой подключить и бах, выдаёт вот такую ошибку:

Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
exec(open("module.py").read())
FileNotFoundError: [Errno 2] No such file or directory: 'module.py'


Не пойму, почему не работает. Окружение PATH я настраивал, каталог нужный добавлял и модуль открывал так же оттуда.

Антуаны, есть предположения, что может быть не так?
Аноним 19/08/19 Пнд 02:59:16 1455975218
>>1455948
У тебя тоже контест не работает?
Аноним 19/08/19 Пнд 03:12:19 1455978219
Аноним 19/08/19 Пнд 03:25:18 1455979220
>>1455978
Спасибо большое. Теперь другая проблема. Нагуглить не удалось, потому что я очень сонный сейчас
SyntaxError: EOL while scanning string literal
Уже слеши экранировать до тройных пытался. Моразм начался какой-то, а ему хоть бы хны
Аноним 19/08/19 Пнд 03:45:17 1455981221
>>1455979
Ты ждёшь, что я по ошибке просто угадаю что ты делал в своей программе?
Тебе придётся научиться гуглить или хотя бы нормально вопросы задавать
Аноним 19/08/19 Пнд 03:57:13 1455988222
image.png (13Кб, 654x101)
654x101
image.png (46Кб, 810x466)
810x466
>>1455981
Блин, прости. Вот так сделал, как было указано на пике 2
Аноним 19/08/19 Пнд 03:57:31 1455989223
>>1455988
На пике 1 то, что сделал я
Аноним 19/08/19 Пнд 04:13:47 1455991224
>>1455988
Кавычки закрой. И лучше возьми путь без кириллических символов и пробелов в названиях папок
Аноним 19/08/19 Пнд 04:15:32 1455992225
>>1455991
Вот же я тупой. Рассматривал путь и заметил незакрытые кавычки аккурат, как ты ответил. Но всё равно спасибо
Аноним 19/08/19 Пнд 05:55:15 1455999226
>>1455277
Посмотри в сторону defaultdict в модуле collections. Там можно создать словарь, который по любому не содержащемуся в нем ключу возвращает пустой список.
Аноним 19/08/19 Пнд 05:57:33 1456000227
>>1455975
Какой контест? Не понял тебя.
Аноним 19/08/19 Пнд 06:03:50 1456002228
>>1455992
Будь повнимательнее и не беги сразу на форум с картинками жаловаться на ошибку. Стыдно же.
Аноним 19/08/19 Пнд 07:10:17 1456008229
Аноним 19/08/19 Пнд 11:41:40 1456071230
>>1456002
>Будь повнимательнее и не беги сразу на форум с картинками жаловаться на ошибку. Стыдно же.
Да, ты прав. Еще раз спасибо
Аноним 19/08/19 Пнд 12:00:57 1456095231
Как ограничить ввод по количеству символов?
Аноним 19/08/19 Пнд 12:48:27 1456151232
>>1456095
If len (input("введите что-нибудь: ")) < 10:

мимо нуб
Аноним 19/08/19 Пнд 12:56:32 1456158233
>>1456151
Может че попроще есть?
Аноним 19/08/19 Пнд 13:11:19 1456165234
Привет, анон. Я прочитал гайд, прочитал гайд на хабре, и так и не понял, с чего начать. Гайд датируется 2012 годом, поэтому я как-то сомневаюсь, что стоит строить обучение именно по нему. Есть какие-нибудь актуальные гайды, или просто советы, с чего вообще стоит начинать в 2019 году? Опыта программирования за плечами нет вообще, за исключением ебучего паскаля лет 13 назад в школе. Английского тоже пока не знаю, в процессе изучения, поэтому лучше бы материалы на русском языке. Был бы очень признателен.
Аноним 19/08/19 Пнд 13:14:16 1456168235
>>1456165
Эрик Мэттис хорош - комплексно, доступно, заебись
Аноним 19/08/19 Пнд 16:20:39 1456277236
image.png (51Кб, 612x593)
612x593
Немного тестовых анону.
Аноним 19/08/19 Пнд 16:22:00 1456279237
image.png (204Кб, 620x616)
620x616
image.png (63Кб, 560x864)
560x864
Аноним 19/08/19 Пнд 16:28:43 1456286238
1379334067812.png (113Кб, 400x400)
400x400
Господа, не так давно вкатился в пайтон, изучаю как могу, и тут недавно наткнулся на возможность рулить пайтоном GPIO у малинки, и на MicroPython, загорелся идеей запилить умную комнату на пайтон с нуля, суть какова:
-Малинка будет сервером MQTT и обработки запросов - на малинке запилю голосовой ассистанс как в видосе хаудихо с изменениями для управления умными-релейками голосом
-Умные релейки и датчики запилю на ESP8266 при помощи MicroPython, будут обмениваться данными с малинкой по MQTT
-Управление с девайсов в ручную запилю в виде Python-программы на Kivy скомпилированой под Windows, Android и Macos, которая будет общаться с малинкой опять же по MQTT веб интерфейс не хочу - ненавижу веб технологии

Всё верно запланировал?
Аноним 19/08/19 Пнд 16:31:02 1456287239
>>1456286
Норм.
Глянь в сторону zerroMQ
Аноним 19/08/19 Пнд 16:33:43 1456291240
>>1456287
Это как аналог MQTT? Я просто пока плаваю в теме, не так давно начал вникать, и информации пока слишком много. Просто если я верно понял - готовые датчики всяких сяомь используют MQTT, и потому я думал чтобы в будущем иметь возможность работать с ними - пробовать MQTT не пинайте если я что-то не так понял или сказал, луше объясните
Аноним 19/08/19 Пнд 16:37:05 1456296241
>>1456291
Я хз что используют датчики сяом твоих, но ZerroMQ это MQ, только на сокетах(или типа того, давно читал).
Аноним 19/08/19 Пнд 16:38:01 1456298242
>>1456296
ладно, спасибо, поинтересуюсь что это такое.
Аноним 19/08/19 Пнд 16:43:45 1456300243
>>1456158
Ты имеешь в виду ограничение, выплывающее уже после ввода и нажатия Enter или же не дающее возможность ввести больше N символов ещё до нажатия?
19/08/19 Пнд 18:52:19 1456378244
image.png (256Кб, 1920x1200)
1920x1200
>>1451619 (OP)
Двач, подскажи, не устанавливается pyinstaller
Переустановка и добавление в ass не помогает
19/08/19 Пнд 19:01:26 1456385245
>>1456378
Теперь еще и PyCharm перестал видеть интерпретатор, горит красным при выборе
Аноним 19/08/19 Пнд 19:03:06 1456388246
>>1456300
Вот человек не удосужился даже вопрос сформулировать, и ты своим желанием помочь как бы показываешь этим пидорасам, что они все делают правильно.
Аноним 19/08/19 Пнд 19:05:25 1456391247
>>1456385
рекомендовано ставить пайтон в директорию без кирилицы. Переделывай. Это раз. Два - в пайшарме потом в настройках проекта выберешь путь к интерпретатору
Аноним 19/08/19 Пнд 19:15:15 1456413248
>>1456388
Не очень понял, о чём и к чему ты это. Я сам в первую очередь подумал о заранее ограниченном поле для ввода текста. Это задача всё же поинтереснее, чем написать банальные if и else в нужном месте кода.
Аноним 19/08/19 Пнд 20:13:35 1456515249
>>1451619 (OP)
Есть класс структуры типа:

class Foo(object):
a = 10
b = 20
c = 10

def get_a(self):
return self.a

def get_b(self):
return self.b

def get_a(self):
return self.a


Нужно как-то переписать эту срань, чтоб интерфейс геттеров остался прежним, но на каждый новый атрибут не пришлось создавать новый геттер. Два дня ебусь, даже в метаклассы полез, но это какой-то спидорак, есть у кого идеи?
Аноним 19/08/19 Пнд 20:17:27 1456521250
>>1456277
Я чот нихуя не могу пример понять.
Аноним 19/08/19 Пнд 20:38:51 1456560251
Аноним 19/08/19 Пнд 20:46:11 1456566252
>>1456515
Хм, зачем это тебе? Переопределить __getattribute__ демал?
Аноним 19/08/19 Пнд 20:46:29 1456567253
Аноним 19/08/19 Пнд 20:47:20 1456569254
>>1456515
Объясни нубасу поподробнее что ты хочешь рили тупо подумать, а то я нихуя не понял, чего ты хочешь.
У тебя класс с 3 статик-переменными, тремя геттерами для инстансев и что тут переписывать
>на каждый новый атрибут не пришлось создавать новый геттер.
Ну ебни через __dict__ чтоле
Аноним 19/08/19 Пнд 20:53:24 1456584255
>>1456521
Перевожу на русский: у тебя был словарь, потом его как-то изменили. Нужно вывести только изменения. Не совсем понятно, то ли нужно сравнивать именно два разных словаря (задание), то ли нужно написать нечто, ведущее себя как словарь, но запоминающее изменения (примеры). В любом случае пишется за 20 минут без тестов. Тесты там в хуй не вперлись.
Аноним 19/08/19 Пнд 21:03:26 1456597256
>>1456560
А хуй знает, я, наверное не буду делать, т.к. с ходу не смог придумать решение для первого, а ебать мозги ради галеры обоссаной? Нахуй надо.
>>1456584
> то ли нужно сравнивать именно два разных словаря (задание)
This
> В любом случае пишется за 20 минут
Нихуясебе. Ссылочку на вакансию дать? Зааплаешься.
Аноним 19/08/19 Пнд 22:26:43 1456659257
>>1456515
Ну вот теме метаклассик (но такое лучше сделать просто в init класса, зачем тут мета?)
https://ideone.com/OcU8Uu
19/08/19 Пнд 22:53:25 1456678258
>>1456597
> This
Никак не понять из текста. Есть пример, в нем есть только data, который модифицируют и res, в котором должен быть результат. Что с чем диффать?

> с ходу не смог придумать решение для первого
Могут появиться новые ключи (можно set(dict2) - set(dict1)), могут удалиться, могут измениться значения для ключей. Для каждого общего ключа: если типы различны, то и значения однозначно различны; если тип словарь, рекурсивно сверяем; иначе тупо сверяем значения. Плюс-минус придумывем, что делать удаленными ключами. Десять строк, нахуй там юнит-тесты и КЛАСС, я понять никогда не смогу.
Аноним 19/08/19 Пнд 22:56:31 1456683259
>>1456678
> Никак не понять из текста
Согласен, я написал, переспросил.
> Десять строк, нахуй там юнит-тесты и КЛАСС, я понять никогда не смогу.
Звучит неплохо идея. Тут тестовое для проверки того, как человек пишет код.
Но суки ебаные блять, нахуя я вам везде даю ссылку на свой гит? Вы блять зайдите и посмотрите, дауны. Извиняюсь, накипело.
Аноним 19/08/19 Пнд 22:57:17 1456684260
image.png (29Кб, 690x243)
690x243
Аноним 20/08/19 Втр 00:45:25 1456719261
1566251104448.jpeg (109Кб, 1058x311)
1058x311
Сап, как правильно перевести это предложение? Чёт grunt сомнения сеет, о правильности моего перевода. Спасибо.
20/08/19 Втр 00:56:58 1456724262
>>1456719
Возвращаемые значения позволяют тебе засунуть большую часть грязной работы в функции, тем самым упростив основную часть программы.
Аноним 20/08/19 Втр 01:07:47 1456728263
Господа, поясните мне, работяге. Думаю учиться на курсах вроде гигбрейнс(год 144к) или скиллфактори(9 месяцев, 60к)
https://skillfactory.ru/python-for-web-developers
Эти предлагают фулстак пайтон
https://geekbrains.ru/geek_university/python
а здесь вроде того же самого, только ?глубже?

Расскажите, насколько это рабочая схема? Основная работа у меня даже не на компьютерея работяга, это не шутка, поэтому не стоит брызгать слюной, мол ну я и долбоёб, я понимаю, что я просто не смогу на каких-то волевых сам приходить, искать и учить какую-то инфу и решать задания, здесь будет программа, которую компетентные(компетентнее меня) люди собрали. Ну, собстна, задавайте ваши ответы
Перепостил из ньюфаг-треда, он мертв
Аноним 20/08/19 Втр 02:56:08 1456741264
>>1456728
Топ тема гикбрейнс твое гарантированное будущее.
Аноним 20/08/19 Втр 03:09:06 1456743265
Аноны, помогите разобраться с Raspbery Pi, python3.
Хотел запилить голосового ассистента, сделал так:
sudo apt-get install
pip install pyttsx3
pip install speechRecognition
sudo apt-get install python-pyaudio espeak python-espeak

В результате при попытке воспроизвести - устройство не найдено (куча ошибок, пикрил).
Если делать через терминал, командой
espeak "Hello-world" - высыпает те же ошибки
espeak "Hello-world" 2>/dev/null - ошибок нет - это должен быть рабочий вариант, с указанием на устройство вывода - но звука ннет
В пайтон3 модуль espeak не видит - видит только в пайтон2.

ЧЯДНТ? Как в pyttsx3 указать устройство вывода? Я не вижу этого в документации
Аноним 20/08/19 Втр 03:12:25 1456744266
20190820040124.jpg (3077Кб, 2560x1920)
2560x1920
>>1456743
А, забыл пикрил фото, потому что стандартный файлменеджер расбиана не имеет доступа к флешке, и разбираться с этим я не хочу сейчас, а удалённый рабочий стол пока не настраивал
Аноним 20/08/19 Втр 07:34:35 1456767267
>>1456741
Ну зачем так-то, мог был по-человечески сказать.
Аноним 20/08/19 Втр 08:00:11 1456772268
>>1456728
Я вот заводо быдло за 30. Пытаюсь выучить питон уже не первый год (7-8 лет время от времени читаю книжки по нему), но в этот раз основательно взялся и последний месяц стабильно трачу понемногу времени на него.
В начале года ушел с завода. А дальше начался пиздец. Сейчас вот не могу обратно устроиться в туже компанию.
За это время прошел курсы парикмахера за те же 60к. Скажу что это была самая бесполезная трата в моей жизни и лучше бы на курсы питона пошел. В итоге собираюсь как накоплю денег пройти какие-нибудь дешманские, но когда это будет не известно, чую что минимум через год.
Аноним 20/08/19 Втр 08:01:55 1456773269
>>1456772
7 лет? Это троллинг тупостью?
Аноним 20/08/19 Втр 08:12:07 1456776270
>>1456773
Это не троллинг тупостью, это то что основы я знаю, но читать начинал книги для тех кто 0 в этом и теорию быстро пробегал и решал задачки, чтобы просто не забыть язык. И да, у меня были перерывы большие, плюс пхп пробовал по совету, но на него быстро забил, ибо кроме того что он меня люто бесил, ничего мне не дал, легче на питоне что-то написать. Да и вообще, яп я использовал для конкретных целей и базы было выше крыши, плюс регулярные выражения покрывали все мои потребности. А тут прям захотелось до уровня джуна выучить, вот и взялся. Сейчас потихоньку фласк начал тыркать.
Аноним 20/08/19 Втр 08:32:03 1456777271
>>1456566
Я задачу в пример привёл просто, там методы сильно сложнее геттеров на самом деле. Зря слово это использовал в формулировке, сбил с толку видимо.
>>1456659
Спасибо, думаю сработает. Метакласс в отличие от конструктора можно будет в нескольких классах использовать, что мне и надо.
>>1456569
Нужно механизм, который будет создавать однотипные методы на каждый статический атрибут класса.
Аноним 20/08/19 Втр 10:43:38 1456802272
>>1456777
> Метакласс в отличие от конструктора можно будет в нескольких классах использовать
А можно просто декоратор запилить с тем же самым содержимым.
Аноним 20/08/19 Втр 11:08:22 1456806273
Двач, почему, если в Питоне динамическая типизация, следующий код не работает:
print (3 + 'how')
Аноним 20/08/19 Втр 11:08:51 1456807274
Аноним 20/08/19 Втр 11:21:09 1456810275
>>1456378
Ну Степа, активируй винду уже
Аноним 20/08/19 Втр 11:23:43 1456812276
>>1456806
>>1456807
Потому что ты к числу прибавляешь строку, не? Как ты ему предлагаешь строку в инт перевести?
Аноним 20/08/19 Втр 12:45:53 1456827277
>>1456806
Гугли про сильную типизацию. Типизация в питоне не только динамическая.
Аноним 20/08/19 Втр 12:59:16 1456833278
>>1456827
> сильную типизацию
'хуй' * 3, ага.
float(1) + int(1), ага.
Не существует никакой сильной типизации в чистом виде. Нигде. То, что оно у >>1456806 не работает, означает лишь то, что так задумано, потому что приводит к путаниец. Была бы возможность переопределять методы у встроенных классов - можно было бы "починить" сломать?.
Аноним 20/08/19 Втр 13:39:53 1456841279
Аноним 20/08/19 Втр 13:54:56 1456848280
>>1456833
Всё-таки это достаточно сильная. На языке с совсем сильной типизацией просто невозможно будет писать, слишком много лишних преобразований.

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

Например, ты определишь класс MyClass и в нём есть метод __str__, приведение типа к строке. Но даже в этом случае ты не можешь написать
my_class = MyClass()
" " + my_class
тебе надо делать явное приведение типов
' ' + str(my_class)

и сделать прозначное преобразование, как в C++, нельзя.

'хуй' * 3 - это не изменение типов, это специально определённая орерация умножения для строки. В принципе ты можешь переопределять операторы для класса, чтобы "my_class + 3" имело смысл. Но тут всё-таки явное определение оператора, это согласуется с принципами "сильной типизации".
Аноним 20/08/19 Втр 14:39:24 1456863281
con = lite.connect('students.sqlite.db')
cur = con.cursor()

login = 'igor'

cur.execute('Select name from Students where login = ?', [login])

code = str(cur.fetchone())

print (code)

Почему я получаю данные вот в таком виде:
('2RKH2KOGVQS3RDCVQB3W76KRQPYZRV6K7TRK3ZNKRP7GK5FWLB7A',)

КОГДА МНЕ НУЖНО ПРОСТО БЛЯДЬ:
2RKH2KOGVQS3RDCVQB3W76KRQPYZRV6K7TRK3ZNKRP7GK5FWLB7A

И В БД Именно такая запись.

Блядь, не понимаю как правильно погуглить даже, пиздос уже час ебусь!

Помогите
Аноним 20/08/19 Втр 14:47:33 1456869282
>>1456863
Похоже, cur.fetchone() возвращает кортеж, что, в принципе, логично. Как вариант - присваивать str(cur.fetchone()[0]) вместо str(cur.fetchone()).
Аноним 20/08/19 Втр 14:47:52 1456870283
Аноним 20/08/19 Втр 14:53:26 1456874284
>>1456869
Снимай портки, доставай хуй, я у тебя отсосу. Спасибо анончик, выручил пиздец как.
Аноним 20/08/19 Втр 15:23:34 1456896285
>>1456848
> достаточно сильная
Лол. Давай в децибелах измерять?

> Но тут всё-таки явное определение оператора, это согласуется с принципами "сильной типизации".
В питоне везде и всегда явное определение оператора. По крайней мере, так оно выглядит "снаружи" интерпретатора. И ты никак не можешь запретить делать каст магическому методу, реализующему оператор. Поэтому, несмотря на заявления в документации, в питоне нет сильной типизации.

a, b = Type1(), Type2(); a + b может сработать, явные преобразования видишь? - и я не вижу, типы разные мало того, в Type1.__add__ может быть return Type3(), язык опять же не запрещает, значит типизация никаким местом не сильная.

> ты не можешь написать " " + my_class
Это манипуляция. Я мог бы, если бы встроенные типы в питоне не были бы запечатаны не для усиления типизации, а просто чтобы не замедлить и так медленный язык еще раз в пять. Я все еще могу написать my_class + " ". И даже код анона >>1456806 я почти могу написать (обойдя проблему с переопределением int.__add__): http://ideone.com/x4vjeF

> В питоне практически всегда надо делать явное преобразование типов
Потому что встроенные типы недописаны (намеренно, да). Но это проблема касается встроенных типов, а не языка.
20/08/19 Втр 17:37:35 1456943286
Подскажите, почему умножая два числа (a,b), где a = int, а b = float
я иногда в результате получаю числа с огромным количеством знаков после запятой?
Пример:
b = 0.001
for a in range (0,100)
c = a*b
print(c)
и в результате я получаю:
0.001 / 0.002/..../0.036/0.037000000000001/0.038/...
Аноним 20/08/19 Втр 17:40:50 1456947287
>>1456943
Потому что флоат какая-то хуита с непонятной точность. Я так понял чтоб таких проблем не иметь - проще использовать:
from decimal import Decimal
для не целых чисел.
Аноним 20/08/19 Втр 17:41:22 1456948288
Аноним 20/08/19 Втр 17:58:01 1456963289
>>1456947
Ну не хуета, а способ хранения вещественных чисел.
Про идею можешь почитать https://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D0%B5%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D1%87%D0%B8%D1%81%D0%B5%D0%BB
Вообще эта информация может пригодиться только на интервью и байтоебам, так что не ебись и используй round
Аноним 20/08/19 Втр 18:50:58 1457007290
>>1456963
>Вообще эта информация может пригодиться только на интервью и байтоебам, так что не ебись и используй round
Когда работаешь с деньгами, то это очень важно, у нас float почти не используется, все числа либо в int или обернуты в Decimal
Аноним 20/08/19 Втр 18:56:42 1457014291
>>1456943
Потому что числа в компьютере хранятся в двоичной системе исчисления, аллё. Неужели это для тебя новость? Наверняка нет.
Тогда тебе будет просто понять ответ: в двоичной системе все float'ы должны иметь конечно представление, типа "1101.1101010010011". Но не всякое число, имеющее конечное десятичное представление, имеет и конечное двоичное представление. Например, "0.2" в десятично системе - это бесконечная циклическая дробь "0.00110011001..." ("0.(0011)"), которая, разумеется, округляется компьютером до конечного числа знаков после запятой. И если это округлённое число потом ты пытаешься записать в десятичной форме, то выйдет "0.200000000000000011102230246251565404236316680908203125".
Так происходит не со всеми числами, конечно. Например, "0.5" в двоичном виде это просто "0.1", и преобразование туда-обратно происходит без округлений.
Можешь сам поиграться вот тут https://www.exploringbinary.com/floating-point-converter/
20/08/19 Втр 19:06:14 1457022292
Аноним 20/08/19 Втр 19:33:30 1457043293
>>1456728
тоже думал поучиться на скилфактори,
не могу переступить порог "джуна", на работе делаю что-то с текстовыми данными ,
но написать что-то серьезное вроде вебприложения не могу
Аноним 20/08/19 Втр 19:39:48 1457050294
Правильно ли я понял,что по PEP 8 нужно вместо табуляции пользоваться пробелами?
1. Нахуй такое требование? Чем табы не угодили?
2. Всегда пользовался табуляцией равной 4 пробелам. Сейчас одну табуляцию заменил на четыре пробела (саблайм автоматом меняет). Всё правильно сделал?
Аноним 20/08/19 Втр 20:42:48 1457079295
Аноним 20/08/19 Втр 20:47:08 1457083296
>>1457079
Спасибо. Только вот непонятно, нахуй они так за пробелы держаться?
Аноним 20/08/19 Втр 20:53:08 1457089297
>>1457083
Ну как бы это основа питона, пробелами выделяются блоки, что тут обсуждать.
Аноним 20/08/19 Втр 20:55:02 1457090298
>>1457089
Не, ты не понял. Выделение блоками понятно, но почему в PEP 8 рекомендуют пользоваться богомерзкими пробелами для выделения этих блоков, а не православными табулярами?
Аноним 20/08/19 Втр 21:07:15 1457096299
>>1457090
Что тебе мешает в твоём любимом редакторе настроить замену табуляшки пробелами?
Аноним 20/08/19 Втр 21:07:22 1457097300
1.PNG (17Кб, 449x549)
449x549
>>1456777
>Нужно механизм, который будет создавать однотипные методы на каждый статический атрибут класса
Ну статические переменные, как я предложил можно высосать из __dict__, а "однотипные методы" - какая-нибудь хуйня с замыканием, ленивые лямбды не подойдут.
Аноним 20/08/19 Втр 21:11:40 1457100301
>>1456777
Можешь ещё написать декоратор для класса. Метаклассы лучше использовать, когда декоратора недостаточно
Аноним 20/08/19 Втр 21:14:21 1457103302
>>1457096
Блять, ты тралишь? Я так и сделал. Вопрос не во мне, а в том почему по PEP 8 именно пробелы рекомендуются.
Аноним 20/08/19 Втр 21:16:56 1457108303
image.png (89Кб, 959x738)
959x738
image.png (130Кб, 500x259)
500x259
Я ТУПОЙ И НЕ ПОНИМАЮ

ПОЧЕМУ во стором случае переменная i внезапно стала 5?
Что значит изменялась внутри функции?
Что такое локальная и что такое глобальная переменная я знаю.

Помогите, пожалуйста.
Аноним 20/08/19 Втр 21:19:22 1457110304
>>1457103
Чтобы у всех было одинаково. В зависимости от машин и редакторов табы могут быть разные.
Аноним 20/08/19 Втр 21:28:20 1457113305
Аноним 20/08/19 Втр 21:29:43 1457114306
>>1457108
Читай внимательно, баран. "Если бы". Глобальная переменная видна во всём коде, локальная - только в теле функции (совпадающее название перекрывает глобальную).
Аноним 20/08/19 Втр 21:30:02 1457115307
>>1457108
сначала базу почитай. у тебя в голове так нихуя не структурируются знания. открвай литературу и читай, блять
Аноним 20/08/19 Втр 21:32:53 1457117308
>>1457108
Не слушай анонов свыше. Это просто херовый пример, который к тому же неверен.
Аноним 20/08/19 Втр 21:33:11 1457118309
image.png (16Кб, 957x169)
957x169
>>1457113
>>1457114

Я не понимаю почему значения факториала в случае "Если бы" равны "5"

>Глобальная переменная видна во всём коде, локальная - только в теле функции (совпадающее название перекрывает глобальную).
Я это понимаю. Не понимаю откуда берется эта пятерка.
Аноним 20/08/19 Втр 21:33:22 1457119310
Аноним 20/08/19 Втр 21:35:31 1457125311
>>1457117
Получается, автор учебника просто облажался и рандомно написал значение? Офигенно. Пол часа мучаюсь, пытаюсь разобраться.
Если так, то спасибо.
Аноним 20/08/19 Втр 21:43:47 1457130312
>>1457118
В функции последнее значение i будет равно пяти, после чего функция завершится.
Аноним 20/08/19 Втр 21:46:16 1457132313
>>1457125
Ну разберём по частям автором написанное.
>"Если бы"
Ну обойдём это ограничение c помощью массива
https://repl.it/repls/GrossVerticalBrace
Ой, нихуя не сломалось.... как же так. Автор не знает как range работает или что?
И да, можно снять комментирование и убедиться, что это один массив.

На пример получше.
https://repl.it/repls/LightgrayTintedTrigger
Аноним 20/08/19 Втр 21:51:27 1457139314
image.png (33Кб, 705x450)
705x450
>>1457108
Пример действительно некорректный и ошибочный, так как в этом случае даже если бы глобальная переменная изменялась бы ВНУТРИ функции, результат был бы аналогичным, то есть:
1!=1
2!=2
3!=6
...
итд, так как значения глобальной и локальной i тут совпадают.
На скрине я сделал i global, автор лох.
Аноним 20/08/19 Втр 21:53:06 1457143315
>>1457125
Да, автор очевидно облажался. Может он сам пару лет назад в программирование с нуля вкатывался.

При желании можно проверить, просто объявить i как global. Но и так очевидно.
Аноним 20/08/19 Втр 21:54:23 1457144316
Мда... я про global забыл... Вот что бывает когда не вспоминаешь о своём питоне годами.
Аноним 20/08/19 Втр 21:59:09 1457146317
image.png (368Кб, 604x604)
604x604
Благодарю всех за помощь, был приятно удивлён, что тут есть люди.
Аноним 20/08/19 Втр 22:05:45 1457150318
>>1457146
Внимание анекдот
i = ++i + ++i
Спасибо за внимание
Аноним 20/08/19 Втр 22:05:51 1457151319
В питоне есть абстрактные атрибуты класса?
Аноним 20/08/19 Втр 22:20:41 1457160320
>>1456772
> Пытаюсь выучить питон уже не первый год (7-8 лет время от времени читаю книжки по нему)
Тьфу, блядь, я этот ёбаный Пихон за 2 часа выучил, прочитав документацию, этот дебил за 8 лет не смог.
Аноним 20/08/19 Втр 22:27:25 1457164321
>>1451619 (OP)
Я тут разные сортировки реализовываю, и мне нужно передавать в функцию список и индекс последнего элемента, самое простое(#1), передать аргументом по умолчанию какое-то левое число, с которым функция потом точно не вызовется рекурсивно, это работает.
Но препод показывал фишку(#2), когда по умолчанию мы даём None, а потом, ну вы поняли: https://ideone.com/y3wk3e
Вот второй способ у меня вызывает превышение глубины рекурсии, что я делаю не так?
Вот весь код со вторым способом:
https://ideone.com/Us9fv4
Аноним 20/08/19 Втр 22:35:47 1457167322
Аноним 20/08/19 Втр 22:40:00 1457168323
>>1457167
Бля, я понял, спасибо.
Аноним 20/08/19 Втр 22:44:47 1457171324
Ну что, парни, я еще раз подумал, неужели это так хуево на годовом курсе сидеть?
Я не молодой гений, который с 15 ковыряется, у нас на информатике делали в штмл хелоу ворд.
Поговорите, пожалуйста, со мной
Я готов учиться так же сильно, как я ненавижу сейчас то, чем занимаюсь.
Аноним 20/08/19 Втр 22:47:12 1457172325
>>1457171
>молодой гений, который с 15 ковыряется
Не сыы, у них на олимпиадах горит с тех кто занимается с <=10.
Аноним 20/08/19 Втр 22:47:53 1457173326
>>1457171
Читаешь книги, сначала по пистону, потом по жс, потом по джанге + какой-нибудь асинхронный фреймворк и наконец реакт.

Книг дохуища, курсы нахуй не нужны.
Аноним 20/08/19 Втр 23:18:37 1457193327
>>1457171
Представь, что ты хочешь пойти переводчиком работать, переводить какие-то документы на немецкий язык. А сам ты пока только шайсе, ханде хох и гитлер капут знаешь. Цель реальна, но путь долог.
Аноним 21/08/19 Срд 00:26:53 1457237328
Аноны подскажите. Следующий код падает с ошибкой.
import RussianIvan as kukhold
import RussianTyan as blyad
from asia import Ahmed

Ahmed.moved(kukhold, to=PARASHA)
Ahmed.fuck(blyad, to=ANAL)
Ahmed.solved_voprosik.make_money()

Runtime error: your Ivan broken while running from Ahmed. Please repair your Ivan.

Что делать?
Аноним 21/08/19 Срд 00:29:55 1457241329
Аноны, есть несколько приватных методов внутри класса, которые не изменяют и не дергают данные из self и pycharm предлагает объявить их статическими, но я читал, что статические методы это обычный неймспейс внутри класса, их сделали по ошибке и вообще их использование это плохая практика.
Что делать? Объявить их классметодами или просто отключить их детект в инспекторе пайчарма?
21/08/19 Срд 01:01:49 1457255330
image.png (2Кб, 479x23)
479x23
Подскажите, пытаюсь добавить строку матрицы numpy, но не напрямую, а через вычисленный элемент.
Выглядит это так:
st = 0,0,0
a = np.column_stack([a, [ st ]])
Пытался и через format, выдает ошибку. При этом если вручную забить 0,0,0 то никаких проблем нет.
Аноним 21/08/19 Срд 01:50:28 1457268331
>>1457241
> которые не изменяют и не дергают данные из self
> Что делать?
Значит это не методы. Убери свои функции нахуй из класса, это тебе не жаба.
Аноним 21/08/19 Срд 02:29:01 1457270332
>>1457268
Они вне контекста класса юзаться никогда не будут, я просто разделил большую функцию и вынес для удобства
Аноним 21/08/19 Срд 03:01:48 1457276333
>>1457270
И, тем не менее - зачем им быть в классе?
Это же питон - сделай просто функции в этом файле, рядом с классом.

Аноним 21/08/19 Срд 03:31:48 1457279334
>>1457268
Сделай статическими, почему нет?

А вот так >>1457276 делать скорее всего не надо. Логика построения кода страдает, читаемость страдает.

Тупо, вот два класса есть,
ClassA:
@staticmethod
do_some_work()

ClassB:
@staticmethod
do_some_work()

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

Физически статики всё-таки чуть другие, это не декоратор в привычном понимании, там своя реализация в интерпретаторе для них.
Аноним 21/08/19 Срд 06:36:52 1457306335
>>1451619 (OP)
Сап

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

Напишите стоит ли его учить в моем случае и почему?
Аноним 21/08/19 Срд 08:44:59 1457315336
>>1457306
В твоём случае не стоит. В анализе данных всего два наиболее употребимых языка (ну ещё для первичного анализа часто бывает удобен Excel/Power BI) это R и Python. Эту информацию ты бы смог извлечь за 20 минут гугления. Далее легко можно было бы почитать характеристики каждого из них и выбрать тот который тебе больше подходит.
Аноним 21/08/19 Срд 09:17:31 1457320337
>>1457255
>матрицы
Матрица же это массив массивов? Вангую, проебал где-то скобки.
Мимонюфаг
Аноним 21/08/19 Срд 09:30:39 1457326338
>>1457315
Долбоеб тупой. Хуистики может еще почитать?
Р насколько я понял он какой то ущербный, типа полуязык.
А Питон уже якобы прекратили поддерживать.

Стоит ли учить Питон и в чем подводные прекращения поддержки?

если ты долбает то можешь не отвечать
Аноним 21/08/19 Срд 10:30:41 1457350339
>>1457326
>Р насколько я понял он какой то ущербный, типа полуязык.
>А Питон уже якобы прекратили поддерживать.

Знаешь что, а наверняка ты говна, тупая жирная зелень.
Аноним 21/08/19 Срд 11:16:41 1457378340
>>1457350
Типичная русня
советовать могут только за бабло или из-за страха

народ-шлюха
Аноним 21/08/19 Срд 11:33:29 1457393341
Хуя агрессивный залетышь какой!
Аноним 21/08/19 Срд 11:36:40 1457394342
>>1457237
Тебе наверное кажется что это очень остроумно и смешно, но это не так
Аноним 21/08/19 Срд 11:44:05 1457395343
>>1457007
Ты конечно прав, я подразумевал, что вопрос не касается коммерческой разработки. Если ты занимаешься коммерческой разработкой и задаешь подобные вопросы здесь, то у меня очень плохие новости для твоего работодателя.
Аноним 21/08/19 Срд 11:45:32 1457397344
>>1457395
Я вообще мимо проходил
Аноним 21/08/19 Срд 11:49:33 1457399345
>>1457279
> А вот так >>1457276 делать скорее всего не надо.
Почитай, например, код стандартной библиотеки. Открываем случайный: zipfile.py. Видим: def _strip_extra, def _EndRecData, def _EndRecData64, которые используются классом ZipFile. Как же так? Почему они не статические методы? Правильно, потому что это писали на питоне, а ООП-шизики, набижавшие из Java, до них еще не добрались.
Аноним 21/08/19 Срд 12:26:08 1457421346
Вечер в хату. Работаю в офисе, недавно в мои обязанности вошла индивидуальная рассылка вручную неких файлов на фиксированный список адресов. При обычной рассылке всё это улетит в спам. Хочу написать скрипт, автоматизирующий процесс, но перед этим поясните, пожалуйста, несколько моментов:
Есть ли риск, что меня пидорнут с подачи какого-нибудь Санька из айти отдела, который задетектит работу скрипта? Мол, мутный софт, может быть я корпоративный шпион-диверсант, хуё-моё
Какие подводные при использовании smtplib с почтовым сервером компании?
Есть ли реальные угрозы безопасности рабочей почты?
Аноним 21/08/19 Срд 12:50:37 1457454347
>>1457421
Если ты локально на своем компе будешь рассылать письма через скрипт на питоне - заметить это будет невозможно, так как отправка не будет отличаться от отправки вручную. Если совсем параноик - сделай паузу между отправкой писем на случайное время.
Подводных нет, опять же отправка через библиотеку и через почтовый клиент (который так же использует кем-то написанную библиотеку, а может даже smtplib но не думаю что ты его используешь).
Угроз нет, если ты случайно в список почт на отправки, не добавишь почту шпиона или там у кого-то не появится доступа к твоему компьютеру, но это проблема не скрипта, это может произойти и без него.
Аноним 21/08/19 Срд 12:55:17 1457467348
>>1457421
> Есть ли реальные угрозы безопасности рабочей почты?
Будешь рассылать без вызова starttls() - будут тебе реальные угрозы безопасности.
Аноним 21/08/19 Срд 13:34:12 1457522349
>>1457326
>А Питон уже якобы прекратили поддерживать.
Не используй питон, тебе не нужно, ты даже элементарную информацию найти не в состоянии. Попробуй себя в специальности продавец-консультант. Или менеджер по продажам. Там как раз важно уметь поболтать.
Аноним 21/08/19 Срд 13:40:40 1457533350
>>1457399
>Видим: def _strip_extra, def _EndRecData, def _EndRecData64, которые используются классом ZipFile. Как же так? Почему они не статические методы?
Потому что эти функции используются в нескольких классах и в других функциях, которые вне классов.

Код должен быть в первую очередь корректно офомлен с точки зрения логики. То есть если у тебя метод явно по логике связан с классом, то его и надо оставлять в классе и делать статическим, если не привязан к контексту. Если же он делает какую-то общую операцию, не связанную с классом, то разумно выносить из класса.
Аноним 21/08/19 Срд 14:02:40 1457564351
>>1457533
Ты можешь привести пример операции, "связанной с классом", которая была бы достаточно целостной для вынесения в отдельный кусок кода, но при этом не требовала бы для выполнения значений экземпляров класса?
А то общие слова, не понятно, о чём конкретно речь.
Аноним 21/08/19 Срд 14:08:35 1457573352
image.png (112Кб, 921x524)
921x524
Важная инфа насчет глобальным и локальных переменных, затрагивающая вчерашнюю проблему.
Аноним 21/08/19 Срд 14:30:14 1457608353
Аноним 21/08/19 Срд 15:10:51 1457642354
<strong>b</strong>
Аноним 21/08/19 Срд 16:42:54 1457711355
image.png (60Кб, 975x505)
975x505
exe сразу вылетает, создана с помощью pyinstaller
В ней использую модуль numexp и один свой
В чем проблема?
Аноним 21/08/19 Срд 17:01:55 1457728356
>>1457711
Если тебе надо сконвертить софтину или софтину с PyQt в exe - используй nuitka.

nuitka --standalone --windows-disable-console --plugin-enable=qt-plugins --windows-icon="c:\icon.ico" --remove-output "c:\test.py"

Аноним 21/08/19 Срд 17:05:03 1457731357
14322808046631.jpg (44Кб, 499x430)
499x430
аноны, подскажите пожалуйста,

gtts:
https://gtts.readthedocs.io/en/latest/module.html#examples
______________________________________

Playing sound directly:
from gtts import gTTS
from io import BytesIO

mp3_fp = BytesIO()
tts = gTTS('hello', 'en')
tts.write_to_fp(mp3_fp)

# Load `mp3_fp` as an mp3 file in
# the audio library of your choice
_____________________________________

Каким модулем можно воспроизвести этот 'file like object'?
Пробовал Pygame.mixer - не хочет. Видел пример с использованием musicplayer - этот модуль у меня даже не устанавливается. Есть какие-то ещё варианты?
Аноним 21/08/19 Срд 18:22:53 1457799358
>>1457711
>>1457728
nuitka создает папку, мне же нужен один файл exe
Что за ошибка с numpy? Он даже не используется. Установлена последняя версия numpy
Аноним 21/08/19 Срд 18:36:53 1457811359
>>1457799
Нашел решение. В начале кода необходимо добавить
import numpy.random.common
import numpy.random.bounded_integers
import numpy.random.entropy

Это баг numpy, говорят в следующей версии исправят
Аноним 21/08/19 Срд 19:05:53 1457842360
Аноним 21/08/19 Срд 19:27:34 1457855361
>>1457522
Пошел нахуй русак ебаный. Чтоб тебя и твою семью менты изнасиловали
Аноним 21/08/19 Срд 19:45:29 1457875362
>>1457306
>Но нужно срочно блять учить какой то язык погромирования
Очередной колхозник подумал, что будет спустя месяц получать миллиарды в наносекунду. Кинул тебе за щеку манька, ты не то кодить, ты писать без "блять" как междометие не можешь. Теперь открывай рот, разрешаю.
Аноним 21/08/19 Срд 19:47:30 1457879363
изображение.png (32Кб, 371x321)
371x321
>>1457255
У меня все работает. Что конкретно тебе надо? Если добавить именно строку, а не столбец, то нужен row_stack, а не column_stack, и в любом случае должны быть подходящие друг другу размерности аргументов.
Аноним 21/08/19 Срд 20:23:32 1457911364
>>1457875
Тупая шлюха кто тебе сказал что я работать буду прогреем???
Мне это нужно чтоб в США приняли в магистратуру на бизнес аналитика.
Там одно из требований - знание ЛЮБОГО языка программирования на НАЧАЛЬНОМ уровне.
Аноним 21/08/19 Срд 20:25:14 1457913365
Python'ом могу пользоваться только версии 3.4.2, pip не хочет обновляться до последней версии, а numpy/scipy/mathplotlib не хотят устанавливаться при моём большом желании ими пользоваться. Есть вариант установить старые версии библиотек?
Аноним 21/08/19 Срд 20:49:13 1457936366
>>1457913
Поставь анаконду просто
Аноним 21/08/19 Срд 20:56:22 1457947367
>>1457911
Да кто тебя туда примет, манька. Ты с таким отношением к людям будешь нахуй послан в самое, что ни на есть ближайшее время. Приказываю гавкать дальше, чмоха.
Аноним 21/08/19 Срд 21:05:11 1457959368
>>1457911
>хочет свалить в США
>не может прогуглить в два клика инфу
Аноним 21/08/19 Срд 21:07:08 1457960369
>>1457913
>Python'ом могу пользоваться только версии 3.4.2
А что мешает поставить свежий?
> Есть вариант установить старые версии библиотек?
Конечно. Можно прямо указывать версию пакета в форме <имя_пакета>==<номер_версии>, например, pip install MySQL_python==1.2.2. У pip есть много команд и ключей к ним, в том числе, например, --python-version для, внезпно, версии питона, для которого надо искать пакеты. Кроме того, на сайтах проектов обычно доступны и предыдущие версии проекта.
Аноним 21/08/19 Срд 21:24:47 1457967370
>>1457936
Спасибо, учту.

>>1457960
>А что мешает поставить свежий?
То, что я нуб и не понимаю, почему версия свежее 3.4.2 не хочет устанавливаться на мою 32-битную семёрку.

Так или иначе, спасибо за помощь. Я нашёл нужную мне версию и всё установилось без проблем.
Аноним 21/08/19 Срд 21:49:35 1457977371
>>1457959
что блять гуглить? шизоид
>>1457947
>Ты с таким отношением к людям
ты можешь блять 5мин побыть не русней вшивой а помочь человеку с которым у тебя нет отношений??? Или ты блять и на дваче отвечаешь только по блату и только своим???
Аноним 21/08/19 Срд 23:44:57 1458047372
Допустим, я запустил приложение с помощью os.startfile('C:\\...\\program.exe'). Есть способы определить положение окна этого приложения на экране?
Аноним 22/08/19 Чтв 00:04:38 1458058373
image.png (106Кб, 1479x406)
1479x406
Питонач, как мне засунуть в переменную выделенный фрагмент? Голова уже не варит, нужно срочно.
Аноним 22/08/19 Чтв 00:10:05 1458063374
>>1458047
> определить положение окна этого приложения на экране
Ты можешь дергать Windows API через ctypes. EnumThreadWindows/FindWindow, GetWindowPos, вот это все.
Аноним 22/08/19 Чтв 00:11:08 1458064375
Аноним 22/08/19 Чтв 00:14:11 1458066376
>>1458064
хуиту написал. У меня есть json

то есть надо сделать как-то так a = s.json()
print (a["response"]....) итд. Помогите анону
Аноним 22/08/19 Чтв 00:19:47 1458068377
>>1458058
Не понял, в чём проблема?
a = sizes[5][url]
Аноним 22/08/19 Чтв 00:20:08 1458069378
Аноним 22/08/19 Чтв 00:45:01 1458081379
>>1457977
Этот тот самый шизик-мелкобуква, который срёт в каждом треде, расходимся.
Аноним 22/08/19 Чтв 06:09:35 1458158380
Допустим, у меня есть скрипт, который смотрит сводки погоды на каком-нибудь сайте раз в час. Какие у меня есть варианты для организации его постоянной работы на продолжительный срок, помимо держания комплюктера включенным 24/7?
Аноним 22/08/19 Чтв 06:10:55 1458159381
>>1457306
Учи, он простой, справишься быстро, раз уж тебе не нужны глубокие знания.
Аноним 22/08/19 Чтв 09:13:58 1458200382
Как грамотно исправить эту ситацию со словарём, чтобы не нужно было постоянно копию словаря создавать?

https://pastebin.com/PcXuF8YK
Аноним 22/08/19 Чтв 09:47:24 1458214383
>>1458200

Какую ситуацию? У тебя меняется переменная класса, все логично. Объясни подробнее, чего ты хочешь долбиться?
Аноним 22/08/19 Чтв 09:48:11 1458216384
>>1458158

Запуск на сервере, прости госпади?
Аноним 22/08/19 Чтв 09:52:02 1458218385
>>1458214
У меня получается два экземпляра класса, но при смене в одном из экземпляров значения в словаре, значение меняется и во втором. Мне нужно чтобы такого не было.
Вроде как такое происходит потому что оба словаря ссылаются на одну область со значением
Аноним 22/08/19 Чтв 10:05:04 1458223386
>>1458218

Так это потому, что ты объявил "переменную класса", няша. То есть, она общая как для объекта new1, так и для объекта new2.

Не знаю твою задачу и почему тебе важно определять словарик в отдельном классе, но предположу, что так надо.

Что бы словарик создавался каждый раз новый, определи его не как переменную класса, а как переменную объекта, используя конструктор (__init__), тогда каждый раз, когда ты будешь создавать объект new1, new2, new3 класса Test_main у тебя будет создаваться новый объект test_ класса Test, с доступом свеженькому, только созданному специально для этого объекта, словарю.

https://pastebin.com/e0a0dJEn

Или для тебя принципиально важно, что бы создавался один объект класса Test, на который ссылались разные объекты класса Test_main, но при этом, каждому из них был доступен отдельный атрибут test_dict?
Аноним 22/08/19 Чтв 10:21:21 1458232387
>>1458223
> Не знаю твою задачу и почему тебе важно определять словарик в отдельном классе, но предположу, что так надо.
Просто пишу текстовую рпг и решил для инвентаря сделать отдельный класс, в котором в разных словарях хранятся отдельные типы предметов.
А у меня получается что для двух разных существ инвентарь общий
> Что бы словарик создавался каждый раз новый, определи его не как переменную класса, а как переменную объекта, используя конструктор (__init__), тогда каждый раз, когда ты будешь создавать объект new1, new2, new3 класса Test_main у тебя будет создаваться новый объект test_ класса Test, с доступом свеженькому, только созданному специально для этого объекта, словарю.
Вернусь с обеда попробую так переписать, вроде как это именно то что нужно.

> Или для тебя принципиально важно, что бы создавался один объект класса Test, на который ссылались разные объекты класса Test_main, но при этом, каждому из них был доступен отдельный атрибут test_dict?
Мне наоборот нужно чтобы для каждого класса Test_main создавался свой Test, так как в моем говнокоде он представляет собой инвентарь.
Аноним 22/08/19 Чтв 10:24:49 1458235388
>>1458232

Должно работать. Удачи тебе с твоим начинанием.

Я и сам думаю начать на pygame пилить что-нибудь.
Аноним 22/08/19 Чтв 10:27:40 1458238389
>>1458235
Я больше с целью нормально понять ООП, чем получить готовую игру.

А что думаешь? Если время есть пили, чому нет, может годное что выйдет.
Аноним 22/08/19 Чтв 10:37:38 1458247390
>>1458238

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

Вот и получается, что цель как-то не оправдывает средства.
Аноним 22/08/19 Чтв 10:51:05 1458253391
>>1458247
Думаю строчка в резюме "сделал игру" не такая уж и плохая вещь, тем более если код хороший будет
Аноним 22/08/19 Чтв 11:19:25 1458271392
>>1458158
На малинке/elm8266 крутить?
Аноним 22/08/19 Чтв 11:25:47 1458278393
>>1458216
Подскажи, в какую сторону искать. Есть какие-нибудь бесплатные варианты?
Аноним 22/08/19 Чтв 11:26:58 1458280394
>>1458271
Думал про это, но как то крутовато ради моих мелких задач
Аноним 22/08/19 Чтв 11:31:10 1458287395
>>1458280
Так а чё крутовато? На малинке потом умный дом сообразишь, а elm8266 стоит 200 рублей - заодно майкропайтон поковырять можно
Аноним 22/08/19 Чтв 12:08:18 1458309396
>>1458223
Приехали. Оно так и сделано, но один хуй моб дает мне пизды мечом, который я только что выдал игроку
Аноним 22/08/19 Чтв 13:14:04 1458358397
task82[1].png (6Кб, 1060x220)
1060x220
Закрасить клетки. Расстояние до стены не известно. (пикрелейтед)

Тут код, который я смог написать - https://pastebin.com/0BqkZ5yE

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

Задача отсюда - http://judge.mipt.ru/mipt_cs_on_python3/labs/lab2.html#o9-task-8-2


Помогите
Аноним 22/08/19 Чтв 13:21:06 1458365398
>>1451619 (OP)
Помогите решить проблему, благородные доны. Я пытаюсь наладить простую программу для шифрования. Нужно просто запросить у пользователя обычную строку текста, зашифровать её, записать в текстовый файл (к которому могут иметь доступ третьи лица, от которых и нужно защитить данные), а потом другая программа могла бы вытаскивать всё
то, расшифровывать и использовать. Ничего толкового придумать не смог
Аноним 22/08/19 Чтв 13:28:45 1458370399
>>1458358
На предпоследней клетке твой робот делает проверку, надо ли закрашивать, а потом шагает вправо и функция волл из он де райт начинает отдавать True, поэтому цикл с проверкой на последней клетке не выполняется.
Подумай как сделать программу так, чтобы оно сначала проверяло, надо ли закрасить, а потом делало шаг, если справа нет стены.
Аноним 22/08/19 Чтв 13:53:08 1458395400
>>1458365
>Ничего толкового придумать не смог
Начни с того, что разберись с понятиями "блочный шифр", "потоковый шифр", со словами ECB, CBC и тому подобными. Это базовая теория.

Потом смотри на библиотеки, которые имеются в наличии.

Аноним 22/08/19 Чтв 13:59:51 1458404401
>>1458278
Если ты не школьник, у кого банально нет своей карточки, чтобы с неё за хостинг заплатить, я бы рекомендовал всё-таки найти 5 долларов в месяц на VPS. У тебя масса других возможностей появляется, когда свой виртуальный сервер есть.

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

Но поищи, может что есть.
Аноним 22/08/19 Чтв 14:24:17 1458446402
НЕ ОБОСЫТЕ, А ПОМОГИТЕ!

Что я делаю не так

Вот так вызываю:
driver = CustomDriver(student)

Вот такую ошибку получаю:
TypeError: __init__() takes 1 positional argument but 2 were given


Вот такой код:

import os
from sqlalchemy.orm import Session

from studtool.models import Student
from .utils import AttachmentUploadException
from cached_property import cached_property

from selenium import webdriver

__all__ = (
'CustomDriver',
)



class CustomDriver(object):
def __init__(self):
self._is_initialized = False

@cached_property
def driver(self):
# type: () -> webdriver.Chrome
self._is_initialized = True
return webdriver.Chrome()

def logout(self):
if self._is_initialized:
self.driver.close()

def sign_up(self, student, session):
print ('signup')

def sing_in(self, student):
pass

def upload_attachment(self, student, attachment):
print ('upload')

def update_info(self, student):
pass

def getkey(self, student):
pass

def logout(self):
if self._is_initialized:
self.driver.close()
Аноним 22/08/19 Чтв 14:30:48 1458456403
Аноним 22/08/19 Чтв 14:34:00 1458459404
>>1458446
class CustomDriver(object):
def __init__(self):
self._is_initialized = False

у тебя инит принимает self(он передается неявно) и все
А ты ему тычешь self и student

Аноним 22/08/19 Чтв 14:35:39 1458461405
>>1458446
Как я вижу, __init__ в твоём классе не принимает никаких аргументов, кроме self. Как вариант - добавить в качестве второго аргумента student, сделать его атрибутом класса и потом уже использовать в твоих методах.

я нуб, отсасывать не надо
Аноним 22/08/19 Чтв 14:39:28 1458466406
>>1458459
>>1458461
От души братаны, всем отсосов в этом треде за мой счет.
Пиздец, как выручаете уже второй раз.
Аноним 22/08/19 Чтв 15:07:26 1458487407
Какого AVAST ругается на atom.cmd, idp.alexa.51?
Аноним 22/08/19 Чтв 15:16:51 1458494408
201003071240img[...].jpg (88Кб, 317x372)
317x372
Ощем, перед тем как приступать к изучению тестирования и переходу к большим проектам Эрик Мэттис, 10 глава задумал закрепить полученные знания и нахуячкать соснольную программу у которой есть логин, регистрация новых пользователей, админ и юзеры с разными допусками и методами - юзеры смогут создавать текстовые файлы и писать в них хуйню малафью, админы могут тоже самое + менять данные пользователей и вот это вот всё, например.
Пока что запилил регистрацию и логин у меня аж привстал когда всё заработало как надо, ага, завтра сделаю два класса: юзер и наследуемый от юзера админ.
Так вооот, будет ли правильным то, что я вкорячу дополнительным аргументом класса статус, который и будет различать юзера от админа когда пользователь будет логиниться, не? или как это всё провернуть?
И это, проверьте текущий http://ideone.com/0fnl4C код, подробно обоссыте если что не так, ага. никаких дополнительных проверок, безопасности и прочей хуйни пока что нет, потом допилю, если не лень будет

мимо >>1454354
Аноним 22/08/19 Чтв 15:21:34 1458498409
>>1458494
А где хранишь данные учёток и созданные пользователем заметки?
Аноним 22/08/19 Чтв 15:23:19 1458501410
>>1458498
Базы еще не проходил, думаю меня в последующих главах этому научат, а пока пользую json.
Пилю это говно только для того чтоб ООП подтянуть
Аноним 22/08/19 Чтв 15:25:36 1458506411
>>1458446
Только вкатываюсь в питон. Может кто построчно объяснить что тут делается такое?

Какая-то жуткая ебанина просто.

>class CustomDriver(object):
>def __init__(self):
>self._is_initialized = False
>
>@cached_property
>def driver(self):
># type: () -> webdriver.Chrome
>self._is_initialized = True
>return webdriver.Chrome()
>
>def logout(self):
>if self._is_initialized:
>self.driver.close()
Аноним 22/08/19 Чтв 15:32:08 1458511412
>>1458506
У тебя там есть декоратор cached_property, который не описан в твоем куске. И уважай других прикрепляй ссылку на пастбин, а не срань гринтекстом
Аноним 22/08/19 Чтв 15:33:10 1458512413
>>1458498
Надо качать файл и запускать у себя в консоли - на идеоне интерактив не работает, как я понял
Аноним 22/08/19 Чтв 15:35:40 1458513414
>>1458511
Спасибо за декоратор, но я не тот анон, что выложил этот кусок.
Аноним 22/08/19 Чтв 15:36:55 1458514415
Пацаны, кто по коду может проконсультировать рублей за 100? Объяснить одну вещь в телеге.

>>1458446 -кун
Аноним 22/08/19 Чтв 15:53:26 1458523416
Есть такой код – https://pastebin.com/KEcrtUH4

Мне наставник дал такой комментарий:

>обратите внимание на эту конструкцию
>is_initialized флаг хранящий состояние обёртки над selenium.
>driver инициализируется лениво (при обращении к нему). нет обращения - не инициализируется, окно не создаётся.

Я вот так открываю Хром – self.driver = webdriver.Chrome(executable_path=path + '/chromedriver', chrome_options=options, )

Вот куда мне поставить вызов Хрома, чтобы всё работало как задумано?

Пиздец, я уже методом тыка куда только не вставлял.
Аноним 22/08/19 Чтв 16:43:19 1458552417
>>1458514
Настолько все плохо, что готов сотку отдать за то, что вполне можно нагуглить? Был бы за компом, бесплатно обучил бы тебя, как строить запросы в Гугл, чтобы найти нужные тебе ответы, но увы.
Аноним 22/08/19 Чтв 16:51:12 1458560418
>>1458552
Тихо ты, он курсы пойдет покупать за 50к, а потом жаловаться, что вкатится не получается
Аноним 22/08/19 Чтв 17:26:39 1458582419
>>1458552
>>1458560
Это я сделал, но столкнулся со следующей проблемой.

https://pastebin.com/4TuGHa6C

File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/cached_property.py", line 35, in __get__
value = obj.__dict__[self.func.__name__] = self.func(obj)
TypeError: driver() missing 1 required positional argument: 'student'

35 строка это @cached_property

Аноним 22/08/19 Чтв 17:50:15 1458598420
>>1458582
Нихуя не понял, но твой метод драйвер запрашивает обязательный аргумент "student", который ты ему, видимо, не передаешь. А вообще, зачем тебе "student"? Ты ж его вообще нигде не используешь, кроме как в принимаемых аргументах методов.
Аноним 22/08/19 Чтв 18:42:57 1458648421
15416850142100.jpg (42Кб, 514x536)
514x536
Как перевести 2.4e-05 в 0.000024 в строчном представлении?
я делаю str(2.4e-05) и получаю '2.4e-05', но мне нужно получить '0.000024'?
Аноним 22/08/19 Чтв 18:49:17 1458657422
syka blyat

"%8.6f" % 2.4e-05

resolved.
Аноним 22/08/19 Чтв 18:50:42 1458659423
>>1458657
Не понял. Как это работает?
Аноним 22/08/19 Чтв 18:52:24 1458665424
>>1458648
'{:f}'.format(2.4e-5)

Либо
a = 2.4e-5
f'{a:f}'
Аноним 22/08/19 Чтв 19:09:53 1458691425
>>1458665
а теперь нужно чтобы 2 вернуло как '2', a не как '2.000000'
Аноним 22/08/19 Чтв 19:18:00 1458695426
>>1458665
спасибо, добавил еще '{:f}'.format(2.4e-5).rstrip('0').rstrip('.')
чтобы на других числах нормально было
Аноним 22/08/19 Чтв 21:51:48 1458799427
Аноним 22/08/19 Чтв 21:53:12 1458802428
>>1458799
Забыл добавить, что user32.GetWindowRect работает как надо.
Аноним 23/08/19 Птн 00:07:09 1458885429
1566508009715.jpeg (369Кб, 963x868)
963x868
Помогите перевести. Спасибо.
Аноним 23/08/19 Птн 00:10:33 1458886430
>>1458885
Лучше функции передавать сам список, а не его копию, потому что для создания копии требуется время и память и со списком больших размеров можно обосраться
Аноним 23/08/19 Птн 01:49:48 1458910431
>>1458885
Выше (>>1458886), в общем, правильно написано.
Но, есть нюанс - опущена мотивация.
На самом деле, там написано:

Хотя вы можете предохранить содержимое списка [от нежелательного изменения], передавая в ваши функции его копию, но ...

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

Но, т.к. функции могут быть и не твоими, и обстоятельства бывают разными, то на этот случай есть вот такая конструкция - [:], которая позволяет скопировать список.
Аноним 23/08/19 Птн 04:11:21 1458933432
>>1451619 (OP)
Выходит новая книга, называется Отсос Питона, предзаказ в личку.
Аноним 23/08/19 Птн 04:56:17 1458943433
>>1458910
Да, упустил это. Вообще в курсе мфти по алгоритмам на питоне про это часто говорят.
Аноним 23/08/19 Птн 07:12:23 1458960434
Всем привет!
Мне 29, начинаю учить программирование с питона. Какие подводные кроме
> 29
> Учить питон
Аноним 23/08/19 Птн 08:08:29 1458964435
>>1458309
Я дурак, проблема вообще была не в этом. Герой, который получал урон, атаковал себя своим же оружием
Аноним 23/08/19 Птн 08:23:52 1458967436
Анончики, ещё один глупый вопрос, нагуглить не получилось.
Есть Один Метод и в нём три ветки условия, которые отличаются только одним названием словаря, название зависит от item_type. Можно это переписать в одну ветку, чтоб название словаря бралось из item_type.
Вот код: https://pastebin.com/Ptf9JEfx
Аноним 23/08/19 Птн 10:06:33 1459006437
>>1458960
Никаких, абсолютно, бери да вкатывайся
Аноним 23/08/19 Птн 10:11:48 1459008438
У меня нубо вопрос.
Как во фласке/джанге параллелить вычисления/не блочить сервер? Я с потоками, мультипроцессингом сталкивался на уровне запустить потоки с именами, посмотреть че они творят, как расхуячивают общую переменную и т.д.
Не понимаю как этим пользоваться здесь: вьюха должна вернуть http. Если я внутри вьюхи кусок кода кину в отдельный поток, она вернет хуевый http без нужных данных. Если сюда добавить join, тогда все тупо заблочиться, пока все клиенты не будут готовы. Нужно как бы на каждого клиента запускать свою вьюху, но для этого нужен какой-то общий цикл, который чекает готова ли вьюха. Куда приделать этот цикл во фласке? Как я понимаю, с таким циклом и событиями я подхожу к принципу ассинхронных фреймворков? Вот с yield-ами я не дружу, воспринимаю их тупо как способ сгенерировать еба-лист. Вроде их используют в таких случаях?
Аноним 23/08/19 Птн 10:22:35 1459012439
>>1459006
Подскажи, где лучше всего тренироваться? Пишу в Sublime, но хотелось бы, чтобы сразу можно было запустить программу, не из командной строки. Попробовал PyCharm, но какая-то громоздкая программа, тормозит и грузится долго
Аноним 23/08/19 Птн 10:34:47 1459014440
>>1459012
Во, у меня такие же впечатления от PyCharm'a осталось. Слишком все громоздко. Пока пишу в саблайме, запускаю из консоли.

мимо нуб
Аноним 23/08/19 Птн 11:05:54 1459023441
изображение.png (12Кб, 692x603)
692x603
Как в Komodo программу запускать, чтобы результат увидеть?
Аноним 23/08/19 Птн 11:10:45 1459031442
>>1459012
>>1459014

В пучарме же есть кнопка запустить, ну ладно. Такая же кнопка есть в visual studio code.
Аноним 23/08/19 Птн 11:13:38 1459034443
Аноним 23/08/19 Птн 11:15:01 1459038444
>>1459034
Не знаю, это какое-то говно говна мамонта.
Аноним 23/08/19 Птн 11:15:57 1459042445
>>1459023
Судя по тому что есть командаутпат, то как-то можно. Гугли хоткейсы
Аноним 23/08/19 Птн 11:20:46 1459047446
>>1459012
Поставь пакет sublimeREPL, можешь даже бинд на него поставить
не забудь версию питона в нем сменить
Аноним 23/08/19 Птн 11:27:03 1459054447
>>1459047
>Поставь постаить него у него
Сорян, только проснулся :3
Аноним 23/08/19 Птн 11:27:11 1459055448
>>1459008
Генераторы (yield).
Подробности - в интернетах.
Можешь загуглить "python twisted generators", например.
Аноним 23/08/19 Птн 11:30:02 1459058449
>>1459012
>>1459014
>PyCharm
>громоздкая программа
>грузится долго

Для обучения - это лучший вариант.
Подсказки и прослеживаемость связей в коде - просто охуенны.
Чтобы не тормозило - надо поставить SSD.
Аноним 23/08/19 Птн 11:33:57 1459061450
Аноним 23/08/19 Птн 11:34:46 1459062451
>>1459061
Сублиме репл тебе говорят!
Аноним 23/08/19 Птн 11:35:23 1459063452
Аноним 23/08/19 Птн 11:39:41 1459070453
1.png (4Кб, 230x105)
230x105
2.png (7Кб, 376x156)
376x156
>>1459063
Ну попердолься немного, чего ты.
Загугли как ставить пакеты, это быстро.
Аноним 23/08/19 Птн 11:42:03 1459073454
Аноним 23/08/19 Птн 11:43:34 1459078455
>>1459058
Для обучения как раз нафиг не надо лезущие отовсюду окна с якобы подсказками, а на самом деле просто отвлекающий мусор. Когда учишься, нужно понимать что происходит, а не подсказки читать.

мимо с любовью вспоминаю студенчество с турбо паскалем 7.0
Аноним 23/08/19 Птн 11:44:35 1459082456
>>1459073
Там сейчас кнопочками сделать можно
Аноним 23/08/19 Птн 11:47:33 1459083457
изображение.png (29Кб, 741x778)
741x778
Аноним 23/08/19 Птн 11:49:02 1459086458