Этого треда уже нет.
Это копия, сохраненная 26 сентября 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Python /python/ 1451619 В конец треда | Веб
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/
2 1451628
первыйнах
3 1451745

> но аноны бугуртят


Аноны такие аноны.

> что это говно мамонта


Это не так, уверяю.

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

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

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

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

Как-то так. Ещё куча вопросов с пометкой платина, но ебать мой хуй, на них из раза в раз отвечают.
pc.png1,6 Мб, 3840x2160
4 1451757
>>51745
Дополню. В большинстве не по теме ЧАВО, а от себя

> в ньюфаг-треде написано, что нужно начинать с 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
5 1451797
>>51619 (OP)
>>51757
Для тех, кто более-менее умеет программировать, очень хорошая вводная документация на самом сайте питона:

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

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

Для тех, кто более-менее умеет программировать, я бы рекомендовал именно с официальной документации начать, с этого раздела.
6 1451799
>>51797
Точнее, вот с этого подраздела:
https://docs.python.org/3/tutorial/introduction.html

Тут введение шаг за шагом.
7 1451812
>>51757
Годно, спасибо, антош.
8 1451814
>>51799
Случайно не знаешь, там есть возможность переключения языка
Это кто-то специально отобранный переводит? Потому что если нет, то почему бы рядовому анону не перевести всю доку на русский, там нет ничего сложного, даже я со своим intermediate справлюсь
9 1451815
>>51814
Выбор языка сверху слева. Переводят комъюнити.
Но зойчем переводить на русский, если куча доков на остальные либы на инглише?
image.png12 Кб, 921x98
10 1451836
Блять, что я делаю не так? Памагити.
Центось7. Поставил python36 + pip
При установке пакета, пип предложил обновиться до версии 19х (или 16х, не помню). Обновил пип через сам пип и он почему-то проебался. pip -V pip3 -V нихуя не отдают.
11 1451919
>>51814
Качественный перевод довольно сложно делать, и этим надо постоянно заниматься, актуализировать по мере обновления англоязычного оригинала. Мне кажется, что сейчас меньше переводят серьёзной документации, чем раньше, всем надоело просто. Очень большой объём, много времени надо, за это не платят.

Я уже привык читать на английском языке, хотя иногда хочется и по-русски что-нибудь почитать. Но чтобы это был нормальный перевод, а не чуть лучше гугл-переводчика.
12 1451920
>>51836
Сделай echo $PATH
Почему в путях нет /usr/local/bin ? Видимо в этом проблема.
13 1451922
>>51920
Да, так и сделал.
Правда, теперь у меня почему-то две папки с пиповскими модулями

>/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/

Срань.
14 1451930
>>51919
Насчет гугл переводчика прямо в точку написал. Только что редактировал статьи на MDN'е, потому что глаза режет что-то вроде "веб-обзорщик"

А насчет либы, то я уже говорил, что там нет чего-то прям сложного в плане английского, за вечер можно пару страниц перевести. Тот же самый плюс в ЧСВ и помощь ньюфагам в освоении технологии
15 1451932
>>51930
не либы, а доков по языку
быстрофикс
16 1451937
Вопрос не совсем по питону. Может кто знает очень годные задания, данные вместе с решениями в формате текста (не интерактивная залупа вроде кодекадеми и прочего)? И при этом не привязанное к языку.
Читаю байт оф питон, а в ней задачек нет.
17 1451938
>>51922
ХЗ, что-то как-то не так встало. Я в эти дебри никогда не лез, работало всегда без проблем.

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

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

Что-то не так встало, pip видимо не так встал.
18 1451954
>>51937
Попробуй codewars (там есть возможность просматривать чужие решения с комментариями и пояснениями), задания разделены по уровням сложности и все такое
19 1452063
>>51937
Codingames, множество задач разного уровня, решения возможны на разных. Решения гуглятся по условию
20 1452064
Немного не по теме, но есть вопрос.
Я +-разобрался в питоне(на нужном мне уровне) и возник вопрос, что еще изучить, чтобы иметь хорошую базу?
Как я понял, то для веба можно взять js, а потом html+css, чтобы можно было полностью понимать как сделать и мочь сделать сайт.
Или же это бесполезно и лучше взять C/C++?
21 1452083
>>52064
Вообще главное не язык, а технологии, технологии программирования и построения приложений.

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

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

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

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

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

Ты просто подумай со стороны задачи. Есть задача полезная, которую надо сделать, которая работает через веб. И подумай, как именно её делать, как именно эта задача работает.
22 1452092
>>52083
Окей, спасибо большое.
В таком случае попробую разобраться в них и попробую свой сайт запилить.
Сейчас как раз разбираюсь с БД и как работать с ajax
23 1452207
Пытаюсь в проекте подключить Pool из multiprocessing
при попытки вызвать pool.map(self.method,list) выдает ошибку, map() takes from to positional arguments but were given. Сам кусок кода находится в методе класса. Как можно решить проблемму?
24 1452220
А есть пайтон стэндалон на винду? Оффлайн, разумеется. Чтобы на работе, не связанной с айти, кодить.
Screenshot 2019-08-13 at 13.19.11.png24 Кб, 574x286
25 1452268
Как я понимаю, эти два способа абсолютно одинаковые, тогда зачем их два? Или может есть различия?
26 1452275
>>52268
Нет, не одинаковые.
В первом случае у тебя в текущем пространстве имён появляется имя tkinter. Дальше - tkinter.zalupa().
Во втором - появляются все экспортируемые имена из модуля tkinter. Дальше - просто zalupa().
27 1452277
>>52268
Разные. В первом ты просто подключаешь модуль, после чего можешь использовать, наприме
tkinter.Button()
но явно указываешь модуль при вызове функций оттуда.

Во втором случае ты импортируешь всё из модуля в основное пространство имён, и уже используешь
Button()
без указания модуля. Могут быть конфликты имён из-за этого и не очень понятно, откуда какая функция или класс берётся.
28 1452279
>>52275
>>52277
Как боженьки пояснили, спасибо.
29 1452662
>>52220
Он и есть стэндалон. Либы нужные просто можно подкачать из интернета при необходимости. Если параноик - на флешке таскай.
30 1452768
Чтоб вкатится в базы данных какую связку лучше использовать с Питоном? sql?
image.png8 Кб, 648x64
31 1452769
двач, почему получаю такую ошибку при переименовании файла?
32 1452774
>>52769
если пытаюсь сделать то же самое из консоли, все работает
33 1452781
>>52774
понял в чем ошибка, там каким то образом оказался вопрос в названии файла
34 1452782
>>52768
Sql это язык запросов к соответствующим БД.

Если совсем с нуля, возьми sqlite3, штатный модуль питона, одна база = один файл. С ним принцип работы примерно тот же, что и с полноценными базами.
35 1452795
>>52782
Да совсем с нуля собираюсь, спасибо
Безымянный.png13 Кб, 806x193
36 1453045
Шалом, братья
Я уже не знаю, куда обратиться с этой проблемой. Делаю небольшого бота и столкнулся с какой-то непонятной хуйней. С некоторой вероятностью программа зависает без сообщения об ошибке, во время выполнения следующего
1) Запрашиваю к серверу через http.client.HTTPSConnection
Если возникает ошибка:
2) Ловлю исключение
3) Через print вывожу в консоль текущее время и исключение, и отправляю себе вк то же самое лишь с той разницей, что для вк получается новое время

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

Может ли себя вести функция print???
37 1453127
>>53045
У тебя проблема с сокетом. Ты установил соединение, но потом оно молча обрывается и ты об этом не знаешь. Твой сокет слушает, то ему никто ничего не высывает и не собирается.

Тебе необходимо контролировать, что сокет жив, либо таймауты как-нибудь настроить, несколько разных способов для этого есть.
38 1453154
>>53127
У меня в http.client.HTTPSConnection установлен параметр timeout = 20, это разве не то?
39 1453185
>>51619 (OP)
Ку. Когда-то давно юзал питон для парсинга сайтов, язык понравился. Сейчас хочу немного поботоводить в онлине-гамесах типа wow и poe. Насколько хорошо питон подходит для данных задач? Имеет смысл пытаться юзать его в таких целях, или не выёбываться и задрочить какую-нибудь сишку?
40 1453195
>>53154
По идее это таймаут на коннект. Но у тебя может быть ситуация, когда соединение установлено, а потом молча оборвалось. Это довольно штатная ситуация и её надо отлавливать.

Есть разные способы, или надо выставлять KEEP ALIVE на сокет, это почти не задокументированная магия, или жёстко контролировать таймауты через сигналы, например, это если у тебя обычная синхронная задача. Для этого надо разобраться в логике твоей задачи, когда данные уходят, приходят и т.п., как долго ты можешь без данных быть и т.п.
41 1453324
Профессиональные змеегонятили, на связи вкатившийся два года назад. Есть что почитать по архитектуре? А то делаю сервисы на работе, но не уверен, что делаю это правильно, хочется посмотреть на эталонную реализацию, желательно учитывающая специфику языка.
42 1453330
>>53324
Миддл уже? Скок зп на старте/сейчас?
На твой вопрос не знаю ответ.
43 1453332
>>53330
На позицию мидла взяли через год, даже в проебалтику релокейтнули (я писал тут давно об этом), на старте было 30к в миллионике, сейчас 2200 евро.
44 1453350
>>53332
А во сколько годгов вкатывался? И сколько по времени уделял на обучение? Сам уже 7 лет подряд начинаю каждую весну учить питон, уже наизусть знаю вводные главы, могу простенькие программы писать, но стоит только на следующий уровень переходить так что-нибудь случается в жизни. А сейчас уже серьезно к этому вопросу подошел, ибо хочу кое-какой проект замутить веселья ради. Но устроиться погромистом уже возраст свой не позволит. И не надо мне тут что и в 45 берут на джуна, это все сказки.
45 1453354
>>53185
Можешь попробовать, все равно много времени не займет (+- 3 вечера, если шаришь), если будет долго "думать", то попробуй отдельные части, которые больше всего обрабатываются переписать на Cython'е.
46 1453357
>>53324
Если из совсем нового "Чистая архитектура" Роберт Мартин
47 1453363
>>53350
Вкотился в 20, неспешно читал книжки по питону с 11 класса до 2 курса (2 штуки, лутц и флюент пайтон), потом приперло найти работу и за месяц прочитал django by example делая примеры оттуда. Уделял по часу не каждый день, потом по 1-2 регулярно в самом конце.
48 1453366
>>53350
Недавно читал пост на хабре, как чувак в Германии в 40 в java-программисты вкатился, до этого коммерческим программированием не занимаясь. Но он реально серьёзно к обучению подходил, мало кто на такое способен, и всё-таки как-то с ИТ был связан.

За зачем спрашиваешь тогда?
49 1453377
>>52207
У тебя метод сколько аргументов принимает?
1Снимок.JPG39 Кб, 866x486
50 1453434
Есть один list. Прогнав его через цикл получаю 2 целых числа(индекс элементов из этого листа) которые хочу использовать как индексы, чтобы потом выбрать часть этого-же листа. Выглядит так примерно. Но получаю ошибку. Хелп.
51 1453439
>>53434
Learn English! Это помогает. Там всё написано.

Индекс должен быть или целым числом, или None. А ты зачем-то явно приводишь к строке.
52 1453440
>>53434
Тебе компилятор пишет, что индексы среза должны быть целыми числами. Не приводи их к строкам
53 1453467
>>53434

>получаю 2 целых числа


И нахуя ты потом применяешь к ним str()?
Просто интересно, что происходит у тебя в голове.
54 1453475
>>53467

> что происходит у тебя в голове


Представляю как тебя циклом пускаю по кругу. Я разобрался - я затупил, спасибо.
55 1453476
>>51619 (OP)
Есть синхронная программа, в которой происходит много блокировок из-за подгрузки файлов через FTP. Как наиболее оперативно переписать ее через async/await?
С асинхронками раньше дела не имел, где подскажут за годный рефакторинг прог?
unnamed.jpg51 Кб, 900x900
56 1453478
Есть ли способ ввода в getpass.getpass через ctrl-v? Какие есть альтернативы, если хочешь, чтобы вводимые данные не отображались в командной строке?
57 1453482
Как узнать сколько байт занимает конкретный объект в Питоне?
58 1453484
>>52769
Не используй длинные пути файлов, либо те, в которых встречается кириллица в названиях папок, если не хочешь ебаться
59 1453490
>>53478
правой кнопкой ткнуть блядь
60 1453498
Есть один 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)
61 1453500
>>53482
А зачем тебе это надо, какую задачу ты решаешь? Одно дело сериализация, другое дело расход памяти, ты должен учитывать, что в объект не хранится целиком, в нём ссылки на другие объекты и т.п.

Если расход памяти интересен, то глянь сюда:
https://docs.python.org/3/library/tracemalloc.html
62 1453505
>>53476
По-хорошему надо сначала разобраться с асинхронкой, как это в питоне работает. На первом этапе не без магии. Иначе ты не сможешь мало-мальски нормально такую задачу реализовать.

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

Возможно тебе проще не переводить на asyncio, а запустить эти операции в отдельных тредах.
63 1453513
>>53500
Для отладки, проверить сколько памяти жрут конкретные объекты в конкретные промежутки времени
64 1453533
>>53482
sys.getsizeof()
15652568149723.jpg50 Кб, 1024x611
65 1453575
Сап, закончил делать тестовое, имплементация 2-х простых функций пайтон - проходной тест, но не главный инструмент . И для представления результатов необходимо завернуть это всё, предлагают на выбор либо CLI либо докер. Если у кого есть, помогите пожалуйста, дайте пожалуйста максимально подробный мануал как это делать и главное чтобы не упарываться очень.
66 1453670
>>53575
cli - argparse
68 1453690
>>51922
Не стоит срать пипом в системные папки, делай все через --user хотя бы. А то что в глобальное окружение устанавливается - контролируется пакетным менеджером. Соответственно, обновив пип самим собой, а не центосквским пакетным менеджером, ты все сломал
69 1453737
Как ебнуть значение в 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 ветке такая же вложенность. Даже если в функцию с рекурсией запихну, все равно пиздец будет какой-то.
63687575.png8 Кб, 961x71
70 1453815
сап, парсултанг. Запрос верный, URL верный - это 100%
почему может не работать?
тот же самый URL в браузере выдает нужные данные
Python 3.7.3
библиотека requests
71 1453829
>>51619 (OP)
Нужна помощь с примером из книги "Укус Питона".
13.1-13.2 там где задача с архивацией, для винды нужно установить штуку из GnuWin32 для того, чтобы можно было из CMD архивировать вот она http://gnuwin32.sourceforge.net/packages/zip.htm
Но что-то нефига не получается. Как решить данную проблему, хелп плиз?
72 1453857
>>53737
Ты можешь написать сам или использовать библиотеку какую-нибудь для работы по принципу 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, поиску там данных. Он поддерживает и значительно более сложный условный поиск.
73 1453865
>>53737
Ну можешь написать свою функцию для данного извращения.
Но складывается впечатление, что тебе лучше выбрать другой контейнер для хранения своих данных.
И вообще если подумать. У тебя структура подразумевает для данные лежат на нижнем уровне? Те 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
74 1453889
j
75 1453901
Сап, снова со своими задачами и книгой Python Crash Course. Почти закончил 6 часть, решил финальные задачи, но остался один вопрос.

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

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

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

Спасибо.
76 1453911
>>53901
Для этого есть join
m = [1, 3, 6, 89, 111]
", ".join(m)
77 1453928
>>53911
Жулик, вот правильный код.
m = [1, 3, 6, 89, 111]
", ".join(map(str,m))
78 1454025
>>53901
for name, numbers in favoriteNumbers.items():
    print(f"This is {name} and there are numbers:", end=" ")
    print(*numbers, sep=", ", end=".\n")
15652568149690.jpg105 Кб, 774x1033
79 1454035
>>53670
Не могу найти ответ, по-этому снова прошу помощи:
У меня 2 функции в скрипте одна выполняется без каких либо параметров типа foo(), для второй нужно задать 2 параметра типа bar(1, 15). Как мне в этом argparse настроить вывод скрипта так, чтобы при запуске скрипта я мог сам ввести: foo() либо bar() с любыми параметрами.
80 1454036
>>53829
В окружение виндоус добавил её после установки?
useless.png50 Кб, 577x666
81 1454040
>>51619 (OP)
Говорил жеж, ведь говорил! Нахуя этот автоматический перенос строк нужон вообще? Напомните как от этой хуйни избавиться?
82 1454041
>>53901
О, тоже сейчас по ней питона осваиваю. Отличная книга комплексная, для бомжей типа меня
83 1454043
>>54040
lines = file_object.read().splitlines() и никакого цикола
или
lines = [line.rstrip('\r\n') for line in file_object]
# Можно просто .rstrip(), если на пробелы на концах похуй, или даже вообще .strip().
84 1454046
>>54040
Не знаю, насколько это рационально, но можно добавлять к списку не line, а line[:-1].
85 1454048
>>54043
>>54046
А забейте, я опять хуйню наворотил, дальше автор рассказывает как сделать правильно:

>lines = file_object.readlines()

86 1454049
>>54048
Ну а вообще, этот перенос бесит, да
87 1454050
>>54041
На какой части ты? Поделишься своими программами, хочу сравнить их.
88 1454056
>>54050
На 10, работа с файлами.
Я не схоронял свои говноподелия, разве что когда ООП учил.
89 1454089
>>54056
Тогда почему бы не начать? Заглядывай в тред, я буду иногда писать.
90 1454091
>>54089
Пали свой фейковый втентакль
91 1454096
>>54091
>>54089
Может поебётесь еще?
92 1454097
>>54096
Как чето плохое
93 1454109
>>54091
У меня нет, может здесь все таки?
94 1454115
Чем отличается flask от django?
95 1454119
>>54115
Размером, батарейками, скоростью разработки.
Джанго для своих типов задач, фласк для своих.
96 1454122
>>54115
Минимальный фласк-проект в 3 строчки и 1 файл, джанго в 300 и 10, зато там гораздо меньше своего
надо изобретать, все уже придумано и реализовано за тебя.
97 1454131
Аноны, как вы переживаете код-ревью?
Сегодня был первый мой опыт(кода меня ревьюили). Желание разбить ебало мудаку зашкаливает.
Одинарные кавычки нада, патамуша
Ф-стринги плоха(нет, не из-за обратной совместимости)
Коментов Нада па-минимуму
98 1454140
>>54131
Знач смотри братан, советую две книги
Ирвин искусство правильно мыслить
Бочаров введение в логику
Когда осилишь, будешь разъебывать этих лохов тупа по аргументам и фактам, хуй кто тебе скажет ПАТАМУШТА Я ТАК КОЗАЛ, но тут есть одно но, ты тоже должен будешь аргументированно обосновывать свои решения, а для этого нужны знания в предметной области.
99 1454174
100 1454175
>>54131

> Аноны, как вы переживаете код-ревью?


Объясняю, почему ревьювер мудак.

> Одинарные кавычки нада, патамуша


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

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


Лолшто?

> Коментов


Если описывают очевидное или если можно было вынести кусок кода в функцию с docstring-ом, то да, такого по минимуму.
101 1454176
>>54175

>Одинарные для технических строк, двойные для человекочитаемых.


Нет, как договорились в проекте, так и будет
102 1454177
>>54176
Ну так если есть кодстайл, разговоры обо всем перечисленном бессмысленны.
103 1454178
>>54131
Почему ф стрингс плохо?

Мимо нубас
104 1454190
Писали ли вы на работе собственные простые шаблонизаторы запросов/ORM и с какими проблемами сталкивались? sqlalchemy уже наелся (Почему это говно считают хорошим? Только потому что лучше не завезли?). Хочу сделать обертку над asyncpg в собственном проекте и подумал над тем, стоит ли вообще этим заниматься.
105 1454206
>>54140

> тоже должен будешь аргументированно обосновывать свои решения


Это понятно, но нечего противопоставить неаргументированному наезду.
>>54175

> Если описывают очевидное


Угу, очевидно то пофиксил (уровня коменты на действия со стандартной либой). Но я люблю коментить и писать док-стринги к методам/функциям(соответственно кроме описания ещё и назначение переменных + примеры).

> Одинарные для технических строк, двойные для человекочитаемых


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

Ладно, спасибо, аноны.
106 1454207
>>54190

> Почему это говно считают хорошим?


N тредов назад было обсуждение, пришли к выводу что алхимия немного говно с такой же документацией.
Так же пришли к выводу что ДажнгоОРМ одна из лучших(правда скорость огорчает).
Так же не стоит забывать про относительно новую орм - PonyORM. В ней куча ещё недостатков, но её пилят активно.
Это по синхронным.
С асинхронщиной всё хуже и скуднее.

> стоит ли вообще этим заниматься


Определённо стоит, как минимум для себя, а как максимум - твой взгляд на орм может кому-то понравиться и "зайти", будут юзать и благодарить.
107 1454218
Питонисты, подскажите, насколько сложно в питоне реализовать "улучшалку" разрешения изображения? Может, есть какие-то готовые библиотеки для таких задач?
108 1454219
>>54174
Глянул минут 15 первую и ещё пару лекций в случайных местах.

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

Короче для тех, кто хоть немного умеет писать и в состоянии математические лекции слушать. Дальше может быть и содержательно, там какие-то техники программирования показаны, может много полезного есть, но это надо смотреть и вникать.
109 1454220
>>54218
Поясню: нужно из FullHD картинки сделать QHD.
Это вообще возможно?
110 1454221
>>54220
Для начала разберись с тем КАК это делается, а затем ты поймёшь как это можно сделать и какими инструментами.
Спойлер: нельзя.
111 1454225
Как синхронно выполнить корутину внутри init при условии уже запущенного лупа? Во время запуска приложения должен произойти коннект к одному сервису, а клиент к нему асинхронный.
112 1454226
>>54225
Подумал, что можно при запуске сделать корутину с инициализацией всего, дождаться ее исполнения, а потом приступить к обработке клиентских запросов, я правильно поступлю?
113 1454229
>>54226
Не понял, что у тебя за init, откуда ты что вызываешь.

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

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

После того, как ты сделаешь, твоя задача улетит в цикл и будет там обрабатываться. Единственная проблема, ты не сможешь дождаться её завершения.
114 1454233
>>54229
У меня есть инициализация класса, в атрибуты класса нужно засунуть асинхронный клиент, который вызывается только через await и начинать последующую работу только после установки соединения.
Думаю просто вынести установку соединения в отдельный асинхронный метод и вызывать его после инициализации класса.
115 1454238
>>54233
И есть ещё вариант сделать, как в этом клиенте. Асинхронная функция, которая возвращает объект, после установления конекта.
116 1454239
>>54238
Ты учти, что делать await ты можешь только внутри асинхронной функции или асинхронного, определённой через async def.

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

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

>Ты учти, что делать await ты можешь только внутри асинхронной функции или асинхронного, определённой через async def.


Я знаю это, но видел примеры синхронного запуска через run_until_complete в синхронной функции.

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



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

Первый вариант на пике был бы идеален, если бы инициализацию удалось бы провести в __init__, но он не работает.
118 1454266
>>53737
Кажется, у тебя тут дерево, а ты используешь словари. Просто напиши соответствующий класс, да и все. Ну или реши - действительно ли тебе нужен такой уровень вложенности.
120 1454270
>>54131
Либо тренируйся терпеть мудаков и выуживать только ценные замечания, либо ищи коллектив, в котором нет таких ьоксиков. Ну еще стоит разобраться в стиле кода компании и писать как все, потому что твой код потом поддерживать другим людям.

Хотя нападки на двойные кавычки и ф-стринги не понимаю.
121 1454282
>>53366
Спрашиваю чтобы еще раз подтвердить это. Что после 25 жизни нет.

Такой вопрос, кроме kivy и qpython есть что-нибудь чтобы для андроида писать?
122 1454291
>>54036
Проблема решена. Помимо системных переменных (как написано в книге), нужно добавить ещё и в переменные среды пользователя.
123 1454304
>>54291
Кстати, сам когда делал эти упражнения с зип архивами, то использовал архиватор которым пользовался. Попробуй так же сделать, во первых немного отойдешь в сторону от шаблона, плюс чтение сторонней документации и хоть какое-то разнообразие, что тоже плюс.
124 1454309
>>54206

>Это понятно, но нечего противопоставить неаргументированному наезду.


Есть. Скажи ему, что он пидор без аргументов, хули пасть открываешь? Пусть доказывает обратное и он пук среньк сделает и умрет.
125 1454324
>>53815
http:// или https:// не забыл перед юрл?
wtf.png74 Кб, 781x716
126 1454354
Почему? Что я делаю не так? Я жеж просто скопировал это из учебника
128 1454357
>>54356
Ну паааап
129 1454359
>>54174
Я смотрю сейчас, нравится. Не уверен насчёт результатов, но алгоритмы уровня квадратичных сортировок стали казаться хуйней на две строчки, а не чем-то сложным.
image.png461 Кб, 736x736
130 1454360
>>54357
Ты скопирал? Что ты скопировал?
blya.png87 Кб, 597x556
131 1454361
>>54360
Мам я опять обосрался, там же всё написано!

Надо отдохнуть, извините
132 1454385
>>54354
Проиграл в голосину. Что же ты делаешь, содомит?
133 1454393
>>54385
Бездумно копирую всякую хуйню из учебника в редактор, пытаюсь разобраться или не пытаюсь, пишу свой пример, лезу обратно в учебник читать текущую главу.
134 1454394
>>54393
И вообще, осталось освоить json, тестирование, и дальше пойдут главы с проектами! Скоро очень скоро кровь польется морем я смогу говнячкать свои говнопроекты!
135 1454395
Если есть скрипт, который в своей работе использует данные, которые берет из текстового файла(там файл строк на 1000), то не будет ли более рационально просто забить эти жанные в сам скрипт?
Желательно что б вы написали почему жа или нет
136 1454398
>>54395
Ну, если у тебя только один этот скрипт в проекте, то почему бы и не жа?
мимонуб
137 1454399
>>54395
данные берут из внешнего источника когда они меняются
иначе их можно захардкодить

короче надо в твой файл сто первую строку, всяко проще её добавить в файл чем править код скрипта
138 1454409
>>54393
Лучше рефлексируй хоть немного когда копируешь. Например, что ты ожидаешь получить от выражения "5 / 0"
139 1454414
>>54409
Нихуя я не ожидал, хотел заканчивать вообще - до этой части дошел порядком заебанный, уже нихуя не соображал думал, что за хуйня заместо кода, но хотелось таки разобраться перед тем как идти саморазвиваться в сериальчиках.
140 1454417
>>54414
Сейчас перечитываю и ору как пеликан

>>54354
>>54356
>>54357
>>54360
>>54361
>>54385
141 1454430
>>54395
Хардкодить с точки зрения кодирования всегда дурной стиль. С точки зрения построения гибкого приложения программист должен думать о возможности настройки, адаптации и т.п., для этого константы должны быть вынесены в отдельное места, по-возможности вне кода.

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

Но в целом всё-таки лучше максимально разделять логику и данные, нужно обоснование, чтобы это не делать.
142 1454440
>>54246
Посмотрел другие проекты, почти все делаеют второй вариант. Ну и хуй с ним.
143 1454443
>>54246
Первый скорее неправильный. Это совершенно синхронный вариант программы, когда ты в своём полностью синхронном коде хочешь вызвать какой-то асинхронный код синхронным способом. Возможно именно это тебе и нужно, конечно, но не уверен.

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

Самым разумным выглядит второй вариант. При этом ты можешь вызов в одну строчку укоротить, сделать
client = await MyClass().create_connect()
надо только чтобы create_connect возвращал self
144 1454459
>>51619 (OP)
Как в python вызвать документацию к модулю/команде?
145 1454504
>>54459
Предположу, что с помощью help().

мимонуб
146 1454567
>>51619 (OP)
Почему turtle.tracer(0,0) съедает последние несколько шагов в рисунке? Он же должен только скрывать прорисовку.
147 1454587
>>54354
Никогда не копируй текст из книги (форума, статьи и проч.) копипастом.
ВСЕГДА переписывай вручную. Серьёзно, анон. Заведи себе такую привычку. Это избавит тебе от МНОГИХ проблем в будущем.
148 1454591
>>54587
Код надо самому писать, а не переписывать. Ну точнее понять идею, а дальше уже самому писать.
149 1454594
>>54591
Копипастнуть из док нормально для теста, вот когда тебе надо самый первый пример получить, чтобы запустить и посмотреть, что это работает. Надо, чтобы было что-то, что руками можно почувствовать, потрогать, поломать после этого.

Вот как поймёшь, уже потом полезно всё удалить и самому написать, причём не переписывая из доки, а по памяти, по своему пониманию, может быть заглядывая в доку. И даже свой код стоит не копипастить, а заново написать, на этапе обучения. Несколько раз так проделаешь, и потом лучше чувствовать и помнить всё будешь, легче будет.
150 1454596
>>54414

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


А вот это зря. Не способен разобраться от усталости, так проспись и потом разберёшься, и совсем последнее в таком случае других вопросами долбить.
151 1454597
>>54359

> здесь нет у нас негров?


> все негры, присутствующие здесь - нобелевские лауреаты

152 1454603
>>54597
Based mipt
153 1454666
Тут недавно аноны упоминали какую-то книгу по джанго, не могу найти по поиску. Название то-ли джанго 2, то-ли джанго 2.0. Помню что один купил, а другой скачал ее. Был в книжном местном, ничего подобного не нашел по названию. Если кто знает, то скажите название и автора, а еще лучше файлик, если есть книги.
154 1454672
>>54666
Я знаю две книги популярные книги, где есть цифра 2
Two Scoops of Django
Django 2 by example
image.png4 Кб, 564x354
155 1454696
Аноны, есть пикрил, как закрасить закрытые контуры?
В 4 и в 2, к примеру.
Делаю блюром, но это немного не то и уродует результат.
156 1454803
>>54587
Так сначала код потирибонькать надо немного, потом уже выдумывать себе задачу и руками свою парашу говнякать, затем лезть обратно в учебник и дочитывать главу, после прочтения в конце главы задачки от автора решать или не решать, ведь я еще на первом этапе сам все сделол, ха!, тем более что в первом издании Эрика Мэттиса во всех примерах пробелы полностью проёбаны - нужно перелопачиать все копипасты с учебника
157 1454941
Здравствуйте, аноны. Решил начать изучать питон. Правда ли, что он очень простой и можно буквально за день набросать первый калькулятор?
А еще, что там на рынке с программистами на питоне происходит?
158 1454948
>>54941
если графический калькулятор то лучше джаваскрипт лол
ну там правда не все так просто если брать серии операций, переполнения экрана, большие и маленькие числа и все такое
159 1455006
Правда, что в вебмакакинг неохотно берут джунов с питоном?
160 1455014
>>54941
Ты вопрос задал в 3 ночи. Сейчас уже 3 дня.

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

>>54941

>А еще, что там на рынке с программистами на питоне происходит?


Программистом ты станешь через несколько лет но на самом деле не станешь
161 1455020
>>54948
Про калькулятор вообще образно было
>>55014

>Программистом ты станешь через несколько лет


У меня пока есть такая возможность

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


С чего бы это?
162 1455117
норм ide на андройд есть? если да то скажите какие
с меня как обычно
163 1455145
>>55117
Ну, qpython.
изображение.png134 Кб, 1600x900
164 1455169
Что случилось?Почему даже оишбки не выводит?
165 1455183
>>55169
Это у вас тут шутки такие?
166 1455186
>>55183
Я просто первую неделю только занимаюсь,потому не пойму где допустил ошибку,вроде табуляцию всю соблюдаю
167 1455190
>>55169
Посмотри на условие выхода из цикла. бля, переводи слова гуглом хотя бы и переменные на английском называй
168 1455203
>>55169
бля,я долбаеб
169 1455210
Часто замечаю, что вкатывальщики постоянно повторяют все буква в букву по туториалу. Т.е. если написано print('супердлинная строка'), то они напишут полностью всю эту строку внутри принта и.т.д. Это кажется мне странным ибо всегда просто вбивал рандомные 3 символа ибо какая разница что он выведет, если главным является сам факт вывода
170 1455237
Я тут по IDLE прикололся, всякую мелочь даже удобнее показалось писать. И как-то потихоньку VSCode чаще чем Sublime стал запускать. Но тут наверное 9 из 10 используют Pycharm или я не прав?
171 1455257
Сап, двач, только начал вкатываться, учусь по курсу МФТИ. Начал делать простенькие задачки, дошёл до этой:
Нарисуйте «бабочку» из окружностей. Используйте функцию, рисующую окружность.
Похоже я совсем даун. Код прикрепил.
172 1455259
>>55257
А у меня он повторяет две окружности без увеличения их радиуса.
image.png69 Кб, 585x415
173 1455260
У меня тут питон падает, если логгеру выставить уровень выше, чем у хендлера. Кто из нас двоих даун?
174 1455262
>>55259
ты в цикле в 0 "y" сбрасываешь каждый раз
175 1455265
>>55257
То должен был свою функцию для рисования окружности написать
176 1455276
>>55260
Я сам ответил на свой вопрос
eba.jpg483 Кб, 1745x821
DumbMan 177 1455277
Двощ, привет!
Чувствую себя ужасно тупым, сижу три часа и никак не могу решить задачу. Даже не знаю как подступиться.
Помогите решить, пожалуйста!
!.png146 Кб, 1111x762
178 1455279
Че за хуйня?
Установил питончик, но винда не обращается к нему через python
DumbMan 179 1455280
>>55277
Забыл написать, желательно на Python решить.
180 1455290
>>55279
Добавь свой питон в переменную среды PATH
9476562338423894.jpg98 Кб, 894x701
181 1455292
Сап. Анон, изучающий питон по Python Crash Course, снова в треде. И опять, как в первый раз, задачи из этой книги вводят в ступор. Я сомневаюсь в полной правильности моего решения, есть внутренне желание, что можно сделать лучше. Пока стараюсь не гуглить, а решать в соответствии с пройденным в книге материалом.

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

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

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

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

Спасибо.
182 1455295
>>55262
избавился от y, оставил только x.
Вынес x за пределы цикла. Все заработало.
183 1455299
>>55295
Тебе достаточно было просто y=0 за пределы цикла вынести
184 1455443
>>55020

> С чего бы это?


У тебя с математикой проблема.
185 1455519
186 1455566
>>55443
Странные ты, однако, выводы делаешь. Если к калькулятору так прицепился, то про него вообще образно написал
187 1455569
Сап, pr!

Я нуб, совсем.
Направьте, плес, мысль в правильную сторону.
Мне нужно для лабыотсортировать список с помощью одного из видов сортировок, но не просто отсортировать, а так, чтобы элементы списка начинающиеся на определенный символ не попадали в общую сортировку.
Алгоритм сортировки запилил самый простой - пузырьком.
Идея была в том, чтобы из общего списка сделать второй список. Отсортировать каждый список, а затем соединить в один.
Но как это сделать - не понимаю. Если делать срез, чтобы разбить общий список, то срез делается по элементу, а не первому символу элемента. Халп.
188 1455571
>>55569
filter()?
189 1455582
>>55571
Не используя ни методов, ни функций. Всё руками.
190 1455584
>>55569
А в чём проблема просто добавить в логику сравнений элементов пузырька обмен значений, если один из одной категории, а второй из другой?
191 1455589
>>55582
Я бы двойной for использовал. Один сортирует, а другой проверяет 1 букву в слове.
192 1455608
>>55584
>>55589
Кажется стало что то получаться:
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']
193 1455652
>>55569

> Отсортировать каждый список, а затем соединить в один.


Тупо быстрая сортировка - не?
194 1455658
>>55608
зачем тебе q тут? можно:
for q,w in enumerate(str):
if w >= 'p':
temps.append(w)
print(temps)
195 1455665
>>55658

>enumerate


>>55658
Тащемта от q действительно никакого толку не оказалось.
Добился целей лабы так писал выше - append'om. Так не разобрался как можно удалить из основного списка элементы начинающиеся не с 'p', то сделал второй список, в который вошли элементы, начинающиеся не с 'p'. Ну и объединил два списка: 'pidor', 'porebrik','aa','dd','dvach','grob'
Вот такой я говнокодер.
196 1455709
Насрал в тред
197 1455728
Такой вопрос. По Фласку знаю что не стоит на него время тратить и лучше сразу джанго читать есть какой-нибудь курс, похожий на укус питона?
198 1455747
>>55728
https://habr.com/ru/post/193242/
задавайте любые вопросы как ответ к этому посту, пока кушаю супчик, буду отвечать по мере знаний (можно даже очень тупые на ваш взгляд)
199 1455753
>>55709
В Джава треде слишком сложно объявить о том, что ты насрал
В Си-Сялп-треде можно насрать только с винды
В СПП-треде забыл очистить прошлую кучу говна и теперь негде срать
В ДЖС треде неправильно преобразовался тип и вместо того чтобы насрать, обоссался
В других тредах все настолько мертво, что срать там нет смысла
Удивлен как ты насрал в этом треде без конфликтов с прошлым говном и средой для сранья, поздравляю...
200 1455755
>>55747
Этот курс под питон 2.7 и фласк 0.9. Это не устарело? На 3 питоне можно будет это всё пройти?
201 1455758
>>55755
я додик, брат, вот за 2018
https://habr.com/ru/post/346306/
202 1455762
>>55237
Sublime 1 luv.
203 1455768
>>55237
vim для небольших файлов
PyCharm для крупных проектов
204 1455771
>>55237
PyCharm. Сам я новичок, но даже для себя нахожу много удобных фич и не вижу причин его не использовать.
205 1455782
>>55237
jupyter notebook
206 1455810
>>55762
Вот скажи мне брат саблимщик ты код как запускаешь? Сейчас сам через плагин repl в новой вкладке, ибо необходимо ручками значения передавать, а через стандартный билд код не дает, но этот репл жутко не нравится тем что вкладке генерит. Может ты мне какую альтернативу подскажешь, а то вскод пока приходится использовать, но там тоже не все радужно.
207 1455819
>>55762
А как трассировку делаешь? Через print лол?
208 1455820
Пиздец, первое же упражнение с черепахой из курса МФТИ нехило так заставило просраться (рисовать спираль там где нужно).
Если просто спираль нарисовать легко, то вот чтобы черепаха при движении еще и поворачивалась на заданный угол... ух, бля... пиздец.
209 1455918
>>55820
У меня тоже нормально не получилось, сделал с goto. Зато с goto это даже лучшее решение, потому что так чисто качественный проход по функции в полярных координатах. На розеттакоде тоже с гоуту сделано
210 1455928
>>55753
Так питон же, можно насрать всего одной командой!
211 1455943
>>55758
Спасибо, анон
212 1455944
>>55918
Я еще math использовал с тригонометрией. А ты через goto делал с поворотом черепашки?
213 1455946
>>55820
Что за хрень, дай ссылки тож просрусь
215 1455952
>>55948
Хуя ништяк, щас заботаю всю хуйню и на прямиком в гугл работать!
216 1455955
>>55944
Я тоже math использовал, да. Ну а как тригонометрию без него считать, свои функции для синуса и косинуса совсем не в тему писать при рисовании черепахой. Нет, goto никаких поворотов не делает и не должен, я же говорю, через поворот+форвард у меня тоже плохо получилось. Ну то есть какую-то спираль оно рисовало, но точно такую как через гото нет. А через гото на самом деле максимально правильно по логике вообще отрисовывания графиков функций.
217 1455965
Привет, аноны. Возникла проблема, в которой черт ногу сломит.

По одной хорошей книжке решил попробовать импортировать модуль командой 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 я настраивал, каталог нужный добавлял и модуль открывал так же оттуда.

Антуаны, есть предположения, что может быть не так?
218 1455975
>>55948
У тебя тоже контест не работает?
220 1455979
>>55978
Спасибо большое. Теперь другая проблема. Нагуглить не удалось, потому что я очень сонный сейчас
SyntaxError: EOL while scanning string literal
Уже слеши экранировать до тройных пытался. Моразм начался какой-то, а ему хоть бы хны
221 1455981
>>55979
Ты ждёшь, что я по ошибке просто угадаю что ты делал в своей программе?
Тебе придётся научиться гуглить или хотя бы нормально вопросы задавать
222 1455988
>>55981
Блин, прости. Вот так сделал, как было указано на пике 2
223 1455989
>>55988
На пике 1 то, что сделал я
224 1455991
>>55988
Кавычки закрой. И лучше возьми путь без кириллических символов и пробелов в названиях папок
225 1455992
>>55991
Вот же я тупой. Рассматривал путь и заметил незакрытые кавычки аккурат, как ты ответил. Но всё равно спасибо
226 1455999
>>55277
Посмотри в сторону defaultdict в модуле collections. Там можно создать словарь, который по любому не содержащемуся в нем ключу возвращает пустой список.
227 1456000
>>55975
Какой контест? Не понял тебя.
228 1456002
>>55992
Будь повнимательнее и не беги сразу на форум с картинками жаловаться на ошибку. Стыдно же.
230 1456071
>>56002

>Будь повнимательнее и не беги сразу на форум с картинками жаловаться на ошибку. Стыдно же.


Да, ты прав. Еще раз спасибо
231 1456095
Как ограничить ввод по количеству символов?
232 1456151
>>56095
If len (input("введите что-нибудь: ")) < 10:

мимо нуб
233 1456158
>>56151
Может че попроще есть?
234 1456165
Привет, анон. Я прочитал гайд, прочитал гайд на хабре, и так и не понял, с чего начать. Гайд датируется 2012 годом, поэтому я как-то сомневаюсь, что стоит строить обучение именно по нему. Есть какие-нибудь актуальные гайды, или просто советы, с чего вообще стоит начинать в 2019 году? Опыта программирования за плечами нет вообще, за исключением ебучего паскаля лет 13 назад в школе. Английского тоже пока не знаю, в процессе изучения, поэтому лучше бы материалы на русском языке. Был бы очень признателен.
235 1456168
>>56165
Эрик Мэттис хорош - комплексно, доступно, заебись
image.png51 Кб, 612x593
236 1456277
Немного тестовых анону.
1379334067812.png113 Кб, 400x400
238 1456286
Господа, не так давно вкатился в пайтон, изучаю как могу, и тут недавно наткнулся на возможность рулить пайтоном GPIO у малинки, и на MicroPython, загорелся идеей запилить умную комнату на пайтон с нуля, суть какова:
-Малинка будет сервером MQTT и обработки запросов - на малинке запилю голосовой ассистанс как в видосе хаудихо с изменениями для управления умными-релейками голосом
-Умные релейки и датчики запилю на ESP8266 при помощи MicroPython, будут обмениваться данными с малинкой по MQTT
-Управление с девайсов в ручную запилю в виде Python-программы на Kivy скомпилированой под Windows, Android и Macos, которая будет общаться с малинкой опять же по MQTT веб интерфейс не хочу - ненавижу веб технологии

Всё верно запланировал?
239 1456287
>>56286
Норм.
Глянь в сторону zerroMQ
240 1456291
>>56287
Это как аналог MQTT? Я просто пока плаваю в теме, не так давно начал вникать, и информации пока слишком много. Просто если я верно понял - готовые датчики всяких сяомь используют MQTT, и потому я думал чтобы в будущем иметь возможность работать с ними - пробовать MQTT не пинайте если я что-то не так понял или сказал, луше объясните
241 1456296
>>56291
Я хз что используют датчики сяом твоих, но ZerroMQ это MQ, только на сокетах(или типа того, давно читал).
242 1456298
>>56296
ладно, спасибо, поинтересуюсь что это такое.
243 1456300
>>56158
Ты имеешь в виду ограничение, выплывающее уже после ввода и нажатия Enter или же не дающее возможность ввести больше N символов ещё до нажатия?
image.png256 Кб, 1920x1200
sage 244 1456378
>>51619 (OP)
Двач, подскажи, не устанавливается pyinstaller
Переустановка и добавление в ass не помогает
sage 245 1456385
>>56378
Теперь еще и PyCharm перестал видеть интерпретатор, горит красным при выборе
246 1456388
>>56300
Вот человек не удосужился даже вопрос сформулировать, и ты своим желанием помочь как бы показываешь этим пидорасам, что они все делают правильно.
247 1456391
>>56385
рекомендовано ставить пайтон в директорию без кирилицы. Переделывай. Это раз. Два - в пайшарме потом в настройках проекта выберешь путь к интерпретатору
248 1456413
>>56388
Не очень понял, о чём и к чему ты это. Я сам в первую очередь подумал о заранее ограниченном поле для ввода текста. Это задача всё же поинтереснее, чем написать банальные if и else в нужном месте кода.
249 1456515
>>51619 (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

Нужно как-то переписать эту срань, чтоб интерфейс геттеров остался прежним, но на каждый новый атрибут не пришлось создавать новый геттер. Два дня ебусь, даже в метаклассы полез, но это какой-то спидорак, есть у кого идеи?
250 1456521
>>56277
Я чот нихуя не могу пример понять.
251 1456560
>>56277
>>56279
И за сколько это надо сделать?
252 1456566
>>56515
Хм, зачем это тебе? Переопределить __getattribute__ демал?
253 1456567
>>56566
*думал?
254 1456569
>>56515
Объясни нубасу поподробнее что ты хочешь рили тупо подумать, а то я нихуя не понял, чего ты хочешь.
У тебя класс с 3 статик-переменными, тремя геттерами для инстансев и что тут переписывать

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


Ну ебни через __dict__ чтоле
255 1456584
>>56521
Перевожу на русский: у тебя был словарь, потом его как-то изменили. Нужно вывести только изменения. Не совсем понятно, то ли нужно сравнивать именно два разных словаря (задание), то ли нужно написать нечто, ведущее себя как словарь, но запоминающее изменения (примеры). В любом случае пишется за 20 минут без тестов. Тесты там в хуй не вперлись.
256 1456597
>>56560
А хуй знает, я, наверное не буду делать, т.к. с ходу не смог придумать решение для первого, а ебать мозги ради галеры обоссаной? Нахуй надо.
>>56584

> то ли нужно сравнивать именно два разных словаря (задание)


This

> В любом случае пишется за 20 минут


Нихуясебе. Ссылочку на вакансию дать? Зааплаешься.
257 1456659
>>56515
Ну вот теме метаклассик (но такое лучше сделать просто в init класса, зачем тут мета?)
https://ideone.com/OcU8Uu
sage 258 1456678
>>56597

> This


Никак не понять из текста. Есть пример, в нем есть только data, который модифицируют и res, в котором должен быть результат. Что с чем диффать?

> с ходу не смог придумать решение для первого


Могут появиться новые ключи (можно set(dict2) - set(dict1)), могут удалиться, могут измениться значения для ключей. Для каждого общего ключа: если типы различны, то и значения однозначно различны; если тип словарь, рекурсивно сверяем; иначе тупо сверяем значения. Плюс-минус придумывем, что делать удаленными ключами. Десять строк, нахуй там юнит-тесты и КЛАСС, я понять никогда не смогу.
259 1456683
>>56678

> Никак не понять из текста


Согласен, я написал, переспросил.

> Десять строк, нахуй там юнит-тесты и КЛАСС, я понять никогда не смогу.


Звучит неплохо идея. Тут тестовое для проверки того, как человек пишет код.
Но суки ебаные блять, нахуя я вам везде даю ссылку на свой гит? Вы блять зайдите и посмотрите, дауны. Извиняюсь, накипело.
image.png29 Кб, 690x243
260 1456684
1566251104448.jpeg109 Кб, 1058x311
261 1456719
Сап, как правильно перевести это предложение? Чёт grunt сомнения сеет, о правильности моего перевода. Спасибо.
sage 262 1456724
>>56719
Возвращаемые значения позволяют тебе засунуть большую часть грязной работы в функции, тем самым упростив основную часть программы.
263 1456728
Господа, поясните мне, работяге. Думаю учиться на курсах вроде гигбрейнс(год 144к) или скиллфактори(9 месяцев, 60к)
https://skillfactory.ru/python-for-web-developers
Эти предлагают фулстак пайтон
https://geekbrains.ru/geek_university/python
а здесь вроде того же самого, только ?глубже?

Расскажите, насколько это рабочая схема? Основная работа у меня даже не на компьютерея работяга, это не шутка, поэтому не стоит брызгать слюной, мол ну я и долбоёб, я понимаю, что я просто не смогу на каких-то волевых сам приходить, искать и учить какую-то инфу и решать задания, здесь будет программа, которую компетентные(компетентнее меня) люди собрали. Ну, собстна, задавайте ваши ответы
Перепостил из ньюфаг-треда, он мертв
264 1456741
>>56728
Топ тема гикбрейнс твое гарантированное будущее.
265 1456743
Аноны, помогите разобраться с 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 указать устройство вывода? Я не вижу этого в документации
20190820040124.jpg3 Мб, 2560x1920
266 1456744
>>56743
А, забыл пикрил фото, потому что стандартный файлменеджер расбиана не имеет доступа к флешке, и разбираться с этим я не хочу сейчас, а удалённый рабочий стол пока не настраивал
267 1456767
>>56741
Ну зачем так-то, мог был по-человечески сказать.
268 1456772
>>56728
Я вот заводо быдло за 30. Пытаюсь выучить питон уже не первый год (7-8 лет время от времени читаю книжки по нему), но в этот раз основательно взялся и последний месяц стабильно трачу понемногу времени на него.
В начале года ушел с завода. А дальше начался пиздец. Сейчас вот не могу обратно устроиться в туже компанию.
За это время прошел курсы парикмахера за те же 60к. Скажу что это была самая бесполезная трата в моей жизни и лучше бы на курсы питона пошел. В итоге собираюсь как накоплю денег пройти какие-нибудь дешманские, но когда это будет не известно, чую что минимум через год.
269 1456773
>>56772
7 лет? Это троллинг тупостью?
270 1456776
>>56773
Это не троллинг тупостью, это то что основы я знаю, но читать начинал книги для тех кто 0 в этом и теорию быстро пробегал и решал задачки, чтобы просто не забыть язык. И да, у меня были перерывы большие, плюс пхп пробовал по совету, но на него быстро забил, ибо кроме того что он меня люто бесил, ничего мне не дал, легче на питоне что-то написать. Да и вообще, яп я использовал для конкретных целей и базы было выше крыши, плюс регулярные выражения покрывали все мои потребности. А тут прям захотелось до уровня джуна выучить, вот и взялся. Сейчас потихоньку фласк начал тыркать.
271 1456777
>>56566
Я задачу в пример привёл просто, там методы сильно сложнее геттеров на самом деле. Зря слово это использовал в формулировке, сбил с толку видимо.
>>56659
Спасибо, думаю сработает. Метакласс в отличие от конструктора можно будет в нескольких классах использовать, что мне и надо.
>>56569
Нужно механизм, который будет создавать однотипные методы на каждый статический атрибут класса.
272 1456802
>>56777

> Метакласс в отличие от конструктора можно будет в нескольких классах использовать


А можно просто декоратор запилить с тем же самым содержимым.
273 1456806
Двач, почему, если в Питоне динамическая типизация, следующий код не работает:
print (3 + 'how')
274 1456807
>>56806
Но работает print(3)
275 1456810
>>56378
Ну Степа, активируй винду уже
276 1456812
>>56806
>>56807
Потому что ты к числу прибавляешь строку, не? Как ты ему предлагаешь строку в инт перевести?
277 1456827
>>56806
Гугли про сильную типизацию. Типизация в питоне не только динамическая.
278 1456833
>>56827

> сильную типизацию


'хуй' * 3, ага.
float(1) + int(1), ага.
Не существует никакой сильной типизации в чистом виде. Нигде. То, что оно у >>56806 не работает, означает лишь то, что так задумано, потому что приводит к путаниец. Была бы возможность переопределять методы у встроенных классов - можно было бы "починить" сломать?.
279 1456841
>>56806
print (str(3) + " how")
280 1456848
>>56833
Всё-таки это достаточно сильная. На языке с совсем сильной типизацией просто невозможно будет писать, слишком много лишних преобразований.

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

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

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

'хуй' * 3 - это не изменение типов, это специально определённая орерация умножения для строки. В принципе ты можешь переопределять операторы для класса, чтобы "my_class + 3" имело смысл. Но тут всё-таки явное определение оператора, это согласуется с принципами "сильной типизации".
281 1456863
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

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

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

Помогите
282 1456869
>>56863
Похоже, cur.fetchone() возвращает кортеж, что, в принципе, логично. Как вариант - присваивать str(cur.fetchone()[0]) вместо str(cur.fetchone()).
283 1456870
>>56869

мимонуб
284 1456874
>>56869
Снимай портки, доставай хуй, я у тебя отсосу. Спасибо анончик, выручил пиздец как.
285 1456896
>>56848

> достаточно сильная


Лол. Давай в децибелах измерять?

> Но тут всё-таки явное определение оператора, это согласуется с принципами "сильной типизации".


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

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

> ты не можешь написать " " + my_class


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

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


Потому что встроенные типы недописаны (намеренно, да). Но это проблема касается встроенных типов, а не языка.
sage 286 1456943
Подскажите, почему умножая два числа (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/...
287 1456947
>>56943
Потому что флоат какая-то хуита с непонятной точность. Я так понял чтоб таких проблем не иметь - проще использовать:
from decimal import Decimal
для не целых чисел.
288 1456948
>>56947
>>56943
И да, я тоже ньюфаг, пните если не прав.
289 1456963
>>56947
Ну не хуета, а способ хранения вещественных чисел.
Про идею можешь почитать https://neerc.ifmo.ru/wiki/index.php?title=Представление_вещественных_чисел
Вообще эта информация может пригодиться только на интервью и байтоебам, так что не ебись и используй round
290 1457007
>>56963

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


Когда работаешь с деньгами, то это очень важно, у нас float почти не используется, все числа либо в int или обернуты в Decimal
291 1457014
>>56943
Потому что числа в компьютере хранятся в двоичной системе исчисления, аллё. Неужели это для тебя новость? Наверняка нет.
Тогда тебе будет просто понять ответ: в двоичной системе все float'ы должны иметь конечно представление, типа "1101.1101010010011". Но не всякое число, имеющее конечное десятичное представление, имеет и конечное двоичное представление. Например, "0.2" в десятично системе - это бесконечная циклическая дробь "0.00110011001..." ("0.(0011)"), которая, разумеется, округляется компьютером до конечного числа знаков после запятой. И если это округлённое число потом ты пытаешься записать в десятичной форме, то выйдет "0.200000000000000011102230246251565404236316680908203125".
Так происходит не со всеми числами, конечно. Например, "0.5" в двоичном виде это просто "0.1", и преобразование туда-обратно происходит без округлений.
Можешь сам поиграться вот тут https://www.exploringbinary.com/floating-point-converter/
sage 292 1457022
>>56947
>>57014
Понял, принял
293 1457043
>>56728
тоже думал поучиться на скилфактори,
не могу переступить порог "джуна", на работе делаю что-то с текстовыми данными ,
но написать что-то серьезное вроде вебприложения не могу
294 1457050
Правильно ли я понял,что по PEP 8 нужно вместо табуляции пользоваться пробелами?
1. Нахуй такое требование? Чем табы не угодили?
2. Всегда пользовался табуляцией равной 4 пробелам. Сейчас одну табуляцию заменил на четыре пробела (саблайм автоматом меняет). Всё правильно сделал?
295 1457079
>>57050
2 да
296 1457083
>>57079
Спасибо. Только вот непонятно, нахуй они так за пробелы держаться?
297 1457089
>>57083
Ну как бы это основа питона, пробелами выделяются блоки, что тут обсуждать.
298 1457090
>>57089
Не, ты не понял. Выделение блоками понятно, но почему в PEP 8 рекомендуют пользоваться богомерзкими пробелами для выделения этих блоков, а не православными табулярами?
299 1457096
>>57090
Что тебе мешает в твоём любимом редакторе настроить замену табуляшки пробелами?
1.PNG17 Кб, 449x549
300 1457097
>>56777

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


Ну статические переменные, как я предложил можно высосать из __dict__, а "однотипные методы" - какая-нибудь хуйня с замыканием, ленивые лямбды не подойдут.
301 1457100
>>56777
Можешь ещё написать декоратор для класса. Метаклассы лучше использовать, когда декоратора недостаточно
302 1457103
>>57096
Блять, ты тралишь? Я так и сделал. Вопрос не во мне, а в том почему по PEP 8 именно пробелы рекомендуются.
303 1457108
Я ТУПОЙ И НЕ ПОНИМАЮ

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

Помогите, пожалуйста.
304 1457110
>>57103
Чтобы у всех было одинаково. В зависимости от машин и редакторов табы могут быть разные.
305 1457113
>>57108
Чавооо блядь
306 1457114
>>57108
Читай внимательно, баран. "Если бы". Глобальная переменная видна во всём коде, локальная - только в теле функции (совпадающее название перекрывает глобальную).
307 1457115
>>57108
сначала базу почитай. у тебя в голове так нихуя не структурируются знания. открвай литературу и читай, блять
308 1457117
>>57108
Не слушай анонов свыше. Это просто херовый пример, который к тому же неверен.
image.png16 Кб, 957x169
309 1457118
>>57113
>>57114

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

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


Я это понимаю. Не понимаю откуда берется эта пятерка.
310 1457119
>>57117
выше* фикс лол
311 1457125
>>57117
Получается, автор учебника просто облажался и рандомно написал значение? Офигенно. Пол часа мучаюсь, пытаюсь разобраться.
Если так, то спасибо.
312 1457130
>>57118
В функции последнее значение i будет равно пяти, после чего функция завершится.
313 1457132
>>57125
Ну разберём по частям автором написанное.

>"Если бы"


Ну обойдём это ограничение c помощью массива
https://repl.it/repls/GrossVerticalBrace
Ой, нихуя не сломалось.... как же так. Автор не знает как range работает или что?
И да, можно снять комментирование и убедиться, что это один массив.

На пример получше.
https://repl.it/repls/LightgrayTintedTrigger
image.png33 Кб, 705x450
314 1457139
>>57108
Пример действительно некорректный и ошибочный, так как в этом случае даже если бы глобальная переменная изменялась бы ВНУТРИ функции, результат был бы аналогичным, то есть:
1!=1
2!=2
3!=6
...
итд, так как значения глобальной и локальной i тут совпадают.
На скрине я сделал i global, автор лох.
315 1457143
>>57125
Да, автор очевидно облажался. Может он сам пару лет назад в программирование с нуля вкатывался.

При желании можно проверить, просто объявить i как global. Но и так очевидно.
316 1457144
Мда... я про global забыл... Вот что бывает когда не вспоминаешь о своём питоне годами.
image.png368 Кб, 604x604
317 1457146
Благодарю всех за помощь, был приятно удивлён, что тут есть люди.
318 1457150
>>57146
Внимание анекдот
i = ++i + ++i
Спасибо за внимание
319 1457151
В питоне есть абстрактные атрибуты класса?
320 1457160
>>56772

> Пытаюсь выучить питон уже не первый год (7-8 лет время от времени читаю книжки по нему)


Тьфу, блядь, я этот ёбаный Пихон за 2 часа выучил, прочитав документацию, этот дебил за 8 лет не смог.
321 1457164
>>51619 (OP)
Я тут разные сортировки реализовываю, и мне нужно передавать в функцию список и индекс последнего элемента, самое простое(#1), передать аргументом по умолчанию какое-то левое число, с которым функция потом точно не вызовется рекурсивно, это работает.
Но препод показывал фишку(#2), когда по умолчанию мы даём None, а потом, ну вы поняли: https://ideone.com/y3wk3e
Вот второй способ у меня вызывает превышение глубины рекурсии, что я делаю не так?
Вот весь код со вторым способом:
https://ideone.com/Us9fv4
322 1457167
>>57164
right can be 0
323 1457168
>>57167
Бля, я понял, спасибо.
324 1457171
Ну что, парни, я еще раз подумал, неужели это так хуево на годовом курсе сидеть?
Я не молодой гений, который с 15 ковыряется, у нас на информатике делали в штмл хелоу ворд.
Поговорите, пожалуйста, со мной
Я готов учиться так же сильно, как я ненавижу сейчас то, чем занимаюсь.
325 1457172
>>57171

>молодой гений, который с 15 ковыряется


Не сыы, у них на олимпиадах горит с тех кто занимается с <=10.
326 1457173
>>57171
Читаешь книги, сначала по пистону, потом по жс, потом по джанге + какой-нибудь асинхронный фреймворк и наконец реакт.

Книг дохуища, курсы нахуй не нужны.
327 1457193
>>57171
Представь, что ты хочешь пойти переводчиком работать, переводить какие-то документы на немецкий язык. А сам ты пока только шайсе, ханде хох и гитлер капут знаешь. Цель реальна, но путь долог.
328 1457237
Аноны подскажите. Следующий код падает с ошибкой.
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.

Что делать?
329 1457241
Аноны, есть несколько приватных методов внутри класса, которые не изменяют и не дергают данные из self и pycharm предлагает объявить их статическими, но я читал, что статические методы это обычный неймспейс внутри класса, их сделали по ошибке и вообще их использование это плохая практика.
Что делать? Объявить их классметодами или просто отключить их детект в инспекторе пайчарма?
image.png2 Кб, 479x23
sage 330 1457255
Подскажите, пытаюсь добавить строку матрицы numpy, но не напрямую, а через вычисленный элемент.
Выглядит это так:
st = 0,0,0
a = np.column_stack([a, [ st ]])
Пытался и через format, выдает ошибку. При этом если вручную забить 0,0,0 то никаких проблем нет.
331 1457268
>>57241

> которые не изменяют и не дергают данные из self


> Что делать?


Значит это не методы. Убери свои функции нахуй из класса, это тебе не жаба.
332 1457270
>>57268
Они вне контекста класса юзаться никогда не будут, я просто разделил большую функцию и вынес для удобства
333 1457276
>>57270
И, тем не менее - зачем им быть в классе?
Это же питон - сделай просто функции в этом файле, рядом с классом.
334 1457279
>>57268
Сделай статическими, почему нет?

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

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

ClassB:
@staticmethod
do_some_work()

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

Физически статики всё-таки чуть другие, это не декоратор в привычном понимании, там своя реализация в интерпретаторе для них.
335 1457306
>>51619 (OP)
Сап

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

Напишите стоит ли его учить в моем случае и почему?
336 1457315
>>57306
В твоём случае не стоит. В анализе данных всего два наиболее употребимых языка (ну ещё для первичного анализа часто бывает удобен Excel/Power BI) это R и Python. Эту информацию ты бы смог извлечь за 20 минут гугления. Далее легко можно было бы почитать характеристики каждого из них и выбрать тот который тебе больше подходит.
337 1457320
>>57255

>матрицы


Матрица же это массив массивов? Вангую, проебал где-то скобки.
Мимонюфаг
338 1457326
>>57315
Долбоеб тупой. Хуистики может еще почитать?
Р насколько я понял он какой то ущербный, типа полуязык.
А Питон уже якобы прекратили поддерживать.

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

если ты долбает то можешь не отвечать
339 1457350
>>57326

>Р насколько я понял он какой то ущербный, типа полуязык.


>А Питон уже якобы прекратили поддерживать.



Знаешь что, а наверняка ты говна, тупая жирная зелень.
340 1457378
>>57350
Типичная русня
советовать могут только за бабло или из-за страха

народ-шлюха
341 1457393
Хуя агрессивный залетышь какой!
342 1457394
>>57237
Тебе наверное кажется что это очень остроумно и смешно, но это не так
343 1457395
>>57007
Ты конечно прав, я подразумевал, что вопрос не касается коммерческой разработки. Если ты занимаешься коммерческой разработкой и задаешь подобные вопросы здесь, то у меня очень плохие новости для твоего работодателя.
344 1457397
>>57395
Я вообще мимо проходил
345 1457399
>>57279

> А вот так >>57276 делать скорее всего не надо.


Почитай, например, код стандартной библиотеки. Открываем случайный: zipfile.py. Видим: def _strip_extra, def _EndRecData, def _EndRecData64, которые используются классом ZipFile. Как же так? Почему они не статические методы? Правильно, потому что это писали на питоне, а ООП-шизики, набижавшие из Java, до них еще не добрались.
346 1457421
Вечер в хату. Работаю в офисе, недавно в мои обязанности вошла индивидуальная рассылка вручную неких файлов на фиксированный список адресов. При обычной рассылке всё это улетит в спам. Хочу написать скрипт, автоматизирующий процесс, но перед этим поясните, пожалуйста, несколько моментов:
Есть ли риск, что меня пидорнут с подачи какого-нибудь Санька из айти отдела, который задетектит работу скрипта? Мол, мутный софт, может быть я корпоративный шпион-диверсант, хуё-моё
Какие подводные при использовании smtplib с почтовым сервером компании?
Есть ли реальные угрозы безопасности рабочей почты?
347 1457454
>>57421
Если ты локально на своем компе будешь рассылать письма через скрипт на питоне - заметить это будет невозможно, так как отправка не будет отличаться от отправки вручную. Если совсем параноик - сделай паузу между отправкой писем на случайное время.
Подводных нет, опять же отправка через библиотеку и через почтовый клиент (который так же использует кем-то написанную библиотеку, а может даже smtplib но не думаю что ты его используешь).
Угроз нет, если ты случайно в список почт на отправки, не добавишь почту шпиона или там у кого-то не появится доступа к твоему компьютеру, но это проблема не скрипта, это может произойти и без него.
348 1457467
>>57421

> Есть ли реальные угрозы безопасности рабочей почты?


Будешь рассылать без вызова starttls() - будут тебе реальные угрозы безопасности.
349 1457522
>>57326

>А Питон уже якобы прекратили поддерживать.


Не используй питон, тебе не нужно, ты даже элементарную информацию найти не в состоянии. Попробуй себя в специальности продавец-консультант. Или менеджер по продажам. Там как раз важно уметь поболтать.
350 1457533
>>57399

>Видим: def _strip_extra, def _EndRecData, def _EndRecData64, которые используются классом ZipFile. Как же так? Почему они не статические методы?


Потому что эти функции используются в нескольких классах и в других функциях, которые вне классов.

Код должен быть в первую очередь корректно офомлен с точки зрения логики. То есть если у тебя метод явно по логике связан с классом, то его и надо оставлять в классе и делать статическим, если не привязан к контексту. Если же он делает какую-то общую операцию, не связанную с классом, то разумно выносить из класса.
351 1457564
>>57533
Ты можешь привести пример операции, "связанной с классом", которая была бы достаточно целостной для вынесения в отдельный кусок кода, но при этом не требовала бы для выполнения значений экземпляров класса?
А то общие слова, не понятно, о чём конкретно речь.
image.png112 Кб, 921x524
352 1457573
Важная инфа насчет глобальным и локальных переменных, затрагивающая вчерашнюю проблему.
353 1457608
>>57533
https://docs.python.org/3/faq/programming.html#how-do-i-create-static-class-data-and-static-class-methods Крайне рекомендуется не кричать "аааа, @staticmethod", а дочитать до конца.
354 1457642
<strong>b</strong>
image.png60 Кб, 975x505
355 1457711
exe сразу вылетает, создана с помощью pyinstaller
В ней использую модуль numexp и один свой
В чем проблема?
356 1457728
>>57711
Если тебе надо сконвертить софтину или софтину с PyQt в exe - используй nuitka.

nuitka --standalone --windows-disable-console --plugin-enable=qt-plugins --windows-icon="c:\icon.ico" --remove-output "c:\test.py"
14322808046631.jpg44 Кб, 499x430
357 1457731
аноны, подскажите пожалуйста,

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 - этот модуль у меня даже не устанавливается. Есть какие-то ещё варианты?
358 1457799
>>57711
>>57728
nuitka создает папку, мне же нужен один файл exe
Что за ошибка с numpy? Он даже не используется. Установлена последняя версия numpy
359 1457811
>>57799
Нашел решение. В начале кода необходимо добавить
import numpy.random.common
import numpy.random.bounded_integers
import numpy.random.entropy

Это баг numpy, говорят в следующей версии исправят
360 1457842
>>57454
>>57467
Спасибо
361 1457855
>>57522
Пошел нахуй русак ебаный. Чтоб тебя и твою семью менты изнасиловали
362 1457875
>>57306

>Но нужно срочно блять учить какой то язык погромирования


Очередной колхозник подумал, что будет спустя месяц получать миллиарды в наносекунду. Кинул тебе за щеку манька, ты не то кодить, ты писать без "блять" как междометие не можешь. Теперь открывай рот, разрешаю.
изображение.png32 Кб, 371x321
363 1457879
>>57255
У меня все работает. Что конкретно тебе надо? Если добавить именно строку, а не столбец, то нужен row_stack, а не column_stack, и в любом случае должны быть подходящие друг другу размерности аргументов.
364 1457911
>>57875
Тупая шлюха кто тебе сказал что я работать буду прогреем???
Мне это нужно чтоб в США приняли в магистратуру на бизнес аналитика.
Там одно из требований - знание ЛЮБОГО языка программирования на НАЧАЛЬНОМ уровне.
365 1457913
Python'ом могу пользоваться только версии 3.4.2, pip не хочет обновляться до последней версии, а numpy/scipy/mathplotlib не хотят устанавливаться при моём большом желании ими пользоваться. Есть вариант установить старые версии библиотек?
366 1457936
>>57913
Поставь анаконду просто
367 1457947
>>57911
Да кто тебя туда примет, манька. Ты с таким отношением к людям будешь нахуй послан в самое, что ни на есть ближайшее время. Приказываю гавкать дальше, чмоха.
368 1457959
>>57911

>хочет свалить в США


>не может прогуглить в два клика инфу

369 1457960
>>57913

>Python'ом могу пользоваться только версии 3.4.2


А что мешает поставить свежий?

> Есть вариант установить старые версии библиотек?


Конечно. Можно прямо указывать версию пакета в форме <имя_пакета>==<номер_версии>, например, pip install MySQL_python==1.2.2. У pip есть много команд и ключей к ним, в том числе, например, --python-version для, внезпно, версии питона, для которого надо искать пакеты. Кроме того, на сайтах проектов обычно доступны и предыдущие версии проекта.
370 1457967
>>57936
Спасибо, учту.

>>57960

>А что мешает поставить свежий?


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

Так или иначе, спасибо за помощь. Я нашёл нужную мне версию и всё установилось без проблем.
371 1457977
>>57959
что блять гуглить? шизоид
>>57947

>Ты с таким отношением к людям


ты можешь блять 5мин побыть не русней вшивой а помочь человеку с которым у тебя нет отношений??? Или ты блять и на дваче отвечаешь только по блату и только своим???
372 1458047
Допустим, я запустил приложение с помощью os.startfile('C:\\...\\program.exe'). Есть способы определить положение окна этого приложения на экране?
image.png106 Кб, 1479x406
373 1458058
Питонач, как мне засунуть в переменную выделенный фрагмент? Голова уже не варит, нужно срочно.
374 1458063
>>58047

> определить положение окна этого приложения на экране


Ты можешь дергать Windows API через ctypes. EnumThreadWindows/FindWindow, GetWindowPos, вот это все.
375 1458064
>>58058
variable = 'https://sun9-42.userapi.com/...' ну ты понел.
376 1458066
>>58064
хуиту написал. У меня есть json

то есть надо сделать как-то так a = s.json()
print (a["response"]....) итд. Помогите анону
377 1458068
>>58058
Не понял, в чём проблема?
a = sizes[5][url]
378 1458069
>>58068
a = sizes[5]['url']
379 1458081
>>57977
Этот тот самый шизик-мелкобуква, который срёт в каждом треде, расходимся.
380 1458158
Допустим, у меня есть скрипт, который смотрит сводки погоды на каком-нибудь сайте раз в час. Какие у меня есть варианты для организации его постоянной работы на продолжительный срок, помимо держания комплюктера включенным 24/7?
381 1458159
>>57306
Учи, он простой, справишься быстро, раз уж тебе не нужны глубокие знания.
382 1458200
Как грамотно исправить эту ситацию со словарём, чтобы не нужно было постоянно копию словаря создавать?

https://pastebin.com/PcXuF8YK
383 1458214
>>58200

Какую ситуацию? У тебя меняется переменная класса, все логично. Объясни подробнее, чего ты хочешь долбиться?
384 1458216
>>58158

Запуск на сервере, прости госпади?
385 1458218
>>58214
У меня получается два экземпляра класса, но при смене в одном из экземпляров значения в словаре, значение меняется и во втором. Мне нужно чтобы такого не было.
Вроде как такое происходит потому что оба словаря ссылаются на одну область со значением
386 1458223
>>58218

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

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

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

https://pastebin.com/e0a0dJEn

Или для тебя принципиально важно, что бы создавался один объект класса Test, на который ссылались разные объекты класса Test_main, но при этом, каждому из них был доступен отдельный атрибут test_dict?
387 1458232
>>58223

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


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

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


Вернусь с обеда попробую так переписать, вроде как это именно то что нужно.

> Или для тебя принципиально важно, что бы создавался один объект класса Test, на который ссылались разные объекты класса Test_main, но при этом, каждому из них был доступен отдельный атрибут test_dict?


Мне наоборот нужно чтобы для каждого класса Test_main создавался свой Test, так как в моем говнокоде он представляет собой инвентарь.
388 1458235
>>58232

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

Я и сам думаю начать на pygame пилить что-нибудь.
389 1458238
>>58235
Я больше с целью нормально понять ООП, чем получить готовую игру.

А что думаешь? Если время есть пили, чому нет, может годное что выйдет.
390 1458247
>>58238

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

Вот и получается, что цель как-то не оправдывает средства.
391 1458253
>>58247
Думаю строчка в резюме "сделал игру" не такая уж и плохая вещь, тем более если код хороший будет
392 1458271
>>58158
На малинке/elm8266 крутить?
393 1458278
>>58216
Подскажи, в какую сторону искать. Есть какие-нибудь бесплатные варианты?
394 1458280
>>58271
Думал про это, но как то крутовато ради моих мелких задач
395 1458287
>>58280
Так а чё крутовато? На малинке потом умный дом сообразишь, а elm8266 стоит 200 рублей - заодно майкропайтон поковырять можно
396 1458309
>>58223
Приехали. Оно так и сделано, но один хуй моб дает мне пизды мечом, который я только что выдал игроку
task82[1].png6 Кб, 1060x220
397 1458358
Закрасить клетки. Расстояние до стены не известно. (пикрелейтед)

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

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

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

Помогите
398 1458365
>>51619 (OP)
Помогите решить проблему, благородные доны. Я пытаюсь наладить простую программу для шифрования. Нужно просто запросить у пользователя обычную строку текста, зашифровать её, записать в текстовый файл (к которому могут иметь доступ третьи лица, от которых и нужно защитить данные), а потом другая программа могла бы вытаскивать всё
то, расшифровывать и использовать. Ничего толкового придумать не смог
399 1458370
>>58358
На предпоследней клетке твой робот делает проверку, надо ли закрашивать, а потом шагает вправо и функция волл из он де райт начинает отдавать True, поэтому цикл с проверкой на последней клетке не выполняется.
Подумай как сделать программу так, чтобы оно сначала проверяло, надо ли закрасить, а потом делало шаг, если справа нет стены.
400 1458395
>>58365

>Ничего толкового придумать не смог


Начни с того, что разберись с понятиями "блочный шифр", "потоковый шифр", со словами ECB, CBC и тому подобными. Это базовая теория.

Потом смотри на библиотеки, которые имеются в наличии.
401 1458404
>>58278
Если ты не школьник, у кого банально нет своей карточки, чтобы с неё за хостинг заплатить, я бы рекомендовал всё-таки найти 5 долларов в месяц на VPS. У тебя масса других возможностей появляется, когда свой виртуальный сервер есть.

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

Но поищи, может что есть.
402 1458446
НЕ ОБОСЫТЕ, А ПОМОГИТЕ!

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

Вот так вызываю:
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()
402 1458446
НЕ ОБОСЫТЕ, А ПОМОГИТЕ!

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

Вот так вызываю:
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()
403 1458456
>>58063
Спасибо!
404 1458459
>>58446
class CustomDriver(object):
def __init__(self):
self._is_initialized = False

у тебя инит принимает self(он передается неявно) и все
А ты ему тычешь self и student
405 1458461
>>58446
Как я вижу, __init__ в твоём классе не принимает никаких аргументов, кроме self. Как вариант - добавить в качестве второго аргумента student, сделать его атрибутом класса и потом уже использовать в твоих методах.

я нуб, отсасывать не надо
406 1458466
>>58459
>>58461
От души братаны, всем отсосов в этом треде за мой счет.
Пиздец, как выручаете уже второй раз.
407 1458487
Какого AVAST ругается на atom.cmd, idp.alexa.51?
201003071240img684imageshackusimg684899112678823847496.jpg88 Кб, 317x372
408 1458494
Ощем, перед тем как приступать к изучению тестирования и переходу к большим проектам Эрик Мэттис, 10 глава задумал закрепить полученные знания и нахуячкать соснольную программу у которой есть логин, регистрация новых пользователей, админ и юзеры с разными допусками и методами - юзеры смогут создавать текстовые файлы и писать в них хуйню малафью, админы могут тоже самое + менять данные пользователей и вот это вот всё, например.
Пока что запилил регистрацию и логин у меня аж привстал когда всё заработало как надо, ага, завтра сделаю два класса: юзер и наследуемый от юзера админ.
Так вооот, будет ли правильным то, что я вкорячу дополнительным аргументом класса статус, который и будет различать юзера от админа когда пользователь будет логиниться, не? или как это всё провернуть?
И это, проверьте текущий http://ideone.com/0fnl4C код, подробно обоссыте если что не так, ага. никаких дополнительных проверок, безопасности и прочей хуйни пока что нет, потом допилю, если не лень будет

мимо >>54354
409 1458498
>>58494
А где хранишь данные учёток и созданные пользователем заметки?
410 1458501
>>58498
Базы еще не проходил, думаю меня в последующих главах этому научат, а пока пользую json.
Пилю это говно только для того чтоб ООП подтянуть
411 1458506
>>58446
Только вкатываюсь в питон. Может кто построчно объяснить что тут делается такое?

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

>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()

412 1458511
>>58506
У тебя там есть декоратор cached_property, который не описан в твоем куске. И уважай других прикрепляй ссылку на пастбин, а не срань гринтекстом
413 1458512
>>58498
Надо качать файл и запускать у себя в консоли - на идеоне интерактив не работает, как я понял
414 1458513
>>58511
Спасибо за декоратор, но я не тот анон, что выложил этот кусок.
415 1458514
Пацаны, кто по коду может проконсультировать рублей за 100? Объяснить одну вещь в телеге.

>>58446 -кун
416 1458523
Есть такой код – https://pastebin.com/KEcrtUH4

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

>обратите внимание на эту конструкцию


>is_initialized флаг хранящий состояние обёртки над selenium.


>driver инициализируется лениво (при обращении к нему). нет обращения - не инициализируется, окно не создаётся.



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

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

Пиздец, я уже методом тыка куда только не вставлял.
417 1458552
>>58514
Настолько все плохо, что готов сотку отдать за то, что вполне можно нагуглить? Был бы за компом, бесплатно обучил бы тебя, как строить запросы в Гугл, чтобы найти нужные тебе ответы, но увы.
418 1458560
>>58552
Тихо ты, он курсы пойдет покупать за 50к, а потом жаловаться, что вкатится не получается
419 1458582
>>58552
>>58560
Это я сделал, но столкнулся со следующей проблемой.

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
420 1458598
>>58582
Нихуя не понял, но твой метод драйвер запрашивает обязательный аргумент "student", который ты ему, видимо, не передаешь. А вообще, зачем тебе "student"? Ты ж его вообще нигде не используешь, кроме как в принимаемых аргументах методов.
15416850142100.jpg42 Кб, 514x536
421 1458648
Как перевести 2.4e-05 в 0.000024 в строчном представлении?
я делаю str(2.4e-05) и получаю '2.4e-05', но мне нужно получить '0.000024'?
422 1458657
syka blyat

"%8.6f" % 2.4e-05

resolved.
423 1458659
>>58657
Не понял. Как это работает?
424 1458665
>>58648
'{:f}'.format(2.4e-5)

Либо
a = 2.4e-5
f'{a:f}'
425 1458691
>>58665
а теперь нужно чтобы 2 вернуло как '2', a не как '2.000000'
426 1458695
>>58665
спасибо, добавил еще '{:f}'.format(2.4e-5).rstrip('0').rstrip('.')
чтобы на других числах нормально было
427 1458799
Добрый вечер.
https://pastebin.com/UuCkErtJ
Вылезает OSError: exception: access violation writing 0x0036F13C. ЧЯДНТ?
428 1458802
>>58799
Забыл добавить, что user32.GetWindowRect работает как надо.
1566508009715.jpeg369 Кб, 963x868
429 1458885
Помогите перевести. Спасибо.
430 1458886
>>58885
Лучше функции передавать сам список, а не его копию, потому что для создания копии требуется время и память и со списком больших размеров можно обосраться
431 1458910
>>58885
Выше (>>58886), в общем, правильно написано.
Но, есть нюанс - опущена мотивация.
На самом деле, там написано:

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

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

Но, т.к. функции могут быть и не твоими, и обстоятельства бывают разными, то на этот случай есть вот такая конструкция - [:], которая позволяет скопировать список.
432 1458933
>>51619 (OP)
Выходит новая книга, называется Отсос Питона, предзаказ в личку.
433 1458943
>>58910
Да, упустил это. Вообще в курсе мфти по алгоритмам на питоне про это часто говорят.
434 1458960
Всем привет!
Мне 29, начинаю учить программирование с питона. Какие подводные кроме

> 29


> Учить питон

435 1458964
>>58309
Я дурак, проблема вообще была не в этом. Герой, который получал урон, атаковал себя своим же оружием
436 1458967
Анончики, ещё один глупый вопрос, нагуглить не получилось.
Есть Один Метод и в нём три ветки условия, которые отличаются только одним названием словаря, название зависит от item_type. Можно это переписать в одну ветку, чтоб название словаря бралось из item_type.
Вот код: https://pastebin.com/Ptf9JEfx
437 1459006
>>58960
Никаких, абсолютно, бери да вкатывайся
438 1459008
У меня нубо вопрос.
Как во фласке/джанге параллелить вычисления/не блочить сервер? Я с потоками, мультипроцессингом сталкивался на уровне запустить потоки с именами, посмотреть че они творят, как расхуячивают общую переменную и т.д.
Не понимаю как этим пользоваться здесь: вьюха должна вернуть http. Если я внутри вьюхи кусок кода кину в отдельный поток, она вернет хуевый http без нужных данных. Если сюда добавить join, тогда все тупо заблочиться, пока все клиенты не будут готовы. Нужно как бы на каждого клиента запускать свою вьюху, но для этого нужен какой-то общий цикл, который чекает готова ли вьюха. Куда приделать этот цикл во фласке? Как я понимаю, с таким циклом и событиями я подхожу к принципу ассинхронных фреймворков? Вот с yield-ами я не дружу, воспринимаю их тупо как способ сгенерировать еба-лист. Вроде их используют в таких случаях?
439 1459012
>>59006
Подскажи, где лучше всего тренироваться? Пишу в Sublime, но хотелось бы, чтобы сразу можно было запустить программу, не из командной строки. Попробовал PyCharm, но какая-то громоздкая программа, тормозит и грузится долго
440 1459014
>>59012
Во, у меня такие же впечатления от PyCharm'a осталось. Слишком все громоздко. Пока пишу в саблайме, запускаю из консоли.

мимо нуб
изображение.png12 Кб, 692x603
441 1459023
Как в Komodo программу запускать, чтобы результат увидеть?
442 1459031
>>59012
>>59014

В пучарме же есть кнопка запустить, ну ладно. Такая же кнопка есть в visual studio code.
443 1459034
>>59031
а в комодо как?
444 1459038
>>59034
Не знаю, это какое-то говно говна мамонта.
445 1459042
>>59023
Судя по тому что есть командаутпат, то как-то можно. Гугли хоткейсы
446 1459047
>>59012
Поставь пакет sublimeREPL, можешь даже бинд на него поставить
не забудь версию питона в нем сменить
447 1459054
>>59047

>Поставь постаить него у него


Сорян, только проснулся :3
448 1459055
>>59008
Генераторы (yield).
Подробности - в интернетах.
Можешь загуглить "python twisted generators", например.
449 1459058
>>59012
>>59014

>PyCharm


>громоздкая программа


>грузится долго



Для обучения - это лучший вариант.
Подсказки и прослеживаемость связей в коде - просто охуенны.
Чтобы не тормозило - надо поставить SSD.
450 1459061
>>59058
я на рабочем компе
451 1459062
>>59061
Сублиме репл тебе говорят!
452 1459063
>>59062
не могу поставить
453 1459070
>>59063
Ну попердолься немного, чего ты.
Загугли как ставить пакеты, это быстро.
454 1459073
>>59070
https://packagecontrol.io/installation я вот этот здоровый код вставляю в консолю, но ошибку выдаёт
455 1459078
>>59058
Для обучения как раз нафиг не надо лезущие отовсюду окна с якобы подсказками, а на самом деле просто отвлекающий мусор. Когда учишься, нужно понимать что происходит, а не подсказки читать.

мимо с любовью вспоминаю студенчество с турбо паскалем 7.0
456 1459082
>>59073
Там сейчас кнопочками сделать можно
459 1459087
>>59073
cmd+shift+p > install
460 1459090
>>59083
>>59086
Что это за хуйня, это сейас у саблайма такой дизайн?
пиздаболия какая-то
461 1459092
>>59083
Алсо по твоей ссылке еще один способ есть:

>If for some reason the console installation instructions do not work for you (such as having a proxy on your network), perform the following steps to manually install Package Control:


Справа, под Manual
462 1459093
>>59087
В командную сроку вбивать?
463 1459094
>>59092
У меня нет вкладки Browse Packages…
465 1459098
>>59095
У меня винда 10
466 1459100
>>59094
А руками найти директорию не сможешь?
467 1459102
Короче, ставь IDLE
468 1459104
>>59083
Уебок у тебя комодо, а не саблайм, что ты мозги ебешь сука.
изображение.png13 Кб, 748x549
469 1459113
>>59104
Бля, я же и спрашивал про Komodo
Короче, получилось!
470 1459118
>>59078
Какие окна с подсказками? Какой мусор?
Ты вообще понимаешь, о чём речь, клоун?

> с турбо паскалем 7.0


Понятно.
471 1459120
>>59058
Он прав, пайчарм - говно с кучей ненужной херни.
472 1459124
>>59120
Для написания хелловорлдов и решения задачек на алгортмы - да.
Для промышленного программирования - нет.
473 1459125
Промышленно программирую в виме
1.png190 Кб, 804x774
474 1459126
>>59113
Теперь ты программист! Главное не перегори.
475 1459127
>>59124

>Для промышленного программирования - нет.


>PyCharm


>Для промышленного программирования


>PyCharm


Оукей. Улыбаемся и машем.
изображение.png21 Кб, 822x738
476 1459131
А как тут Питон 3 выбрать? И какую вообще вкладку выбирать?
изображение.png11 Кб, 682x377
477 1459132
Так, а теперь как запустить, если я поменял код?
478 1459134
>>59131
Ставь sublimeREPL, потом в конфиге версию правь гугли. Запуск либо через бинд гугли, либо как на пикриле
1.png141 Кб, 1280x1024
479 1459135
>>59134
Отклеилося
481 1459139
>>59058
Для этого есть относительно лёгкий VS code
482 1459141
>>59134
Пиздец геморрой ебаный
в vsc два аддона без геморроя накатываешь и работаешь
483 1459142
>>59138
Эта хуйня нужна только для того чтоб запускать интерактивные программы, пока можешь пользоваться просто ctrl+B - результат будет выволиться ниже в сосноле
484 1459143
https://pastebin.com/4Cnm7GM3
Есть варианты сделать все эти условные выражения компактнее?
485 1459145
>>59141

>геморрой


>поправить 2 строчки конфига

486 1459146
>>59127
Возможно, я не очень понятно выразился.
Я имел в виду, что "херня" в pycharm может быть "ненужной" для хелловорлдов, но не для промышленного программирования.
487 1459147
Решаю алгоритмические задачки в пайчарме, не понимаю ваших проблем, на стареньком ноутбуке с линуксом всё летает. Если у вас долгая индексация пакетов -- создавайте проект с virtualenv, благо это в пайчарме в две кнопки делается.
488 1459148
>>59125
Ты онанируешь в виме, чувак.
В промышленных масштабах.
489 1459149
>>59146
Так тебе и говорят что все эти подсказки ебаные только мешать будут если ты промышленным программированием занимаешься.
490 1459152
>>59118
Хуя агрессивный какой. Таблетки забыл принять?
491 1459153
>>59134
Зачем вам саблаймрепл, если саблайм по Ctrl+B отлично запускает скрипты?
492 1459156
>>59141

> в vsc два аддона без геморроя накатываешь и работаешь


В смысле два? У меня один
493 1459158
>>59153

>саблайм по Ctrl+B питухон


>в коде есть input()


>пук среньк

494 1459161
>>59156
Code Runner, Python
495 1459162
>>59154 (Del)

> Написать две строчки конфига


> Ух, сложна, блять!! Никогда такого нее было!!


Зумерок не палиться...
496 1459164
>>59162
Прыщавый сгорел, спешите видеть.
497 1459166
>>59143
Есть вариант, даже цикл не нужен: old[0]=new[0];old[1]=new[1]
1.png5 Кб, 496x230
498 1459180
>>59147
Старый говоришь? Сублиме прекрасно идет на пикриле, например.
499 1459185
>>59158

> в коде есть input()


Так удоли его оттуда. Зачем он тебе? Данные вводить во время обучения? Лучше записать их в файл или в список и читать оттуда, а не набирать одно и то же в *цатый раз, снова и снова узнавая, что у тебя баг в коде. Можно даже сделать простейшую реализацию для input(), которая будет прозрачно читать из файла или списка. Вот серьезно, не могу придумать ни одного юзкейса для input(). Интерактивный блокирующий ввод в скриптовом языке абсолютно без задач.
500 1459186
>>59185
Так обучение же, че ты как не родной то?
501 1459195
>>59186
Так обучение подразумевает, что у тебя скрипт падать будет, что у тебя будут баги, что ты будешь его запускать стопицот раз. Какой смысл писать:
x = input('first number: '))
y = input('second number: '))
print(z)
z = x * y
и нихуя не понимать, почему оно не работает, если можно положить числа сразу в переменные, без инпутов? Что от этого изменится кроме того, что станет удобнее?
502 1459200
>>59166
Это моя ошибка. Нужно было указать, что в каждом if-е у меня по функции, плавно двигающей курсор в нужном направлении в соответствии с положением old и new относительно друг друга, и простым присваиванием здесь не обойтись.
503 1459204
>>59195

>и нихуя не понимать, почему оно не работает


В этом то и вся писечка же - думой, почему оно не работает.
А изменится то, что это будет интерактивной, и не такой очевидной хуйней как удобненькая переменная в твоем коде.
504 1459210
>>59195
[Running] python -u "d:\Python\helloworld.py"
File "d:\Python\helloworld.py", line 1
x = input('first number: '))
^
SyntaxError: invalid syntax

[Done] exited with code=1 in 0.142 seconds

Ошибка у тебя какая-то
505 1459212
506 1459214
>>59149
Сынок, ты вообще видел все эти иде от джетбрейнс?
А программировать что-нибудь пробовал?
Не на турбо-паскале?
507 1459217
>>59212
first number: 1
second number: 5
Traceback (most recent call last):
File "d:/Python/helloworld.py", line 3, in <module>
z = x * y
TypeError: can't multiply sequence by non-int of type 'str'

Всё равно ошибка
508 1459218
>>59217
Потому что ты не можешь вывести того, что еще не посчитал.
509 1459221
>>59217
str * str = ebaniy rot etogo kazono blyad gde tut cifri nahuy
510 1459244
>>59221
>>59218
x = float(input('first number: '))
y = float(input('second number: '))
z = x * y
print(z)

Я исправил!
511 1459249
Лениво седня пиздец, го накатим?
512 1459250
>>59185
Не понял, а любые задачи в интернете, где входные данные промтом подаются?
513 1459251
Да бля, нихуя не получается по этому способу: https://stackoverflow.com/questions/19181999/how-to-create-a-keyboard-shortcut-for-sublimerepl/19182278
514 1459253
>>59244
Красава!
изображение.png16 Кб, 623x215
515 1459254
Почему я не могу писать и курсор поменялся? Чё я нажал?
1.png146 Кб, 1247x487
516 1459258
>>59251
Go to Preferences > Key Bindings - User
Ктрл ц ктрл в как на пикриле, схороняй, перезапускай
517 1459260
>>59254
Ты нажал insert
изображение.png57 Кб, 1381x563
518 1459263
>>59258
Не работает, я так и сделал
>>59260
Нет
изображение.png5 Кб, 397x168
519 1459267
Когда инсерт, то нижнее подчёркивание
520 1459268
>>59263

>Не работает, я так и сделал


Квадратные скобки сверху и снизу добавь

>Add bellow lines to the opened file between brackets:


[
{ "keys": ["ctrl+alt+b"], "command": "run_existing_window_command", "args":
{
"id": "repl_python_run",
"file": "config/Python/Main.sublime-menu"
}}
]

>Нет


Да
521 1459270
>>59268
Спасибо, получилось
522 1459271
>>59268

> Да


Когда нахожусь в документе и нажимаю Esc такая хуйня происходит
523 1459272
>>59270
Версию питона поменял? АТО у тебя на втором запускаться будет
524 1459274
>>59272
А где блядь ее менять?
525 1459276
>>59274
В гугле конфиге =)
изображение.png10 Кб, 491x361
526 1459282
>>59276
Вроде правильную версию использую
527 1459288
>>59282
import sys
print(sys.version)
Запускай в репле жеж

Гугли как поменять на третью, тыж программист, ну - гугл твой лучший друг
528 1459289
>>59288

> в репле


Где?
529 1459290
https://medium.com/@hariyanto.tan95/set-up-sublime-text-3-to-use-python-3-c845b742c720
Я по этой инструкции делал. ТАм написано, что если показывает версию 3 как у меня, то все ок.
Я не качал другие версии
530 1459291
>>59289
sublimeREPL
Запускай тем биндом что ты поставил
ты точно не троллишь?
531 1459293
>>59290
А, у тебя же шиндошс, сорян. Я хлебушек прост
532 1459319
Какой-то анально упрощенный дилдак для аутистов этот ваш питон. Нахуй на нем писать вообще?
533 1459327
>>59319
А на чем писать? Я как новичок решил с него начать.
534 1459329
>>59319
Какая-то анальная эта твоя аргументация в стиле "упрощённый синтаксис == плохой и ненужный язык". Нахуй тебя слушать вообще?
535 1459334
>>59329
Без скобочек, двоеточечек циркумфлексиков, долларив, ковычечек некрасиво! потому что код не выглядит кодом!
537 1459688
>>59126
Откуда это?
538 1459803
>>59688
Говнокнижка по питону, пикрил - единственначя полезная хуйня которая там есть
539 1461681
В какой момент можно претендовать на позицию повидла?
Необходим какой-то стек или просто наработанный опыт джуном? Если да, то сколько месяцев?
540 1462514
Привет, аноны. Скиньте, пожалуйста, книг по tkinter на русском. Видеоуроки дрянь полная, не рассказывает никто, что, почему и зачем там. Лучше уж по книге заниматься
541 1462714
>>62514
Единственное, что тебе нужно знать про tkinter - это то, что это ненужное, устаревшее говно. Бери PyQt5.
542 1462830
>>62714
А по PyQt5 есть книги?
543 1464501
Короч, котятки, супервопрос.
Мне нужно каким-то хуем управлять сраной разбивкой пакета на уровне протокола IP средствами питона.
Как это удобнее сделать?
544 1464503
>>51619 (OP)
Короч, котятки, супервопрос.
Мне нужно каким-то хуем управлять сраной разбивкой пакета на уровне протокола IP средствами питона.
Как это удобнее сделать?
545 1464922
Аноны, скиньте книг по PyQt5 и как кодить на нём, не только дизайнить. Видео-гайды полное говно, не объясняют, почему именно так надо и из-за этого понимания ноль
546 1465170
Скачал книгу Прохоренка по РyQt5 и залил. Кому надо, вот линк https://yadi.sk/i/8lvHm-WStI_wAQ
547 1466839
>>51619 (OP)
Неужели в питоне нет метода для множественной замены символов? Допустим есть кортеж символов, которых надо удалить из строки
548 1467081
>>51619 (OP)
Привет двач, есть задача: нужно произвести поиск из списка знаков по строке. Например есть строка "abcd" и нужно проверить на вхождение каждый из символов этого списка в заданной строку, допустим "2chsosach".
Вот что я придумал

letter = "abcd"
name = '"2chsosach"

for i in name:
for j in letter:
if i == j:
print(i)

И оно работает, но сдается мне есть решение поэлегантней
549 1467614
Hi 2ch, такой трабл, я когда сохраняю в Atom (ctrl+S) выскакивает окно консоли, и когда запускаю (f6) тоже выскакивает пустое окно консоли, а потом консоль с выполняемой программой. Что за дичь пацаны?
550 1467680
>>67614
Ещё компилятор начал тупить,
на код
for ch in letter
if letter in name
print(name)
выдаёт ch - не определенно, а спустя некоторое время, этот же код закомпилился
551 1469295
>>67081
- строка letter содержит разные символы?
- нужно только принт делать?
- на какую сложность рассчитываешь?
Тред утонул или удален.
Это копия, сохраненная 26 сентября 2019 года.

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

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