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

Ответить в тред Ответить в тред
Check this out!
Питон тред №101 /python/ 27/09/20 Вск 21:28:25 18177421
image.png 57Кб, 768x768
768x768
image.png 1401Кб, 1920x1080
1920x1080
Тред, посвящённый языку программирования Питон, #101

Предыдущий: >>1803801 (OP)
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться

#######################################

ЧаВо: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat Актуальность примерно 2015 года

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

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

— А что ещё можно читать?
Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html

— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0

— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4

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

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

— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется

— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.

— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
Аноним 27/09/20 Вск 22:21:50 18178102
Чуть обосрался, мод поправь название треда
Аноним 28/09/20 Пнд 12:30:39 18180073
Дайте пару советов по настройке окружения. Какой дистрибутив лучше подходит для веба? Смотрю с сторону ubntu или elementary
Аноним 28/09/20 Пнд 12:35:22 18180124
Подскажите нубу:

Инициализирую Flask-приложение вот так:

def create_app(config_file='settings.py'):
app = Flask(__name__)
app.config.from_pyfile(config_file)
db.init_app(app)
ma.init_app(app)
app.register_blueprint(short)
return app

Далее через Blueprint

>short = Blueprint('short', __name__)

ну и далее руты.

Проблема в том, что при каждос перезапуске приложения перезаписывается и база данных. Что делать, чтобы приложение не дропало бд?
Аноним 28/09/20 Пнд 12:54:51 18180315
>>1818007
Ubuntu перешла на 3.8, а окружения лучше в docker собирать, как мне кажется. Тогда у тебя априори свежие сборки всего.
Ubuntu все же от корпоративщиков, а Elementary от васянов. При переходе на docker ваще похуй должно быть. А так pipenv или poetry используй.
Аноним 28/09/20 Пнд 13:19:23 18180566
>>1818007
Юзаю xubuntu, pyenv, poetry, docker.
Вся разработка и тестирование в докерк, ведь потом в докерк идёт доставка на сервер. Мелкие скрипты и какие-то тестовые запуски через pyenv. Ну и pycharm/vscode по настроению.
Аноним 28/09/20 Пнд 14:22:22 18181017
Аноним 28/09/20 Пнд 15:56:11 18181978
хочу написать что-нибудь не связанное с вебом,но не знаю что.Посоветуйте чем заняться
Аноним 28/09/20 Пнд 17:08:31 18182569
>>1818197
напиши фанфик по девил мей край, например
Аноним 28/09/20 Пнд 17:14:06 181826210
Кто зарабатывал на фрилансе или в конарах, подскажите плис. Вот я задрочил scrapy. Как можно на нем поднять бабла?
Например, на фрилансе. Если будет задание, то что обычно просят сделать, ясно что отпарсить. Но какие бывают извращения, чтобы как можно быстрее и точнее сделать парсинг под хотелку заказчика, если таковой вообще будет.

А вообще, пилите стори, кто что делал на фрилансе по питону.
Аноним 28/09/20 Пнд 18:15:08 181829711
>>1818197
генератор qr кодов, тебе надо загуглить принцип и алгоритм и саому их реализовать, использовать PIL или matplotlib для создания картинки разрешаю, Написать обертку над готовым генератором нет, это не то, реализовывай сам
Аноним 28/09/20 Пнд 18:39:02 181831412
Имеется непрерывное поступление данных типа:
False + время
False + время
False + время
True + время
True + время
False + время
False + время
False + время
True + время
False + время
False + время

Мне нужно при появлении первого True, записать время начала события. Потом ждать появления False и записать время конца события создавая пару [начало, конец]. Не могу понять логику как это реализовать.
Аноним 28/09/20 Пнд 18:56:46 181833013
>>1818314
у тебя события завешаются в том же порядке, в котором начинаются?
деку юзай
Аноним 28/09/20 Пнд 18:59:43 181833214
>>1818330
>у тебя события завешаются в том же порядке, в котором начинаются?
Что это значит?

>деку юзай
Я знаю только стеройд для кочков с названием "дека"
Аноним 28/09/20 Пнд 19:00:44 181833315
Пытаюсь авторизоваться на сайте через либу requests. Сайт использует "Set-Cookie". Запросы отправляю через созданную сессию: requests.Session(), добавив после этого нужные заголовки.

В связке build_opener, HTTPCookieProcessor в urllib и Cookie, LWPCookieJar в http всё работает и куки подхватываются. Хотел переписать, сделав на либе requests, но почему-то куки не подхватываются, следовательно последующие запросы по прежнему идут лица гостевого пользователя.

Буду благодарен, если кто знает как такое пофиксить и сделать чтобы куки нормально цеплялись.
Аноним 28/09/20 Пнд 19:08:01 181834016
Аноним 28/09/20 Пнд 19:16:50 181834217
>>1818333
Покажи запрос с хедерами и куками на каждой либе
Аноним 28/09/20 Пнд 19:21:48 181834518
>>1818342
Спасибо, уже разобрался. После добавления session.verify = False всё заработало.
Аноним 28/09/20 Пнд 19:29:38 181835319
Аноним 28/09/20 Пнд 19:32:25 181836020
>>1818007
>Какой дистрибутив лучше подходит для веба?
Если ты задаешься таким вопросом, значит линукс тебе вообще не нужен.
Аноним 28/09/20 Пнд 19:35:19 181836221
>>1818353
Во, твой сразу понял. А то сижу и думаю что там у того анона.
Спасибо за помощь.
Аноним 28/09/20 Пнд 19:48:48 181837722
>>1818353
Можешь объяснить как читается это условие?
if event and not period or period and not event:
Аноним 28/09/20 Пнд 19:54:25 181838223
>>1818377
если евент ТРУЕ и период пустой или период не пустой и эвент ФОЛС
Аноним 28/09/20 Пнд 20:02:10 181838724
Аноним 28/09/20 Пнд 23:00:03 181847825
16005258918853.mp4 3818Кб, 1280x720, 00:01:00
1280x720
>>1817742 (OP)
Питонач, нужна статья или глава учебника, где на пальцах рассказывают про временную сложность алгоритмов и как её считать.
Аноним 29/09/20 Втр 00:46:45 181851926
Анонче, чет встрял на регулярках, помогите, пожалуйста.
Дано строчное месиво, из которого нужно вычленить объект, например:
{1:'raz'},{2:'dva'},{'python':'sila','1488':'drugoy_yazik'},{3:'tri'}

Болдом выделил то, что нужно найти при помощи регулярки. Проблема в том, что там могут быть разные букво-знаковые значения разной длины, например java_script, haskell (у меня итерация по куче таких стрингов). Предшествующая и последующая часть там всегда одинаковая, поэтому я понял, что мне нужно присосаться к тому, что перед началом объекта (1488':'), тому, что после его окончания ('},), и соответственно взять то, что между. Но как мне учесть разное количество символов в искомом объекте?
Аноним 29/09/20 Втр 00:55:30 181852327
Аноним 29/09/20 Втр 00:58:55 181852428
Аноним 29/09/20 Втр 01:09:59 181853129
Аноним 29/09/20 Втр 01:15:49 181853630
>>1818531
Погоди, а почему тут нет ^ и $? Я думал, как-то через них надо.
Аноним 29/09/20 Втр 01:19:55 181853731
>>1818536
Ну это используется вроде если важно положение относительно начала и конца строки, как понимаю
В твоём примере вроде это не имеет значения
Аноним 29/09/20 Втр 02:25:43 181855432
>>1818537
Е моё. А как тогда твоя ркгулярка работает? Можешь объяснить логику?
Аноним 29/09/20 Втр 02:37:15 181855933
>>1818554
как понимаю, примерно так:
находим такую часть строки где следуют символы '1488':' а за ними любое количество (от 0 и более) любых символов, после которых должна быть одинарная кавычка. сохраняем все эти символы до первой встречной кавычки
Аноним 29/09/20 Втр 04:16:03 181857334
Аноны, поясните за sql, вроде во многхи вакансиях требуют, насколько какой-нибудь постгре отличается от простого? Насколько долго и сложно учить конкретный вид, это как новый язык погромирования, или там минимальные различия? Ну и какой вид по-вашему мнению более актуален и популярен (хотя ясен хуй, что от работодателя зависит конечно, но хоть прикинуть, куда ориентироваться)
Аноним 29/09/20 Втр 05:22:01 181857935
>>1818573
> насколько какой-нибудь постгре отличается от простого
В пределах базовых случаев никак от стандартного не отличается. А если и отличается, то как правило, незначительно.

> Насколько долго и сложно учить конкретный вид
Это никто не учит, просто идёшь в гугл как тебе в такой-то БД сделать такую-то операцию, там будет описание синтаксиса. Есть основы, общие для всех БД, вот здесь очень много нужно узнать. В основном это касается внутреннего устройства БД и производительности. Ещё непросто понять джойны, подзапросы, хотя бы в плане что они делают и какие бывают.
Аноним 29/09/20 Втр 05:24:00 181858036
>>1818579
>> Насколько долго и сложно учить конкретный вид
>Это никто не учит, просто идёшь в гугл,,.
Бля, а какой-нибудь кайфовый курс на степике про это дерьмо есть? А то хочу начать пытаться тыкаться на собесы, но там везде какой-нибудь вид эскуэля указан
Аноним 29/09/20 Втр 05:25:58 181858137
>>1818580
Думаешь на собесах будут доёбывать глубоким знанием конкретного диалекта?
Аноним 29/09/20 Втр 05:29:38 181858238
>>1818580
Дебила который сказал что этому никто не учит не слушай. Practical SQL читай.
Аноним 29/09/20 Втр 05:45:44 181858839
>>1818581
Ну в вакансиях везде указано, стремно говорить "да, знаю, умею" и быть вообще не в состоянии нихуя сделать
Аноним 29/09/20 Втр 07:35:31 181859940
>>1818588
> быть вообще не в состоянии нихуя сделать
Такое может быть только если ты совсем мало знаешь о базах данных. Подтягивай общую базу. Можешь тот же постгре задрочить. 90% знаний между реляционными базами пересекается.

Твой изначальный вопрос был о 10% различий. Так вот, повторюсь, там сами собеседующие скорее всего не сильно в курсе, и никто (вменяемый) у тебя про различия в диалектах sql спрашивать не будет.
Аноним 29/09/20 Втр 08:59:17 181861941
Аноним 29/09/20 Втр 09:11:29 181862342
Пагни, есть ли такой сервис, которым можно верифицировать работу смс сервиса (обычный текст отправил-принял) без покупок сим карт всех провайдеров?
Аноним 29/09/20 Втр 09:28:53 181863343
>>1818262
Ап, какое тз может быть на парсинг сайта, приблизительно, хочу написать парсер для алика хотя бы. Дайте тз плис.
Аноним 29/09/20 Втр 11:03:40 181870344
>>1818478
А что там считать? Вот у тебя задача, что-то сделать с N элементами. Если ты по ним проходишь циклом ровно один раз, то это O(n), если у тебя даже цикла нет и операция не зависит от размерности N, то это O(1). Если два вложенных цикла O(n^2), если три O(n^3), итд. Если у тебя бинарный поиск, то O(log n). Большинство эффективных сортировок O(n log n).
Аноним 29/09/20 Втр 11:04:58 181870545
>>1818633
Посмотри заказы на апворке по тегу scraping. Сделай что-нибудь из этого.
Аноним 29/09/20 Втр 11:09:33 181870646
>>1818360
Странная логика) если я задаюсь вопросом, какой телефон лучше, значит мне телефон вообще не нужен?)
Аноним 29/09/20 Втр 11:20:26 181870947
>>1818478
>Питонач, нужна статья или глава учебника, где на пальцах рассказывают про временную сложность алгоритмов и как её считать.

Начни с

> Ильин, Позняк - Основы математического анализа.

Аноним 29/09/20 Втр 11:23:48 181871048
>>1818706

> Какой телефон лучше что бы писать в WhatsApp

Так аналогия понятнее?

Ну и да, линукс, любой, это как запорожец - больше чинить, нежели ездить. Если ты не готов первую неделю пердолить консольку вместо непосредственной работы, то он не для тебя.
Аноним 29/09/20 Втр 11:30:04 181871549
>>1818710
>Если ты не готов первую неделю пердолить консольку вместо непосредственной работы, то он не для тебя.
Зачем ему ставить пердольный дистр? Завел какую нибудь каляску типа убунты и все
Аноним 29/09/20 Втр 11:34:37 181871850
Меня тут разморозили и я очень удивляюсь новым фичам языка, вроде тайп-хинтинга, нового оператора сравнения, тому что createvirtualenv был вытеснен poetry, а autopep8 black, что какой-то mypy проверяет корректность типов...
Можете ещё рассказать, что ещё нового в питоне в 2020?
Аноним 29/09/20 Втр 11:36:15 181872051
>>1818718
>нового оператора сравнения
Эт че?
Аноним 29/09/20 Втр 11:37:29 181872152
>>1818720

Тьфу, описался, присваивания
Аноним 29/09/20 Втр 12:01:11 181873053
>>1818332
другой анон, но полагаю тот анон имел ввиду дек, то есть двусвязная очередь. дальше гугли
Аноним 29/09/20 Втр 12:43:40 181876054
>>1818710
Что там пердолить? Я же не буду компилить ядро как в какой-нибудь генто. Понимаю, что плюс минус везде все одинаковое, спросил на всякий случай, мало ли
Аноним 29/09/20 Втр 12:51:16 181876655
Блять, неделю уже читаю отзывы, смотрю видосы и не могу понять, какую IDE использовать. Кто говорит использовать обычный sublime, кто говорит использовать ванильный вим, кто jupiter, кто говорит что у 90% разрабов стоит pycharm.
IDE - действительно настолько субьективная хуйня или все такие есть объективные причины использовать ту или иную?
Аноним 29/09/20 Втр 13:02:34 181877356
>>1818766
Блокнот. А если серьёзно, напердолить до некоторого уровня комфорта можно во всех этих редакторах. Просто установи и попробуй каждую, вместо того чтобы читать холивары.
Аноним 29/09/20 Втр 15:47:11 181885657
.jpg 80Кб, 960x708
960x708
Час ищу ответ и не могу понять:

>>> type(tag)
<class 'bs4.element.Tag'>

>>> if type(tag) == 'bs4.element.Tag':
print('Yes')
Тут ничего не происходит. Что я пишу не так? Как нужно правильно написать название класса?
Аноним 29/09/20 Втр 15:48:34 181885858
Аноним 29/09/20 Втр 15:53:08 181886059
>>1818856
if isinstance(tag, bs4.element.Tag):
Аноним 29/09/20 Втр 15:55:21 181886160
У меня два вопроса по парсингу
Как быстро вкатиться в xpath и css локаторы, мб у кого есть шпаргалки.
И как быстро искать на стр код хтмл, показывают примеры, у них все развернуто. Начинаешь просматривать сайт, хуй пойи что где. Полюбому есть секерты как делать быстро и правильно. Про просмотр кода знаю.
Аноним 29/09/20 Втр 15:57:13 181886361
Аноним 29/09/20 Втр 16:02:50 181886562
>>1818860
> isinstance(tag, bs4.element.Tag)
Так пробовал, выдаёт:
File "C:\Users\........py", line 18, in <module>
if isinstance(tag, bs4.element.Tag):
NameError: name 'bs4' is not defined

>>1818858
Мне же нужно чтоб таг был из определённого класса.
Аноним 29/09/20 Втр 16:04:33 181886763
>>1818865
В tag у тебя элемент супа, того класса что ты вывел, все верно, если tag , элемент супа, то принт да.
Аноним 29/09/20 Втр 16:13:30 181887264
>>1818867
У меня таги двух типов - bs4.element.Tag и bs4.element.NavigableString.
Мне нужно получить только те что bs4.element.Tag.
Тут же >>1818858 просто выдаёт ошибку так как type(tag) не выдаёт True/False для if, a class, или я настолько тупой что не вижу что-то очевидное?
Аноним 29/09/20 Втр 17:21:05 181894365
Аноним 29/09/20 Втр 17:29:57 181895666
>>1818943
Есть, благодарю.
До этого я только сам суп импортировал, потому и не шло.
Аноним 29/09/20 Втр 19:32:49 181908667
Правильно ли я понимаю, что на Питоне пишется только backend, для frontend надо изучать JavaScript?
Аноним 29/09/20 Втр 20:05:01 181910768
Аноним 29/09/20 Втр 21:10:23 181914769
>>1819086
Не совсем, я сейчас вместе с еще одной командой специалистов всемирного уровня разработки, создаем на протяжении полу года браузер который сможет поддерживать скрипты из других языков. Пока особо ничего сказать не могу дабы не нарушать нда, но через пару тройку лет в основном будут лидировать либо веб асембли либо наш продукт, но скорее всего нас просто купит какой нибудь гугл и встроит себе куда нибудь
Аноним 29/09/20 Втр 22:21:37 181918470
До сих пор не въезжаю: хрен ли недоразрабы пистона не могут выкатить полноценные лямбды? Многострочную лямбду уже давно можно замутить через круглые скобки, так что дело не в этом, хер ли я не могу делать assignment внутри нее?
Аноним 29/09/20 Втр 22:23:13 181918571
2ch s.png 20Кб, 480x480
480x480
Как подсчитать количество точек?
Возможно ли перенести в excel?
Подскажите чем пользоваться и что гуглить.
Аноним 29/09/20 Втр 22:39:56 181919272
>>1819184
>хер ли я не могу делать assignment внутри нее?
Можешь:
(lambda a, b: (c := 2, d := 3, a + b + c + d)[-1])
Аноним 29/09/20 Втр 22:43:44 181919373
Чем можно заменить принт? Проблема: при фейле теста кидает в ошибку часть персональных данных. Логи будут лучше или тоже самое?
Аноним 30/09/20 Срд 01:32:57 181926574
image.png 622Кб, 512x512
512x512
Аноним 30/09/20 Срд 03:57:01 181929275
image.png 127Кб, 1212x486
1212x486
import imageai
from imageai.Detection import ObjectDetection
import os

execution_path = os.getcwd()

detector = ObjectDetection()
detector.setModelTypeAsRetinaNet()
detector.setModelPath( os.path.join(execution_path , "resnet50_coco_best_v2.0.1.h5"))
detector.loadModel()
detections = detector.detectObjectsFromImage(input_image=os.path.join(execution_path , "image.jpg"), output_image_path=os.path.join(execution_path , "imagenew.jpg"))

for eachObject in detections:
print(eachObject["name"] , " : " , eachObject["percentage_probability"] )

Есть такой мини код. И оба питона(Двойка и тройка) выдают одинаковую ошибку. Че он от меня хочет бля? Какой еще аргумент он хочет? Я заебался уже. На винде под кондой все охуенно работает. А на расбиане уебывается. Ну ебаный хуй.
Аноним 30/09/20 Срд 04:02:57 181929476
>>1819292
>Че он от меня хочет бля?
Сдается мне, ты хуячишь код из интернета, не умея вообще программировать. В стек трейсе все написано - и место с ошибкой, и что конкретно произошло. Тебе остается только подключить отладчик и посмотреть, почему у тебя None вместо числа, и откуда это пошло.
Аноним 30/09/20 Срд 04:04:58 181929577
>>1819292
И да, помогите пожалуйста. А то у меня скоро шизофрения начнется.
Аноним 30/09/20 Срд 04:07:07 181929678
>>1819294
Ну да, но на винде работает. Тут нечему не работать ибо все остальные трейсы это библиотеки\зависимости\meh которые заведомо правильные
Где место с ошибкой?
Аноним 30/09/20 Срд 04:23:33 181929779
>>1819296
>Тут нечему не работать
Я тебе еще раз говорю - запусти дебагер и посмотри, что именно не работает. Экстрасенсов тут нет, и никто тебе не найдет ошибку, не имея полного доступа к коду и окружению питона со всеми библиотеками. Ты сам сказал что на винде все работает, значит проблема скорее всего в несовместимости версий библиотек или их корявой имплементации на линуксе.
Аноним 30/09/20 Срд 09:37:51 181939080
>>1818703
Спасибо.
>>1818709
Спасибо, я что-то подобное в ВУЗе проходил long-long ago.
Аноним 30/09/20 Срд 11:40:39 181948881
>>1819185
>Как подсчитать количество точек?
Че, прям с картинки?
Аноним 30/09/20 Срд 13:53:39 181962782
Аноним 30/09/20 Срд 13:54:34 181963283
Аноним 30/09/20 Срд 14:23:18 181969184
>>1819147
Обычно такие проекты покупают просто так, чтобы умертвить. А ещё чаще они просто закрываются, инвесторы кончаются.

Мне кажется сомнительная затея, не потому что сложно реализовать адекватно (тут я бы на твоём месте об идеях не говорил даже здесь, прилетит легко), а потому, что главная ценность в поддержке консорциума, в кроссплатформенности.

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

Поэтому и остаётся только JS и стандартные API.
Аноним 30/09/20 Срд 14:25:47 181969785
maxresdefault.jpg 80Кб, 1280x720
1280x720
Аноним 30/09/20 Срд 14:26:11 181969986
>>1818353
Твоё решение работает некорректно как только два интервала появляется.
Аноним 30/09/20 Срд 14:27:45 181970187
>>1819697
Всегда нужны молодые программисты с горящими глазами, верящие в прорывную идею стартапа.
Аноним 30/09/20 Срд 16:01:11 181978388
Привет, есть проект на фласке( флас миграции соответственно) есть модель алхмии в ней.
Пытаюсь добавить еще одн столбец. Миграция создается, а при апгрейде зависает навсегда.
Для другой модели вроде бы все норм работает.
В чем может быть проблемма? и есть ли идеи как фиксить?
Аноним 30/09/20 Срд 16:18:07 181978889
image.png 65Кб, 655x451
655x451
>>1819297
Я поклацал библиотеки и привел некоторые к одинаковым версиям виндовых.
Вроде запустилась. Но система киллует процесс. С чем это может быть связано. Жрет дохуя, и расбиан не хочет обслуживать ее?

Аноним 30/09/20 Срд 16:27:23 181979090
Аноним 30/09/20 Срд 16:35:16 181979191
И как теперь? На Малине РАМ вряд ли можно расширить. Или можно?
Аноним 30/09/20 Срд 17:01:21 181980992
Сап, недавно вкатился в этого вашего питона. Вроде теоретические знания какие-никакие есть, но на практике их проверить негде. Можете подкинуть пару сайтов с задачами или что-то типа того
Аноним 30/09/20 Срд 17:14:27 181983193
пришла гениальная идея написать либу которая будет импортить всё что используется в проекте,но возможно ли это вообше?
Аноним 30/09/20 Срд 17:20:35 181983794
>>1819809
Сайты с задачами будут дрочить тебя алгоритмами и смекалочкой в основном, просто бложик попробуй сделать на каком нибудь фастапи для начала
Аноним 30/09/20 Срд 17:25:06 181983995
>>1819837
ну так мне и нужна такая дрочка
Аноним 30/09/20 Срд 18:08:43 181987596
>>1819839
https://open.kattis.com/problems
Вот олимпиадные задачи от уровня для "охранник первого дня обучения" до "победитель олимпиад по программированию".

Бесплатно, без СМС, но с регистрацией.

Аноним 30/09/20 Срд 18:21:17 181988897
>>1819831
Можешь например с помощью ast/grep пройти и собрать все импорты. Но это сломается например на safe импортах:

try:
..import kurwa1 as kurwa
except ImportError:
..try:
....import kurwa2 as kurwa
..except ImportError:
....import kurwa3 as kurwa

Точнее, оно корректно соберёт все три курвы, но тебе придётся перепроверить установлены ли такие пакеты.
Аноним 30/09/20 Срд 18:35:21 181989898
image.png 39Кб, 1312x124
1312x124
imagenew.jpg 175Кб, 709x486
709x486
from imageai.Detection import VideoObjectDetection
import os
import cv2

execution_path = os.getcwd()

camera = cv2.VideoCapture(0)

detector = VideoObjectDetection()
detector.setModelTypeAsTinyYOLOv3()
detector.setModelPath( os.path.join(execution_path , "yolo-tiny.h5"))
detector.loadModel()

video_path = detector.detectObjectsFromVideo(camera_input=camera,
output_file_path=os.path.join(execution_path, "camera_detected_video")
, frames_per_second=2, log_progress=True, minimum_percentage_probability=30)

for eachVideoObject in detections:
print(eachObject["name"] , " : " , eachObject["percentage_probability"] )

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

Хотя прогресс, да. Никто не занимался такой хуетой? Помогите пожалуйста.
Аноним 30/09/20 Срд 18:52:15 181990799
>>1819185
Пройдись по каждому пикселю и вычисли его цвет, если цвет больше чем цвет бекграунда то это точка, считаешь количество пикселей больше цвета бекграунда, потом всю эту сумму делишь на количество пикселей в 1 точке, получишь кол-во точек
Аноним 30/09/20 Срд 20:47:40 1819989100
image.png 492Кб, 684x600
684x600
Всем привет. Изучаю тут Джангу, мечтаю сделать свою админку для отеля. Типа пикрл. Как это отрисовать я ещё подумаю, сейчас я думаю, как следить за тем, занят номер или нет. Я так понимаю нужно создать таблицу в бд, где тупо будет написано для каждого номера на каждый день в году, занят он или нет? Ну или для каждой категории номера на каждый день, сколько свободных. Типа каждая строка - дата, каждый столбец категория. То есть энивей придется иметь таблицу размером количество категорий * количество дней на которые я разрешаю вперед бронировать. И нужно будет периодически заходить туда и добавлять квоты для будущих дат. Типа на год вперед итд. Или есть получше идея?
Аноним 30/09/20 Срд 20:55:14 1819992101
Всем ку, подскажите можно ли вообще объявить глобальной переменной список и словарь?
Аноним 30/09/20 Срд 21:02:13 1819998102
Аноним 30/09/20 Срд 21:34:55 1820018103
Анон, а есть годные фреймворки для написания апи? DRF кажется дрисней поверх Джанго и дока паршивая, фласк слишком микрофреймворк, насчёт фалкон хз, что годного есть?
Аноним 30/09/20 Срд 21:55:15 1820031104
Аноним 30/09/20 Срд 22:35:25 1820051105
Аноны, в какой момент QeuerySet выберет данные из базы при использовании его с стандартным Джанговским Пагинатором? В момент когда я примею пагинатор к objects.all() или в момент, кода я попробую выбрать данные уже из пагинатора?
Аноним 30/09/20 Срд 22:36:21 1820052106
>>1820031
Спс, попробую понять.
Аноним 01/10/20 Чтв 00:37:05 1820138107
>>1819699
да. чувак разобрался и сделал как ему надо
Аноним 01/10/20 Чтв 05:06:05 1820229108
Чем можно заменить print, чтобы при ошибке вызова Джейсон не выводила секретные данные из ошибки?
Аноним 01/10/20 Чтв 05:08:35 1820230109
Аноним 01/10/20 Чтв 07:03:51 1820235110
>>1820031
Ну насколько я понял, это ты предложил способ как можно быстро заполнить таблицу кучей дат с квотами? Но сама суть правильная, да? Нужно иметь строку на каждый день в отдельной таблице.
Или мб можно просто по таблице броней проверять, не превышает ли количество бронирований на данную дату допустимого? Ну типа человек ввел там двухместный номер с 1 по 3 октября. Я просматирваю, сколько у меня уже забронировано на 1-е, на 2-е, на 3-е и если их не больше, чем номеров в отеле, то значит разрешаю забронировать. И типа и не нужна отдельная таблица?
Аноним 01/10/20 Чтв 09:51:17 1820257111
>создать таблицу в бд, где тупо будет написано для каждого номера на каждый день в году, занят он или нет
Лучше просто таблицу со бронью, то есть ид_номера, дата_заселения, дата_выселения. И связать ее с таблицей номеров. Тогда ты сможешь делать выборки уровня "дай меня только двухместные номера, у которые нет записи о бронировании с такого по такое число".

Аноним 01/10/20 Чтв 09:53:17 1820258112
Аноним 01/10/20 Чтв 10:46:05 1820282113
>>1817742 (OP)
Как на Линухе поставить крякнутый PyCharm Pro?..
Аноним 01/10/20 Чтв 10:51:52 1820287114
>>1817742 (OP)
Появилась идея проскрапить hh.ru чтобы найти данные по вакансиям: средняя зп, медианная зп и гистограмма общего распределения зарплат. Для начала только по Москве и Питеру, вне зависимости от сферы, чтобы посмотреть насколько правдивы кулстори про "среднюю зп в 90к"
Кто занимался скрапингом hh.ru? Какие подводные?
Аноним 01/10/20 Чтв 11:18:04 1820295115
Аноним 01/10/20 Чтв 13:00:25 1820365116
>>1820282
Найти пиратский лицензионный сервер или поставить его себе, еще можно сбрасывать триал каждый месяц
Аноним 01/10/20 Чтв 13:38:59 1820382117
Аноним 01/10/20 Чтв 13:55:45 1820392118
>>1820235
На самом деле нет, я тебе совсем другое предложил. Но так как ты предлагаешь, вероятно тоже сработает, главное проверяй что UPDATE обновил все строчки именно так как ты ожидал и будь готов словить дедлок.
Аноним 01/10/20 Чтв 14:39:41 1820428119
>>1820365
Как сбрасывать? Переустановить его? (я в ближайшие пару дней не у компа, проверить не могу)
Аноним 01/10/20 Чтв 15:04:22 1820439120
Как найти текущий номер строчки в исполняемом питоновском файле? Хочу чтобы при логировании записывался номер строки, где этот лог произошел
Аноним 01/10/20 Чтв 15:29:52 1820452121
Аноним 01/10/20 Чтв 16:46:34 1820499122
Может кто-нибудь пояснить этот opencvшный ворнинг?
OpenCV(4.4.0) /tmp/pip-wheel-frffvd08/opencv-python/opencv/modules/videoio/src/cap_images.cpp:293: error: (-215:Assertion failed) !_filename.empty() in function 'open'
Аноним 01/10/20 Чтв 18:16:08 1820592123
>>1819898
>>1819788
>>1820499
Уже не надо. Я всё запустил. Осталось сериал порт настроить на ардуине и можно отдыхать.

Почему вы не помогали, баки?
Аноним 01/10/20 Чтв 19:00:13 1820629124
Аноним 01/10/20 Чтв 19:16:19 1820646125
>>1820592
Ух ты, а что ты там такое интересное делаешь, расскажи, пожалуйста?
Аноним 01/10/20 Чтв 19:24:16 1820655126
Аноним 01/10/20 Чтв 19:28:58 1820662127
image.png 8Кб, 667x139
667x139
>>1820439
Стектрейс тебе для чего? Он же белым по-черному пишет номер строки. Или что ты хочешь логировать в
>Хочу чтобы при логировании
?
Аноним 01/10/20 Чтв 19:30:32 1820667128
>>1819809
Советую edabit: он лаконичен и прост в сравнении с тем же громоздким codewars. Обязательно смотри топовые ответы после решения: там очень много синтаксического сахара, который может быть не очевиден, но его нужно знать и даже иногда использовать.
Аноним 01/10/20 Чтв 19:32:03 1820669129
>>1820662
Неплохо. А что если эксепшн не рейзится (что случается в 99% случаев)? У меня стоит обычный вызов:
logger.warning("Attention!")
logger это экземпляр logging.getLogger()
Аноним 01/10/20 Чтв 19:35:21 1820673130
>>1820229
Дело не в print, а в самой процедуре логирования.
Покури, как перехватывать ошибки с помощью кастомной функции и заменять ею встроенный в интерпретатор sys.excepthook. В нем ты будешь скрывать данные по регулярке или еще как вздумается.
Аноним 01/10/20 Чтв 19:36:19 1820676131
Двач, начал изучать pandas для небольших операций с данными по работе и построения простейших графиков.
Прилетела задача построить несколько статистик на данных формата:
Колонка в датафрейме пандуса содержит данные формата:
[11, 23, 45, 33] от одного до множества элементов
Как обработать эту колонку и уметь вытягивать из нее количество элементов/отдельные элементы.
Аноним 01/10/20 Чтв 19:37:32 1820678132
Аноним 01/10/20 Чтв 19:41:50 1820683133
Аноним 01/10/20 Чтв 19:43:39 1820685134
>>1819184
>лямбды
Не нужны, кроме как в линковых запросах.
Но это не питонический путь. Это ебаная каша для ломания чужих глаз и мозга.
Аноним 01/10/20 Чтв 21:47:14 1820817135
>>1820685
>лямбды
>Не нужны
Ты просто неосилятор. Лямбды уменьшают замусоривание кода локальными переменными и делаю его короче, чище и понятнее.
Аноним 01/10/20 Чтв 22:28:55 1820851136
>>1820817
>уменьшают замусоривание кода локальными переменными
Да.
>делаю его короче
>чище
Да.
>понятнее
Нет.
Аноним 02/10/20 Птн 08:32:49 1821028137
Помогите написать код для проверки числа цукермана и цикл чтоб число увеличивалось на 11 с каждым ходом и закончился когда данное число будет делиться на 2020 без остатка
Аноним 02/10/20 Птн 08:58:56 1821030138
>>1821028
> код для проверки числа цукермана
https://pastebin.com/K40sfmr8

> цикл чтоб число увеличивалось на 11 с каждым ходом и закончился когда данное число будет делиться на 2020 без остатка
нихуя не понял, чтобы какое число увеличивалось на 11?
Аноним 02/10/20 Птн 09:18:07 1821033139
Анонсы, помогите нормально разобраться с итераторами и генераторами. Где можно о них почитать, чтоб с примерами. А то в теории вроде понятно, че это, но на практике нихуя. Лутца по этой теме читал, но как то там мало именно практической части.
Аноним 02/10/20 Птн 09:58:46 1821044140
>>1821033
Повсеместный range это генератор. Всё что может работать цикле for и есть итератор или генератор.

Конечно ты можешь проходить по ним и без цикла:
r = range(10)
print(next(r))
print(next(r))
Но нужно самостоятельно ловить экзепшен StopIteration

Свои итераторы можно создавать с помощью магического метода --next--. Это по сути то что вызовет встроенная функция next(). Но с циклом for всё немного сложнее, он не просто берёт итератор и дёргает ему --next--, а сначала создаёт итератор из объекта который ему дали через магический метод --iter--. Чтобы запутать ещё сильнее, довольно часто там return self. Но по фэншую нужно возвращать отдельный объект. То есть коллекция это отдельный класс, а итератор по ней это отдельный. Чтобы уже созданный итератор был совместим с циклом for ему нужно добавить метод --iter-- с return self, чтобы цикл продолжил работать с уже существующим объектом, а не пытался создать новый. Кстати встроенная фукнция для вызова --iter--, так и называется iter().

>>> iter([])
<list_iterator object at 0x7fa5be6a4d30>
>>> iter({})
<dict_keyiterator object at 0x7fa5be619360>
>>> iter(iter(iter([]))) # здесь отрабатывает return self на итераторе
<list_iterator object at 0x7fa5be6a4d30>

Собственно нахера return self в методе --iter-- итератора? Вот пример:

it = iter(list(range(100)))
for x in it:
..break
for x in it:
..break
for x in it:
..break

Мы можем переиспользовать тот же самый итератор несколько раз. На каждом вызовется сначала --iter-- чтобы убедиться что у нас итератор а не какой-то другой объект, а потом --next--.

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

def count():
..i = 0
..while True:
....yield i
....i += 1

Попробуй использовать её как итератор:

>>> it = count()
>>> next(it)
0
>>> next(it)
1
>>> next(it)
2

По сути часть состояния сохраняется как место выполнения генератора (какой из yield вызван), часть как локальные переменные. Всё это крайне удобно ложится на объектную модель, ты можешь метод --iter-- любого класса выполнить как генератор, и тебе не придётся создавать дополнительный класс итератора, при этом будет по фэншую, итератор отличается от самой коллекции.

Генераторы бывают ещё в виде экспрешенов, без всяких yield:

(i for i in range(20_000_000))

Важно что скобки круглые. Здесь точно так же, можно повызывать next на таком объекте, и точно так же лениво вычисляются значения, что может здорово сэкономить оперативку: попробуй заменить скобки на квадратные и посмотри потребление памяти. Либо внутри скобок метода, это тоже будет генератор экспрешеном:

''.join(i for i in range(100))

Вот собственно всё что нужно знать.
Аноним 02/10/20 Птн 10:01:34 1821045141
Аноним 02/10/20 Птн 10:06:28 1821048142
Посоветуйет как составлять css и xpath выражения. Начитался, сижу тыкаю, не получается самому. Ужи и плагины юзал, не помогает. Скрапи освоил, написал простенький парсер на ихнем варике сайта. Но там сайт какой-то до жути простой и код страницы - читаем. Открываю алик или вайлдберис - там пиздец. Не получается норм составить либо css либо xpath выражение. Гдя я что-то упустил?
Аноним 02/10/20 Птн 10:38:00 1821062143
Аноним 02/10/20 Птн 10:38:54 1821063144
Аноним 02/10/20 Птн 11:07:11 1821083145
>>1818760

>Что там пердолить?
Драйвера.

>>1818715

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

Например, не заведется искаробки какой 4G модем и пизда, интернета нет, хай пердолься с гуглением в мобиле.
Аноним 02/10/20 Птн 11:15:36 1821093146
>>1821083
Ставь убунту, для юзерского железа полностью настроена, никакой ебли, все из коробки
Аноним 02/10/20 Птн 12:14:01 1821121147
Аноним 02/10/20 Птн 12:34:55 1821144148
Аноним 02/10/20 Птн 13:08:18 1821153149
Аноним 02/10/20 Птн 16:05:36 1821317150
>>1821153
Нет. Там какие-то пустые общие слова, а в тексте указаны ссылки, которые мертвы.

>>1821144
Вот этот гайд тоже устарел, поскольку 2015 всё-таки, и тогда не факт, что актуальным был.

Сам питон поменялся, всякие там asyncio, format-fstring, 2x окончательно потерял актуальность, другие фреймворки и веб-разработка, django в чистом виде меньше актуален, с дополнениями нужен, flask вообще ВСЁ, появились новые важные фреймворки. Окружение сменилось. Всякие open-cv, расцвели и т.п.

Нужно какое-то новое обзорное пособие. Может где-нибудь есть, а может и всем лень заниматься.
Аноним 02/10/20 Птн 19:03:55 1821442151
Аноним 02/10/20 Птн 19:21:38 1821468152
>>1821442
Словарь прикрути, чтобы не считать каждый раз.
Аноним 02/10/20 Птн 19:25:08 1821473153
>>1821468
Ты хоть в код то смотрел?
Один раз считается
Аноним 02/10/20 Птн 19:49:54 1821489154
>>1821473
Ну у тебя явно в range в is_prime какой-то ебаный брутфорс происходит. Там нужен словарь.
Аноним 02/10/20 Птн 20:02:29 1821495155
>>1821489
Зачем там словарь? Это проверка числа на простоту
Для каждого нового числа всегда заново определяется является оно простым или нет
Аноним 02/10/20 Птн 20:07:13 1821499156
>>1821495
Там идет постоянно цикл от 3 до хуй знает сколько, ещё и округленного. Умножь все итерации на каждый шаг генератора, вот и тормоза.
Аноним 02/10/20 Птн 20:46:00 1821530157
>>1821499
Бля. Каждое число, которое отдает генератор нужно проверять на простоту.
Как ты по другому реализуешь проверку на простоту?
Аноним 02/10/20 Птн 20:48:01 1821532158
>>1821499
Я просто не совсем понимаю видимо, что ты имеешь в виду.
Распиши подробнее, что ты хочешь в словаре хранить?
Аноним 02/10/20 Птн 21:53:01 1821574159
>>1817742 (OP)
Я решил использовать pandas для обработки табличных данных, и у меня возник вопрос организационного характера, даже не касательно конкретно pandas, а вообще насчет места сторонних библиотек в своем проекте. Как принято у серьезных ребят обращаться со сторонними библиотеками:
1. Без задней мысли пихать везде классы и функции из сторонней библиотеки, писать свои функции, которые принимают и/или возвращают объекты из этой сторонней библиотеки, то есть делать так, чтобы код был гвоздями прибит к этой конкретной сторонней библиотеке.
2. Показывать всем, какой ты крутой архитектор и знаток паттеренов, например, написать класс-обертку, и везде в своем коде использовать эту обертку, чтобы при желании легко заменить эту стороннюю библиотеку на любую другую, достаточно написать обертку для этой другой библиотеки.

Пока мне кажется, что второй вариант если и используют в разработке на питоне, то только в каких-нибудь гигантских корпоративных системах, которые будут существовать десятки лет, где-нибудь в гуглах и фейсбуках, то есть в большинстве случаев целесообразней использовать первый вариант, потому что кода не так уж и много, а питон такой весь гибкий и динамичный, что если изменения будут действительно нужны, их будет несложно сделать. Как вообще в питоне с архитектурой и внедрением зависимостей?
Аноним 02/10/20 Птн 22:56:05 1821598160
Аноним 03/10/20 Суб 02:50:21 1821752161
Всем привет.
Я чет туплю с созданием полей формы в джанго. В модели у меня есть таблица, к примеру "заказы", в которой содержится информация о заказе и информация о клиенте, который этот заказ сделал. Соответственно всю информацию о клиенте я вынес в отдельную таблицу "клиенты", а в "заказах" у меня внешний ключ с айди клиента.
Но вот поля для заполнения информации о клиенте и о заказе у меня должны быть на одной странице. Ну и собственно надо чтобы все это создало запись в "заказах". То есть человек заполняет ФИО, телефон, емейл итд, выбирает товар (и ещё пару других параметров) и нажимает кнопку отправить. Я нашел, что джанго сам сделает селект, если у меня есть, например, "категория товара" какая-нибудь в отдельной таблице, где есть только айди категории и список категорий. Но как сделать, чтобы он рендерил поля из связанной таблицы, когда их там несколько и это не селекты? Мне нужно создавать две формы, для информации о клиенте и для информации о заказе и просто рядом их рендерить, как я понимаю. Но как я тогда сделаю, чтобы в бд в таблицу заказов попал соответствующий айди клиента? Ну типа у меня просто заполнится строка в таблице "клиенты" из полей с данными о клиенте и поля с информацией о заказе в "заказах", но как айди клиента попадет в строку с информацией о заказе?
Аноним 03/10/20 Суб 09:51:46 1821835162
>>1821574
А никто не знает!
нужно чтобы прошел десяток лет чтобы они выросли и стали элементом массовой культуры.
Аноним 03/10/20 Суб 11:25:36 1821858163
>>1821574
Учи что такое SOLID. Работа с зависимостями это D - Dependency inversion. Это правило говорит что твой код должен полагаться на интерфейсы, а не конкретные реализации.

Про архитектуру читай книги cosmic python и clean architecture. Там же найдешь ссылки на распространенные практики, такие как TDD, BDD, DDD
https://github.com/cosmicpython/book
Аноним 03/10/20 Суб 11:26:51 1821860164
>>1818314

Почитай про конечные автоматы.
Аноним 03/10/20 Суб 11:52:48 1821874165
>>1821574
смотри сам. если это какой-нибудь прикладной скрипт, который ты побыстрому слепил, чтобы решить какую-то прикладную хуйню, то можешь хуевертить что пожелаешь. упарываться по паттернам в этом случае стоит только в образовательных целях.
Аноним 03/10/20 Суб 13:33:02 1821917166
>>1821874
>>1821835
Ну, в общем, все так, как я и думал. Маленькие программы приемлемо писать как бог на душу положит, а каноничные архитектуры больших еще только формируются.
>>1821858
Я представляю, что такое DI, просто, думаю, техники, например, из джавы, будут в питоне смотртся не очень, хочется знасть про DI именно в контексте питона и его специфики. Вот за конкретную литературу спасибо.
Аноним 03/10/20 Суб 14:29:57 1821973167
>>1820282
А в чём профит профессиональной версии по сравнению с общественной?
Аноним 03/10/20 Суб 14:46:48 1821992168
>>1821858
сейчас бы читать высер погромистов из магазина фурнитуры. охуеть прикол конеш
Аноним 03/10/20 Суб 15:11:18 1822014169
>>1821317
>Может где-нибудь есть
не подскажешь, как его можно найти? Так и гуглить, "гайд для обучения питону"?
Аноним 03/10/20 Суб 16:39:21 1822074170
>>1821973
Во всем
Начиная хотя бы с того что там поддержка js и ts
Аноним 03/10/20 Суб 16:43:31 1822080171
>>1821317
> Вот этот гайд тоже устарел, поскольку 2015 всё-таки, и тогда не факт, что актуальным был.
Гайд вполне актуален.
> Сам питон поменялся, всякие там asyncio, format-fstring
Для этого стоит глянуть changelog новых версий питона. Или ты предлагаешь каждые пол года переписывать/дописывать гайд?
> другие фреймворки и веб-разработка
Например какие? Для твоих пет проектов подойдут старые добрые. В питоне не так уж и много живых и активно юзающихся фреймворков.
> django в чистом виде меньше актуален
Что имеешь ввиду под чистым видом? Без доп. плагинов? Так без них ни один фреймворк не подходит полноценно для реальной работы.
> flask вообще ВСЁ
А вот и нет, вполне активно юзается и для новых проектов тоже. Сам его на проекте использую и очень доволен, все таки его возраст и комъюнити идут ему на пользу.
> появились новые важные фреймворки
Перечисли пжлст, только без asyncio, ибо он вполне давно уже существует.
> Окружение сменилось.
Вот по этой теме гайд бы обновить, да.
> Всякие open-cv, расцвели и т.п.
Расцвели они давно, то что ты их сейчас заметил - другое дело.
> Нужно какое-то новое обзорное пособие. Может где-нибудь есть, а может и всем лень заниматься.
Лично я узнаю про всякие плюшки из статей, а гайд, должен ввести человека в мир питона просто и легко, дать базовые знания, дальше уже можно улучшаться и развиваться, узнавая что-то новое. + Есть охуенный и актуальный, вполне, укус питона.
Аноним 03/10/20 Суб 20:40:52 1822319172
Здравствуйте, помогите ньюфану, пишу программу-игру типо блек-джека, получаю рандомно числа и записываю их в массив.Скрипт зацикливаю.Вопрос, как при зацикливании скрипта сделать так, что бы при окончании скрипта инфа из массива не удалялась? На пыхе бы скажем записал бы в сессию или в куку, но тут интерпритатор без сервера,поэтому интересно как на питоне решаются такие проблемы
Аноним 03/10/20 Суб 21:19:51 1822346173
>>1822080
>Перечисли пжлст, только без asyncio, ибо он вполне давно уже существует.
Так же модели представления данных сильно прогрессируют, тот же pydantic чего стоит
fastapi, aiohttp, starlette, vibora
мимо
Аноним 04/10/20 Вск 00:24:32 1822510174
16017569080370.jpg 210Кб, 1080x746
1080x746
возможно ли вкатиться в бэк с django без опыта?
18 лвл, время и желание есть, но терзают сомнения, потому что часто читал, что без опыта сразу в бэк мега сложно вкатиться, но фронт учить желания вообще нет, знаю основы html, css и чутка js, больше не хочется туда лезть. изучаю python, django, sql. пока все нравится.
Аноним 04/10/20 Вск 01:47:05 1822558175
>>1822319
Что ты под скриптом подразумеваешь?

Если py-файл, то дампай состяоние в json
Аноним 04/10/20 Вск 02:12:21 1822569176
>>1822510
А как тогда ждунами-бэкэндерами становятся? Все это пиздеж и хуйня, учи и всё будет збс. Но кроме Джанни ещё глянь асинхронные фреймворки, типа aiohttp и fastapi.
Аноним 04/10/20 Вск 02:38:04 1822587177
Codeo3fICR4OGJ.jpg 259Кб, 1135x1606
1135x1606
Кто-нибудь может подсказать почему когда нажиаешь кнопку "два", то лямбда вызывает метод anyButton с аргументов "два", а когда первую, то передает boolean False
Аноним 04/10/20 Вск 03:22:35 1822597178
image.png 40Кб, 983x453
983x453
Аноним 04/10/20 Вск 09:53:47 1822669179
Аноны, а аннотации в коммерческом программировании часто применяются на сегодняшний день?
Аноним 04/10/20 Вск 10:32:50 1822688180
>>1822669
Да, у нас это крайне желательным сделали на работе
Аноним 04/10/20 Вск 10:59:18 1822706181
>>1822558
Два чая тебе, про джейсон и не подумал, как работать с ним в питоне уже нагуглю.
Аноним 04/10/20 Вск 12:04:58 1822735182
>>1821917
Ты можешь использовать практики джавы в питоне, если они физически применимы. "Смотрятся не очень" не звучит как нормальное обоснование. Думаю эффектиней будет разбирать конкретные сомнения на примерах.
Аноним 04/10/20 Вск 12:11:34 1822740183
>>1821992
Толсто. И что же читают такие сливки общества как ты?
Аноним 04/10/20 Вск 14:44:36 1822826184
>>1821858
>Dependency inversion
Тред расширяльщиков ануса двумя этажами ниже
Аноним 04/10/20 Вск 15:07:39 1822852185
>>1822669
Прямых требований нет, но я юзаю и на код ревью это помечаю, если нет(правда как "not important")
Аноним 04/10/20 Вск 15:37:59 1822871186
Анонсы, нужен ли ООП?, чет на всех видосах его юзают полтора красноглазика, все в основном просто через скрипты работают
включая всякие ролики от googl'а и прочеого фейсбука
мимо гуманитарий вкатывальщик
Аноним 04/10/20 Вск 16:26:26 1822897187
>>1822669
У нас стоит mypy в режиме strict и все кто не юзают идут нахуй.
Аноним 04/10/20 Вск 18:25:49 1822970188
>>1822871
Понимать базу ООП нужно. На самом деле ООП очень активно используется, в куче библиотек и фреймворков тебе нужно свои объекты наследовать от библиотечных, либо ты просто пользуешься чужими классами-объектами.

В питоне от ООП одно название, учить там и нечего.

Впрочем всё зависит от твоих задач. Если надо лабу сдать или для себя примитивный скрипт написать, то может и не нужно.
Аноним 04/10/20 Вск 21:23:35 1823143189
>>1822970
>В питоне от ООП одно название, учить там и нечего.
Все инструменты для написания ООП кода в питоне имеются.
Аноним 04/10/20 Вск 21:25:22 1823144190
>>1823143
Никогда не понимал таких заявлений, типо у вас ООП не ООП.
Аноним 04/10/20 Вск 21:27:22 1823146191
>>1822669
Прикрутил на все проекты, нехуй писать без типов.
Аноним 05/10/20 Пнд 07:12:03 1823336192

Сап, запрашиваю помощь.

Необходимо написать функцию, даны первый (first) и последний (last) символ строки, а также массив pairs. Если “xy” в pairs, значит в результате y должен следовать за x. Каждая пара может использоваться только один раз. Необходимо выдать все возможные результаты.

Пример: first = “b”, last = “r”,
pairs = [“ar”, “an”, “an”, “ab”, “ba”, “ba”, “na”, “na”]

Функция должна выдать:

“banabanar” (ba + an + na + ab + ba + an + na + ar)

“bananabar” (ba + an + na + an + na + ab + ba + ar)

“babananar” (ba + ab + ba + an + na + an + na + ar)

Как можно это реализовать?
Аноним 05/10/20 Пнд 07:16:33 1823339193
>>1823336
Пять раз перечитал, и все равно не понял суть задачи.
Аноним 05/10/20 Пнд 07:41:31 1823344194
38161E56-CA04-4[...].jpeg 601Кб, 3024x660
3024x660
>>1823339

сорян, может быть с + не очень верно передается суть. Вот в таком представлении понятнее?
Аноним 05/10/20 Пнд 08:43:40 1823356195
image.png 30Кб, 633x362
633x362
>>1823344
Вроде бы понял. Вопрос один: гарантированно ли, что из данных пар можно подобным образом составить слово? Если да, то решается она довольно просто - пикрил.
Аноним 05/10/20 Пнд 08:56:51 1823360196
1339237741373s.jpg 8Кб, 200x200
200x200
>>1823143
>Все инструменты для написания ООП кода в питоне имеются
Кроме перегрузок методов.
Аноним 05/10/20 Пнд 09:01:01 1823363197
>>1823356

да, гарантированно. Спасибо!
Аноним 05/10/20 Пнд 09:06:58 1823365198
>>1823360
>перегрузок методов.
Только причем тут ООП.
Аноним 05/10/20 Пнд 09:12:17 1823367199
>>1823365
Притом, что это один из способов реализации полиморфизма?
Аноним 05/10/20 Пнд 10:15:53 1823397200
>>1821093
>Ставь убунту, для юзерского железа полностью настроена, никакой ебли, все из коробки

Угу, если повезет с железом. Если не повезет то велкам ту пердоль.
Аноним 05/10/20 Пнд 10:21:54 1823398201
image.png 7Кб, 309x199
309x199
Аноним 05/10/20 Пнд 10:28:59 1823402202
>>1823367
>Притом, что это один из способов реализации полиморфизма?
Перегрузка при которой меняются только типы данных в питоне попросту не нужна - достаточно одного метода. Ну а если меняется и количество параметров, то это уже не полиморфизм.
Аноним 05/10/20 Пнд 10:45:22 1823406203
>>1823398

по ходу я пиздец как непонятно объяснил))

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

Не из “banabanar” должны получиться pairs, а из pairs должны получиться “banabanar”, “bananabar”, “babananar”
Аноним 05/10/20 Пнд 10:48:01 1823408204
>>1823406
В itertools есть всякие combination и permutation, если по условию их можно использовать.
Аноним 05/10/20 Пнд 10:56:17 1823412205
Аноним 05/10/20 Пнд 10:57:26 1823414206
>>1823397
Что у него за специфическое железо такое, что бубунта не встанет
Аноним 05/10/20 Пнд 11:10:48 1823421207
>>1817742 (OP)
Почему нельзя замутить питоновский код, который компилится в С/С++? Вот нахуярил ты питоновского кода (по особым конвенциям канешн, с принудительным тайпингом например), запустил внешний компилятор и имеешь на выходе С++ файлы? Тайпскрипт же могет (ну он в жс-ваниллу компилит, но тем не менее)
Аноним 05/10/20 Пнд 11:18:34 1823424208
htmlreport1.png 20Кб, 511x610
511x610
Аноним 05/10/20 Пнд 11:19:47 1823426209
>>1823421
там то компилится в текст,
а ты из интерпритируемого в готовые файлы хочешь?
тут скорее нужен другой язык с синтаксисом как у питона, и чтоб на выходе выдавал цпп текст и его уже потом компилить
Аноним 05/10/20 Пнд 11:37:32 1823433210
>>1823402
>Перегрузка методов относится к одному из способов реализации полиморфизма
>а если меняется и количество параметров, то это уже не полиморфизм
Правда-правда?
>>1823412
Нет.
Аноним 05/10/20 Пнд 13:55:07 1823583211
>>1823144
>Никогда не понимал таких заявлений, типо у вас ООП не ООП.
Тупо нет такого понятия, как интерфейс. В том виде, в каком он есть в C++/Java.

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

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

Хотя на самом деле чистое ООП питону не очень нужно.
Аноним 05/10/20 Пнд 15:24:19 1823686212
>>1823583
Но ведь в С++ нет интерфейсов...
Аноним 05/10/20 Пнд 15:27:03 1823687213
>>1823686
- В плюсах интерфейсов в строгом понимании нет
- АРЯЯ ПУК-СРЕНЬК ВРЕТИ
- Чекай что сам же Страуструп на этот счет говорит
- ДА КОМУ ОН НУЖОН! ПИДОР СТАРЫЙ! НЕТ ИНТЕРФЕЙСОВ ЗНАЧИТ НЕ ООП! ЯСКОЗАЛ!
Аноним 05/10/20 Пнд 15:47:03 1823712214
>>1823583
В питоне есть абстрактные классы что альтернатива интерфейсам и множественное наследование

Так что заделарировать можно


Аноним 05/10/20 Пнд 16:13:36 1823738215
>>1823712
Ну полностью абстрактные классы конечно плюс минус замена интерфейсам, но мозги в жаваооп думают про интерфейсы, а у питонооп получается все равно от реализации, потому что полностью абстрактные классы небось мало кто будет городить везде где в жаве или пхп интерфейс
Аноним 05/10/20 Пнд 17:07:25 1823791216
Привет всем.
Если я хочу в Джанге реализовать регистрацию с помощью email с заделом на то, что у юзера будет возможность восстанавливать с его помощью пароль и так далее (и затем по почте логиниться), то мне, получается, всё равно придётся лезть в батарейки типа django-allauth, или всё более-менее реализовывается стандартными Джанговыми средствами?
Аноним 05/10/20 Пнд 18:27:00 1823837217
Ребята, может поможете советом
Вот думал я вкатываться, после айосов всяких пару лет назад(подучился, но работу не нашел) вот недавно начал пробовать джаву
Пробовал, пробовал, дальше кора не пошёл, думаю пробовать питон
В отличие от джавы дополнительно привлекает возможность фрилансить как никак (скорее всего хуй отсосу с таким рынком нынче, но мало ли)
Сейчас трогаю основы, так вот
Каким путём двигаться, чтобы выйти на фриланс/джун уровень, чтобы уже можно было полностью профессию поменять (эникей-полусисадмин сейчас)
Заранее спасибо
Аноним 05/10/20 Пнд 19:06:55 1823864218
Всем привет, есть, как мне кажется, гениальная, но в то же время звиздецки муторная идея. Как-то раз будучи на очередной встрече друзей и друзей друзей, в голове промелькнула мысль не искать тяночку и не ждать её, а сделать самому, но только в виде ассистента-нейросети типо джарвиса. Проштудировав не одну книжку и статью встала проблема, нужна огромная выборка из диалогов разных тян, при чём ОГРОМНОГО количества тян, иначе это будет похоже на франкенштейна. Поэтому ищу помощи и советов, как это лучше сделать, может кто-то же этим занимался, либо знает в какой книжке хотя бы примерно описано как сделать, чтобы нейросетка помнила каждое написанное юзером сообщение, реагировала на него и запоминала свою же реакцию, хотя бы какое-то подобие разума. Если это нереализуемо в наше время, то можете послать искать работу...
Аноним 05/10/20 Пнд 19:13:41 1823870219
>>1823864
Если для себя, то ты даун
Потому что эта нейросеть это Альберт Эйнштейнты, доунич
Во-вторых нахуя тебе тяночка, от них один головняк
А ещё лучше не так делать
Нейросеть тебе позволит только узко атаковать пиздячий фронт, тогда как тупой лайкобот тендера и надпись привет в матчи дадут больше
Сиди дрочи, питон учи
Аноним 05/10/20 Пнд 19:18:58 1823875220
>>1823870
Спасибо за инфу, ни слова не понял правда, но ладно
Аноним 05/10/20 Пнд 19:28:14 1823880221
>>1822319
Вроде не так давно СОТА в чатботах была Meena.
https://habr.com/ru/news/t/486102/

Но, запоминать она будет только на неокторый контекст назад, вроде 5-6 сообщений. Запониманать навсегда - это уже нереализуемая хуйня, хотя можно попробовать что-то вроде MemoryNetworks использовать, но это прям спекуляция и не заработает.
Аноним 05/10/20 Пнд 19:31:32 1823882222
>>1823738
Фактической разницы в результате нет
Абстрактный класс тот же контракт, а множественное наследование позволяет делать то для чего в других языках нужны интерфейсы
К тому же есть протоколы.
Аноним 05/10/20 Пнд 19:37:18 1823885223
>>1823880
Необязательно навсегда, человек же не может запомнить что говорил его отец/мать 5 дней назад в определённое время, какие-то важные вещи надолго, а простой разговор ну на пару дней максимум, но спасибо за инфу про Мину
Аноним 05/10/20 Пнд 20:15:12 1823900224
>>1823414
c последними рузенами проблемы, есть инфа что и с некоторыми интолами ноутбучными
Аноним 05/10/20 Пнд 20:17:30 1823902225
Подскажите, кто шарит.
Почему PyCharm мне подсвечивает переменную result

for i in range(5):
result = i
print(result)

сам код работает
Подсветка выдает Name 'result' can be undefined

Можно забить или как то с этим можно бороться?
Привел простой пример,а так такую конфигурацию использовал в декораторе.
Аноним 05/10/20 Пнд 20:19:10 1823905226
>>1823902
result в цикле, если бы на месте range оказался пустой массив, то код бы свалился, оно поэтому тригерится
Аноним 05/10/20 Пнд 20:19:27 1823906227
This is the first version of Python to default to the 64-bit installer on Windows. The installer now also actively disallows installation on Windows 7. Python 3.9 is incompatible with this unsupported version of Windows.

Плак-плак.
Аноним 05/10/20 Пнд 20:29:06 1823914228
>>1823900
Реальная проблема может быть с переферийным железом, с сетевыми картами, звуковыми картами, экраном в ноутах и т.п.

Насчёт процессоров не знаю, сомнительно, но возможно.

Может с БИОСом не дружить или ещё что-нибудь.

В общем гарантии, что заработает, как надо, нет.
Аноним 05/10/20 Пнд 20:38:26 1823920229
Аноним 05/10/20 Пнд 20:41:21 1823925230
>>1817742 (OP)
сап харкач, в вузике учил асемблер и си, решил поучить питона и не понял как дебагать, нарыл инфу что делается через функцию breakpoint(), но это пиздец как не удобно, есть ли простой способ чтоб как в вижуале строчку за строчкой смотреть?
Аноним 05/10/20 Пнд 20:41:36 1823926231
>>1823920
>питон
>на шинде
Не на пердоликсе же программировать.
Аноним 05/10/20 Пнд 20:42:02 1823927232
>>1823925
Установить ide типа пайчарма и наслаждаться
Аноним 05/10/20 Пнд 20:43:10 1823928233
>>1823926
>захотел оттестировать либу с uvloop
>пуксреньк
Аноним 05/10/20 Пнд 20:45:41 1823932234
>>1823928
>захотел оттестировать либу с pywin32
Сама Микрософт для разработчиков некоторых игр делает инструкцию, как впердолить DX12 в игру, чтобы работало на W7, а тут такой удар он опеншорша...
Аноним 05/10/20 Пнд 20:47:37 1823934235
>>1823928
>либу с uvloop
>uvloop is a fast, drop-in replacement of the built-in asyncio event loop
То есть заменить назад на asyncio - дело пяти минут.
Аноним 05/10/20 Пнд 20:49:18 1823936236
Аноним 05/10/20 Пнд 20:50:52 1823937237
download.png 688Кб, 800x600
800x600
>>1823936
>Тянуть линух в шинду, что бы протестировать код, который на ней не работает
Аноним 05/10/20 Пнд 20:51:48 1823940238
>>1823934
Помню на прошлом проекте sanic юзался, у которого нельзя выпилить uvloop
Аноним 05/10/20 Пнд 20:56:17 1823944239
>>1823927
спс, не понятно кто вообще делает все эти ide без возможности дебагинга
Аноним 05/10/20 Пнд 21:24:08 1823964240
>>1823914
Сам сталкивался с проблемами сетевой карты, совместимости автозагрузок ебунты и шиндоус на одном жд, артефакты видеокарты интегральной ноутбучной ншидиа, у знакомого убунта не стала на новом ноутбуке за 1к$.

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

Секса с линухом все равно много.

И даже с всяким сексом линух все равно лучше и стабильнее чем шиндовс, плюс очень удобный терминал
Аноним 05/10/20 Пнд 21:26:10 1823968241
Кто-нибудь пробовал собирать апк для андроида? Что юзали, бульдозер? Если да, то юзали из под виртуалки иди докера, как полет вообще, есть гайды по этому поводу. Или никто не пилит прилки для андроида на питоне?
Аноним 05/10/20 Пнд 22:00:38 1823977242
>>1823968
просто бери и делай.
Работобыдло считает зашкваром изучать невостребованные на галерах технологии.

Билдозер работает нормально в виртуалке. Много ебатни с собственно мобильной разработкой как таковой.
Аноним 05/10/20 Пнд 22:01:40 1823978243
16014580140990.png 308Кб, 736x736
736x736
>>1823944
Если б ты знал, как меня однажды заставили делать лабы turbo pascal на vax vms .
Но ничего. Справился.
Аноним 05/10/20 Пнд 22:06:50 1823981244
Коданы, дана матрица пикселей RGB (трехмерный массив, кароч, где пиксель - трехэлементный массив)
Как в питоне можно ЭЛЕГАНТНО (кроме как вложенными for-ами) найти координаты тех пикселей, где сумма значений для RGB минимальна и максимальна
всю жизнь писал на похапе и js
Аноним 05/10/20 Пнд 22:10:11 1823984245
>>1823981
элегантно - это numpy и opencv
Аноним 05/10/20 Пнд 22:19:18 1823986246
>>1823981
Этот >>1823984 прав. Конкретно:

import numpy as np
import cv2 as cv

image_path = "image.png"
img = cv.imread(image_path)
img = img.sum(axis=2)
min_coord = np.argwhere(img == img.min())
max_coord = np.argwhere(img == img.max())
Аноним 05/10/20 Пнд 22:22:14 1823988247
>>1823968
Юзал бульдозер, виртуалку, все норм. Немного ебли с конфигурацией было.
Аноним 05/10/20 Пнд 22:43:32 1823992248
Аноним 05/10/20 Пнд 23:18:44 1824010249
Чет ничего полезного в питоне 3.9
Аноним 05/10/20 Пнд 23:20:28 1824012250
>>1823977
>>1823988
Ну ок, я не нашел на оф сайте киви ссыль на скачивание бульдозера для виртуал бокс. Они потерли образ, или нет, или перенесли разработку в докер?
Аноним 06/10/20 Втр 00:04:23 1824030251
>>1824012
нахуй тебе этот образ для безруких? не можешь с нуля убунту соответствующей версии накатить?
Аноним 06/10/20 Втр 05:45:58 1824101252
Пацаны, однажды изучал пистон, но уже еихуя не помню. Хочу научиться скраперы делать, есть гайд подробный для долбоебов? А то в гугле чет ёбань одну нахожу
Аноним 06/10/20 Втр 07:45:01 1824118253
>>1823905
А как с таким бороться? Выше result = 0 объявлять или как-то через try/catch можно тут?
другой-анон
Аноним 06/10/20 Втр 08:02:08 1824122254
Есть, кто использовал связочку fastapi + tortoise orm? Столкнулся с непонятной хуйней, памахите
Аноним 06/10/20 Втр 11:53:59 1824246255
>>1824030
Да я и так юзаю линух, там просто хуева туча зависимостей для бульдозера. Но юзаю я ни убунту. Вопрос то простой. Как лучше заюзать бульдозер, на виртуалке или в докере? Или вообще емго можно как-то накатить в моем дистре.
Аноним 06/10/20 Втр 12:13:48 1824262256
>>1824118
Лучше всего делать дефолтное значение
Аноним 06/10/20 Втр 12:14:13 1824264257
>>1824122
Ну ты вбрось код и трейсбек
Аноним 06/10/20 Втр 12:55:53 1824297258
Есть, кстати кто на фрилансе питонит?
Шо почем по времени деньгам у кого?
Скрапперы/веб/етс?
Аноним 06/10/20 Втр 13:06:00 1824309259
yes.png 243Кб, 680x709
680x709
>>1824246
>там просто хуева туча зависимостей для бульдозера
Да.

И ? у тебя маленький диск?
Аноним 06/10/20 Втр 14:37:04 1824389260
Скипнул у Лутца главу про pydoc. Какие подводные?
Аноним 06/10/20 Втр 14:55:51 1824418261
>>1824389
"Скипнул у Лутца главу про pydoc"
Плюсы
- в голове пусто
Минусы
- а голове пусто
Аноним 06/10/20 Втр 15:02:55 1824423262
>>1824264
Тогда оно станет понятной хуйней
А он столкнулся с непонятной

Так что не вариант
Аноним 06/10/20 Втр 15:33:53 1824442263
>>1824246
Я buildozer поставил прямо в дистр (mint). Apk'шки компилятся на ура, чего и вам желаю.
Аноним 06/10/20 Втр 16:04:19 1824473264
>>1824442
Ну ок, у меня тоже линух. Если я поставлю бульдозер pipом в виртенв, работать будет? Там же все зависимости подтянутся так? Я читал на хабре что долго компилится апк очень.
Аноним 06/10/20 Втр 16:36:34 1824492265
>>1824473
Не думаю, что такой подход сработает. Лучше установить билдозеровские зависимости самостоятельно, актуальный список сейчас не найду, у меня был примерно такой https://dumpz.org/cdb6b7rFXzsF
Ну а после установить сам buildozer с помошью setup.py (см. ссыль выше).

Компиляция вообще не быстрый процесс, а ещё и требовательный к объёму дискового пространства.
Аноним 06/10/20 Втр 17:22:18 1824528266
Призываю спецов декораторов с параметрами.

https://pastebin.com/5niAsCqC

балуюсь с декораторами. вот хотел узнать, можно ли как то из этого же модуля где вызывается функция изменить параметр декоратора
(в коде по умолчанию dargs=10)

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

Аноним 06/10/20 Втр 18:36:32 1824609267
photo2019-10-31[...].jpg 188Кб, 1200x1200
1200x1200
Вот смотрите, у пистона под капотом сишные и крестовые библиотеки.

Вопрос - возможно ли скомпилировать питон код в исполняемый бинарник? Желательно оптимизированный, без вороха лишних зависимостей.
Аноним 06/10/20 Втр 18:40:07 1824610268
Аноним 06/10/20 Втр 20:18:11 1824736269
Аноним 06/10/20 Втр 22:14:34 1824826270
>>1824736
Нет я не он, я хочу ширусы на Питоне писать.

>>1824610
Спасибо.
Аноним 06/10/20 Втр 23:36:06 1824847271
102123120.jpg 401Кб, 1538x2613
1538x2613
Какие книги по программированию на Python для полного чайника вы посоветуете?
Аноним 06/10/20 Втр 23:37:55 1824848272
Аноним 06/10/20 Втр 23:50:31 1824852273
>>1824848
Хорошо, а какую книгу порекомендуешь если я вообще не знаю как программировать?
Аноним 06/10/20 Втр 23:51:43 1824854274
>>1824852
хауди хо пайтон за час
Аноним 06/10/20 Втр 23:52:26 1824855275
Аноним 07/10/20 Срд 00:35:22 1824870276
>>1824855
Все что тебе нужно знать.
Есть переменные. И есть структруы данных, массивы там всякие и прочая ебулда.
И есть флоу, то есть логика. Всякие ифы, вайлы, и тд. Почитай.
Далее, все это собирается в блоки, те в функции, чтобы не писать одно и тоже по сто раз.
Все. Можно расходиться.
Ах да, есть еще и ооп, всякие классы. Это чтобы еще меньше писать кода и чтобы было еще быстрее.
Ах, да, и чтобы совсем было просто - фреймворки, чтобы не только просто, но и быстро.
Читай укус питона. Думаю этого хватит. У меня трудности были только с ооп. С декораторами. И недавно допонял про генераторы.
Ну и да, оф сайт и оф доки. Могу еще посоветовать эту няшу https://www.fullstackpython.com/
там про бек про фронт про деплой и про девоп.
Аноним 07/10/20 Срд 01:03:51 1824872277
>>1824609
Дело не в библиотеках, а в машине интерпретатора. На самом деле так просто транслировать скриптовый язык в бинарный код нельзя, много ограничений и подводных камней.

Вместо Cython лучше посмотри на Nuitka. Хотя я сам на практике его пока не использовал.

Аноним 07/10/20 Срд 04:04:10 1824906278
>>1824609
Между твоими утверждениями нет никакой связи. Ну и что что там сишный код под капотом? Тебе же всё равно придётся реализовать PyObject и перекладывать их туда-сюда. И так как PyObject непрозрачен, так как сам язык тебе не гарантирует ничего о его содержании и какие можно ограничения наложить читай оптимизировать под железо, ты придёшь всё равно к тому что есть стандартные питонячий байткод и виртуалочка. То есть, лучшее что ты можешь сделать это зашить в исполняемый бинарь и интерпретатор, и байткод приложения.

> Желательно оптимизированный, без вороха лишних зависимостей.
Где связь между оптимизацией и зависимостями? Тебе надо быстро чтоб работало или минимальный размер бинарника? Так вот, эти вещи обычно никак между собой не связаны.
Аноним 07/10/20 Срд 04:08:12 1824909279
>>1823421
Теоретически можно. Но объектная модель питона кардинально отличается от объектной модели C/C++. Внутри всё равно придётся создавать dict для полей, слоты и прочее питонячее, чтобы оно работало. Выигрыш в скорости совсем не оправдает затрат. Скорее всего, придётся изобрести отдельный язык, но это уже за тебя сделали, называется cython.
Аноним 07/10/20 Срд 04:12:15 1824911280
>>1824528
В общем случае, единственный вариант это применить декоратор заново, на исходную функцию. Если же там применение через собачку, то всё, отковырять исходную функцию нельзя.
Аноним 07/10/20 Срд 04:17:29 1824913281
>>1824297
У меня плохой опыт со скрапперами. Их хотят чуть ли не за бесплатно. При том что часто всё закрыто капчами и требует пул проксей. Ещё часто приходят поехавшие, которые хотят чтобы ты отскраппил мобильное приложение. Не то чтобы это было совсем невозможно, но перехват и реверс протокола приложения, это удовольствие не из дешёвых. Не говоря уже о том, что с твоего базового аккаунта большая часть информации будет недоступна. Ещё часто хотят не просто результат скраппинга, а программу в виде exe под винду блядь, чтобы заказчик мог сам запускать скраппинг когда ему нравится.
Аноним 07/10/20 Срд 04:20:41 1824915282
>>1824101
Scrapy бери. Он вроде бы дефакто стандарт. Но вообще это всё на коленке можно наколхозить за пару дней. import requests, import bs4 и запиздил писать чо куда тебе сложить. Читай что такое xpath, css селекторы, да в целом вебстандарты нужно хорошо знать. Уровень 2 это освоить селениум.
Аноним 07/10/20 Срд 04:23:47 1824916283
>>1824010
union operators added to dict
string methods to remove prefixes and suffixes
можно теперь не импортировать typing на каждый чих

Что тебе тут не полезно?
Аноним 07/10/20 Срд 04:29:47 1824919284
>>1823864
У тебя постановка задачи хуёвая. Что твой ассистент должен делать? Какие требования? Как ты будешь измерять насколько ты достиг цели?

Зачем тебе диалоги тянок? Хотя безусловно, если поизучать бигдату из диалогов тян, то можно найти интересные закономерности. Но от такого изучения до полноценного ИИ как до луны раком.
Аноним 07/10/20 Срд 04:33:44 1824920285
>>1823837
Фриланс это не просто знание языка, это даже не просто программирование, это даже не постановка задач, архитектурка и ведение проектов, это даже не просто железная самодисциплина, это ты ещё сам себе гендиректор, продажник, маркетолог, переговорщик с клиентами, по совместительству человек-пароход и оркестр в одном лице. Мой тебе совет, начни с работы на дядю, но на релевантном месте. Питонист так питонист, а не чистильщик сортиров в конторе где есть питонисты.
Аноним 07/10/20 Срд 04:34:42 1824921286
>>1823791
Стандартных средств хватит с головой. От джанги у тебя только формочки и модельки потребуются.
Аноним 07/10/20 Срд 05:00:02 1824923287
>>1824915
Я нашел скрэпи этот вчера. Сказано он проще чем суп. Попробую разобраться. Там вроде мини-гайд такой, если норм, то потом ссылку кину
Аноним 07/10/20 Срд 07:15:41 1824945288
Аноним 07/10/20 Срд 07:39:33 1824956289
>>1824923
У него там внутри суп или аналог. Скрэпи это скорее фреймворк, где конвейер уже поставили за тебя, добавили асинхронность и возможность установить готовые части этого конвейера.
Аноним 07/10/20 Срд 07:41:27 1824957290
>>1824945
Нинужнитка. Хоспаде, сколько нейронов ньюфажики тратят на покраску сарая для велосипеда. Нет бы программы писать, нет, хочу пердолиться и запаковать всё в один exe с красивой иконочкой.
Аноним 07/10/20 Срд 07:52:43 1824961291
>>1824956
Да не спойлери, а то мне не интересно будет читать
Аноним 07/10/20 Срд 08:03:01 1824963292
1509094529.jpg 74Кб, 743x720
743x720
Посоны, насколько сложно вкатиться в питон на уровень, достаточный для написания бота для телеграм?
Аноним 07/10/20 Срд 08:26:56 1824973293
>>1824963
Если нет опыта в программировании или близких вещах, то сложно. Ребёнка зачать и родить быстрее.
Аноним 07/10/20 Срд 08:34:04 1824975294
>>1824973
кстати да, и за это 400к дадут
сколько ты эти деньги будешь на питоне зарабатывать еще хуй знает
Аноним 07/10/20 Срд 08:39:07 1824978295
>>1824913
>Их хотят чуть ли не за бесплатно.
Мне кажется, это общая проблема всех массовых заказчиков. Они хотят продукт за копейки, не понимают, что за этим стоит большая и сложная работа. Плюс заходят на фриланс сайты, видят непонятные объявления о заказах за 500 рублей, когда кто-то заказывает, и получает предложения на исполнение, и искренне считают, что вот столько это и стоит. Ну может если в два раза больше заплатить, то точно.

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

В итоге у одних возникает моральный настрой на копеечность и отношение к исполнителю как ко дну, они не готовы платить даже за сложные вещи, которые за копейки не сделают (но могут пускать пыль в глаза, что сделают), а другие быстро бросают занятие за бесперспективностью, уступают место другим.
Аноним 07/10/20 Срд 09:36:06 1825000296
>>1824973
Сайты верстать могу, вот и весь опыт.
Аноним 07/10/20 Срд 10:36:41 1825023297
Пацаны, не бейте, лучше обоссыте. Как записать
if a <= 10 and b <= 10 and c <= 10 and d <= 10: в более удобоваримом виде.
Аноним 07/10/20 Срд 10:37:57 1825025298
Аноним 07/10/20 Срд 10:46:24 1825032299
>>1825023
if (all([True if ch > 10 else False for ch in [a,b,c,d]]))


если так больше нравиться то пжлста
Аноним 07/10/20 Срд 10:49:35 1825037300
Аноним 07/10/20 Срд 10:52:49 1825041301
>>1825037
О, вот так заебэга, спасибо.
Аноним 07/10/20 Срд 10:53:11 1825042302
15530052257220.png 19Кб, 123x128
123x128
>>1824872
>Вместо Cython лучше посмотри на Nuitka.
>Хотя я сам на практике его пока не использовал.
Аноним 07/10/20 Срд 11:01:15 1825050303
>>1824956
Бдять, чет через пип ставить начал, под конец высралось все красным и там одни ошибки. Почитал, пишут мол надо накатывать на 2.7, с остальными тип ебано, а я 3.9 скачал вот только и 3.8 стоит старая. Ну и бля в другом месте вообще пишут мол надо в виртуальном окружении это делать. Попробовал virtualenv поставить, потом хуй знает че делать. Нихуя не могу разобраться чет, скачал книгу про скрапинг, но она 16 года. Полистаю бдядь
Аноним 07/10/20 Срд 11:06:29 1825054304
a19078cd9287855[...].jpg 52Кб, 500x421
500x421
results210.png 119Кб, 593x306
593x306
Аноним 07/10/20 Срд 11:19:10 1825059305
>>1824847
Я прочитал укус питона и нихуя не понял. Теперь читаю Лутца и благодаря первой книге во всё врубаюсь. Но там 1600 страниц.
Аноним 07/10/20 Срд 11:30:02 1825063306
>>1824528
Ты хочешь изменить после применения декоратора? Тогда, наверное, только если вот так https://ideone.com/f7xgzl но это наркомания какая-то.
А если просто добавить дополнительный параметр к декорируемой функции, то, наверное, вот так: https://ideone.com/H4Qsiv
Аноним 07/10/20 Срд 11:38:43 1825066307
>>1825059
Я наоборот по укусу заебись пробежался, а с лутца обзмеился и засыпал блять пока читал
Аноним 07/10/20 Срд 11:47:49 1825069308
>>1825066
Пробежался то я пробежался. Я книжку понял. Я не понял питон.

Скучно читается только вводная часть, а потом уже идёт конкретика. Очень подробная и дельная. Я из тех людей, кого больше обламывает чувство неопределённости, а не объём информации. Лутц не оставляет вопросов, которые не знаешь как задать. Если чего-то не понял, то знаешь что не понял и куда гуглить. Но он конечно заебал объяснять что 2+2=4 и повторять это 3 раза чтоб я не забыл. На третий раз уже сомневаешься что понял. Ведь такую простую вещь три раза повторять не будут? Будут. Ещё четвёртый раз объяснит падла такая. Ещё про питон 2.хуйморжа расскажет, как они в 40е годы писали это не так как сейчас. Но мне по кайфу.
Аноним 07/10/20 Срд 12:08:49 1825079309
>>1825063
спасибо. очень помогло.
Аноним 07/10/20 Срд 12:12:40 1825081310
>>1825069
вот то что он везде пистон 2 вставляет, ет да бесит в книге. А так то что нужно для понимания всего базиса. Дальше уже К вершинам мастерства читать и Книгу рецептов питона.
А потом все это смазать алгоритмами Кормена.
Дальше уже в специализацию можно уходить.
Аноним 07/10/20 Срд 12:55:35 1825113311
>>1825025
Электрические.))))))))))
Аноним 07/10/20 Срд 14:59:44 1825209312
А где вообще можно обсудить телеграм ботов: годнота и прочее? Не нашёл такого треда.
Аноним 07/10/20 Срд 15:26:49 1825221313
>>1825209
А что ты хочешь обсудить? Одно дело если ты хочешь вкатиться в ботописатели, другое если тебе надо по-быстрому бота написать, чтобы одноклассников удивить. Опиши задачу, чтобы знать куда тебя посылать.
Аноним 07/10/20 Срд 15:38:50 1825229314
>>1825221
Я хочу, чтобы бот подписался на каналы на Ютуб и присылал мне не видео, а аудио с них, например.
Ещё хочу ленту из нескольких рсс источников с instant view.
Аноним 07/10/20 Срд 15:40:04 1825231315
>>1825229
О, мне тоже интересно. Напиши сюда если найдешь интересные источники.
Аноним 07/10/20 Срд 15:42:39 1825232316
>>1825231
Я сунул в свою группу бота, который присылает видео из каналов на Ютуб, и бота, который по ссылке на видео присылает аудио, но второй бот не реагирует на сообщения первого и мире нужно переслать сообщение первого в ту же группу, тогда второй пришлёт аудио. Ну хоть так, хотя хотелось бы лучше.
Аноним 07/10/20 Срд 16:07:31 1825250317
>>1825229
Тебе нужно будет примерно следующее:
- Любая библиотека для написания бота
>чтобы бот подписался на каналы на Ютуб
- Любая библиотека для общения с youtube api
>присылал мне не видео, а аудио с них
youtube-dl такое умеет, например.
Если раньше не программировал, то будет сложно, да и не стоит оно того, ради одного бота страдать. Проще найти готового.
>>1825232
Они и не должен реагировать https://tlgrm.ru/docs/bots/faq#pocemu-moj-bot-ne-vidit-soobsenij-ot-drugih-boto
Если эти боты на гитхабе валяются, то можно попробовать их объединить.
Аноним 07/10/20 Срд 16:30:36 1825271318
Может кто-нибудь обьяснить мемес?
Если написать "python iebalmamash.py", то все библиотеки запустятся, но судошные права программа не не получит.
А если написать "sudo python iebalmamash.py", то питон не найдет библиотеки. Почему? Как дать судошные права проге?

(В общем то м.б. это XY проблема. У меня ардуина с большой вероятностью шлет нахуй при попытке подключиться к ней. Малина говорит что порт занят.)
Аноним 07/10/20 Срд 16:37:19 1825275319
>>1825271
Попробуй выполнить 2 команды:
which python
sudo which python
Если пути разные, то яснопонятно.
Аноним 07/10/20 Срд 16:39:35 1825280320
image.png 15Кб, 423x93
423x93
>>1825275
Одинаковые.
Удивительная херня.
Аноним 07/10/20 Срд 16:48:04 1825297321
Добрый вечер подскажите Noob как сделать так, чтобы питон считал количество пиксилей на экране от определнной точки до определенной точки?
Аноним 07/10/20 Срд 17:04:28 1825312322
image.png 2Кб, 410x43
410x43
Умоляю, помогите.
Нужно создать .exe из кода. Делал по инструкции через pyinstaller --onefile main.py
А по итогу такая залупа. Как сделать .exe из .py?
Пользуюсь Anaconda. Pyinstaller до последней версии обновил
Аноним 07/10/20 Срд 17:09:07 1825318323
>>1825280
Тогда непонятно. Видимо питончик устанавливает библиотеки куда-то в домашнюю директорию пользователя. Гугл говорит, что надо sudo с ключом -E запускать.

Аноним 07/10/20 Срд 17:30:42 1825327324
Посоны, а знает кто-то таких ботов?
- репост из тг-канала в мой канал с вайтлистом либо блеклистом содержимого
- подписка на ветку форума 4пда с вайтлистом парсинг
Аноним 07/10/20 Срд 17:43:56 1825333325
>>1825280
Посмотри что внутри этого /usr/bin/python
Уверен там йобаскрипт, который выбирает нужный питон через такую-то матерь.
И ещё, запусти каждый из питонов и напечатай sys.path
Аноним 07/10/20 Срд 17:45:11 1825335326
>>1825312
А ты без пайинсталлера запускал? Там абсолютно обычная ошибка.
Аноним 07/10/20 Срд 17:46:30 1825337327
>>1825229
Казалось бы, причём тут телеграм..
Аноним 07/10/20 Срд 17:48:15 1825341328
Аноним 07/10/20 Срд 17:49:33 1825343329
>>1825050
Ты лучше ошибочки почитай и погугли. Тебе скорее всего компилятор для какой-то хуйни нужен.
Аноним 07/10/20 Срд 18:02:54 1825356330
>>1825312
Через Spyder работает отлично. Двойным кликом по файлу ничего не запускает
Аноним 07/10/20 Срд 18:59:12 1825388331
>>1825059
А какую книгу Лутца ты прочел?
Только не говори что "Изучаем Python" Том 1 и 2 Марка Лутца.
Я только что пытался ЭТО читать - и более занудной, неудобной для чтения и восприятия написанного книги я не встречал.
Аноним 07/10/20 Срд 19:01:55 1825391332
>>1825066
>>1825069
>а с лутца обзмеился и засыпал блять пока читал
>Скучно читается только вводная часть, а потом уже идёт конкретика. Очень подробная и дельная. Я из тех людей, кого больше обламывает чувство неопределённости, а не объём информации. Лутц не оставляет вопросов, которые не знаешь как задать. Если чего-то не понял, то знаешь что не понял и куда гуглить. Но он конечно заебал объяснять что 2+2=4 и повторять это 3 раза чтоб я не забыл. На третий раз уже сомневаешься что понял. Ведь такую простую вещь три раза повторять не будут? Будут. Ещё четвёртый раз объяснит падла такая. Ещё про питон 2.хуйморжа расскажет, как они в 40е годы писали это не так как сейчас.
Наверное придется эту занудную книгу прочесть...
Но я наверное с ума сойду пока буду читать это...
Аноним 07/10/20 Срд 19:35:53 1825406333
>>1825391
>Наверное придется эту занудную книгу прочесть...
>Но я наверное с ума сойду пока буду читать это...
Мне кажется, что такие книги ещё более-менее можно читать с нуля. А когда уже что-то знаешь и умеешь, читать их невозможно.
Аноним 07/10/20 Срд 22:21:41 1825495334
>>1825406
Мы с тобой точно про одну и ту же книгу говорим?

Цитата из "Изучаем Python" том 1, Часть II. Глава 4. "Введение в типы объектов Python":

"В настоящей главе начинается наше путешествие по языку Python. Неформально в Python мы делаем дела с помощью оснащения. “Дела” принимают форму операций, подобных сложению и конкатенации, а “оснащение” относится к объектам, на которых мы выполняем такие операции. В этой части книги внимание будет сосредоточено на оснащении и на делах, которые наши программы могут делать с его помощью.
Простите за формальность. Я специалист в области компьютерных наук. Выражаясь чуть более формально, данные в Python имеют форму объектов — либо встроенных объектов, предоставляемых Python, либо объектов, которые мы создаем с применением классов Python или внешних языковых инструментов, таких как библиотеки расширений С."
Просто. Вчитайся. В. ЭТО.
Это ж постараться надо, чтоб такое написать.
У Лутца была цель чтоб никто ничего не понял? Если да - то он справился.
Аноним 07/10/20 Срд 22:30:58 1825499335
>>1825495
Ну хуй знает, я все понял и написано не так уж плохо. Сейчас читаю Фрэнка Герберта в переводе, вот там такой мафндфак иной раз. Почему я техническую литературу читаю так неохотно, пиздец.((
Аноним 07/10/20 Срд 22:38:50 1825504336
Аноним 07/10/20 Срд 22:39:42 1825505337
Если я вижу проект, в котором большинство методов включает параметр kwargs, значит ли это, что я вижу перед собой говнокод?
Аноним 07/10/20 Срд 22:58:14 1825514338
>>1825504
Уже прочитал, мессию заканчиваю. Как раз с циклом к декабрю закончу.
Аноним 07/10/20 Срд 23:55:11 1825542339
Аноним 08/10/20 Чтв 00:54:07 1825553340
>>1825505
Если это не в обертках над другими либами, где kwarg используется как проброс параметров, то скорее всего да
Аноним 08/10/20 Чтв 00:57:23 1825554341
Аноним 08/10/20 Чтв 02:38:24 1825570342
>>1825343
Да седня гляну. Кст еще вопрос, стоит ли накатывать анаконду? Я прост когда учил пистон, хуярил тупо в идле и в нотепад++. Про анаконду в книгах чет нихуя не было, а в треды не залазил чет
Аноним 08/10/20 Чтв 02:41:51 1825571343
>>1825391
>>1825495
Да нахуй, в пизду. Обзмеитесь же. Ну либо бегло пробегать всю эту воду и останавливаться только на примерах. Я вот учил помню по укусу и потом 17 года эрик метис чтоли. Там просто и понятно и дохуя интересных примеров, даже галагу создавать например.
Аноним 08/10/20 Чтв 03:14:35 1825577344
>>1825570
Анаконда это набор научных пакетов, которые бережно скомпилировали, добавили все нужные зависимости, которые через пип не ставятся, чтобы всякие машинные обучатели не ходили не форумы и не спрашивали почему у меня пип инсталл упал с ошибкой. Конечно же там далеко не всё, и выборка пакетов именно научная. Тебе оно скорее всего не нужно.
Аноним 08/10/20 Чтв 04:40:16 1825590345
>>1825577
Хм, окей. Тогда повременю с этой херней пока что, а то и так слишком дохуя информации чет. Спасибо
Аноним 08/10/20 Чтв 08:10:36 1825629346
>>1825388
Первый том дочитываю, да.
Аноним 08/10/20 Чтв 08:20:42 1825636347
>>1825495
>Просто. Вчитайся. В. ЭТО.
>Это ж постараться надо, чтоб такое написать.

Это переводчики такие. Переводить книги давно уже разучились, была хорошая советская и постсоветская культура, когда переводили действительно хорошо, книги не уступали оригиналам. А сейчас говно, тяп-ляп, похоже на автопереводчики, надо в уме переводить обратно, чтобы смысл был ясен. В оригинале же всё лучше:
========
This chapter begins our tour of the Python language. In an informal sense, in Python, we do things with stuff. “Things” take the form of operations like addition and concatenation, and “stuff” refers to the objects on which we perform those operations. In this part of the book, our focus is on that stuff, and the things our programs can do with it.

Somewhat more formally, in Python, data takes the form of objects — either built-in objects that Python provides, or objects we create using Python or external language tools such as C extension libraries.
===========
Мой беглый перевод:
В этой главе мы начинаем наше путешествие в мир Питона. Неформально говоря, в Питоне мы "делаем что-то" с какими-то "вещами". "Что-то" это разного рода манипуляции, вроде сложения чисел или слияния строк, а "вещи" это объекты, над которыми мы производим эти манипуляции. В этой части книги мы сфокусируемся на этих "вещах" и на том, что наши программы могут с ними делать.

Более формально, в Питоне данные представляются в виде объектов — как тех, что предоставляет сам Питон, так и тех, что мы создаём сами на языке Питон или с помощью расширений, например на языке Си.
===========
Мой вариант тоже далёк от высокой культуры перевода, но ИМХО уже более понятен. Если переводить так или чуть лучше, то читать уже можно. Ну или надо читать оригинал.

Просто правило для любой технической или научной литературы. Нужно или читать ХОРОШИЙ перевод, или читать оригинал. С хорошими переводами сейчас тяжело. Какие-то индустриальные вещи иногда хорошо переведены, скажем по Postgres документация (несколько тысяч страниц!), но в основном переводы говно никуда не годное.
Аноним 08/10/20 Чтв 08:27:45 1825641348
Снимок экрана в[...].png 70Кб, 1362x476
1362x476
Снимок экрана в[...].png 69Кб, 926x314
926x314
>>1825636
Да, перевод плохой. Есть даже термины, которые в таком контексте у нас никто не использует. Не вспомню примеры. Так что при любом затруднении надо открывать оригинал и смотреть что там было за слово.
Аноним 08/10/20 Чтв 09:09:52 1825660349
>>1825505
то ты читаешь исходники pandas.
Аноним 08/10/20 Чтв 09:26:51 1825666350
Аноним 08/10/20 Чтв 11:12:24 1825709351
Аноны, сейчас пишу фронт на JS'е, но хочу пересесть на иглу бекэнда и тут выбор на какой стул сесть:
1) питон и джанго
2) шарп и дотнет
к обоим язык отношусь хорошо. Шарп привлекает чуть больше тем, что у него статическая типизация и по субъктивному моему мнение, он лучше для бекэнда заходит
Но на питоне вариант вкатиться прям на текущей работе, потому что стек в беке питон + го
Аноним 08/10/20 Чтв 11:13:27 1825711352
>>1825356 -->>>1825335
Сори мисклик
Аноним 08/10/20 Чтв 11:14:11 1825712353
>>1825312
Бамп вопросу, я с ума сойду скоро с этой дичью
Аноним 08/10/20 Чтв 11:57:51 1825765354
>>1825312
Странно, пользуюсь пайинсталлером, нет таких проблем. Ты прямо батником делаешь?
У меня так:

@echo off
set file=имя_файла_без_расширения
set localpath="путь_до_папки_с_файлом\%file%.py"
set pythonpath="путь_до_пистона\Scripts"

cd /d %pythonpath%
pyinstaller.exe --onefile %localpath%
move %pythonpath%\dist\%file%.exe "путь_куда_поместить_итоговый_экзешник"
pause
Аноним 08/10/20 Чтв 12:40:49 1825813355
>>1825554
Ccсука, на следующий октябрь перенесли.
Аноним 08/10/20 Чтв 13:47:38 1825856356
Привет, двач, есть у кого пет проект какой-нибудь или что-то такое, где помощь нужна, хотел бы получить опыт в командной разработке. Стек: python, django, posgresql, telegram api, могу написать вебсервис или протестировать что-то, знаком с rest, версткой, git и более мелкими вещами. Если проект интересный, то готов углубится в новую технологию
Tg @yellowpearl
Аноним 08/10/20 Чтв 16:12:57 1825947357
Опытные книголюбы и другие любители своего дела. Подскажите актуальность книги Марка Лутца Программирование на Python
русс версия 2011 года выпуска вроде
en 2013.
На сколько информация в данной книге актуальна?
Или это золотая классика питониста?
Возможно есть более свежие, упитанные тома по питон(версии 3.6+)
Если читали и то и другое, то реквест-мнением поделитесь .
Аноним 08/10/20 Чтв 16:27:30 1825964358
>>1824852
Классика - марк лутц изучаем питон
Или курсы по питону, на степике
Аноним 08/10/20 Чтв 17:33:58 1826013359
>>1825641
Русский язык вреден для обучения программированию. В терминологии страшная каша.
Аноним 08/10/20 Чтв 17:36:30 1826019360
>>1825709
Становись фулстеком. Попробуй и то и другое.
Аноним 08/10/20 Чтв 17:57:28 1826039361
Аноним 08/10/20 Чтв 18:03:40 1826045362
>>1826019
И пику в глаз и в жопу раз. Все как у людей.
Аноним 08/10/20 Чтв 18:08:56 1826048363
>>1825947
Ну такое. Старое форматирование строк времён py2, ospath вместо pathlib, всякие технологии древних вроде CGI под апачем, tkinter вместо нормального тулкита, вместо PIL надо Pillow. Мне конечно нечего предложить взамен, я не спец по книгам для начинающих, в целом наверное даже всё что есть в этой книге сработает на современном питоне, но будет местами устаревшее.
Аноним 08/10/20 Чтв 18:09:57 1826049364
>>1826045
Потому что никто кроме тебя это не решит. Максимальная субъективщина. Ну ещё в шарпе нет гила.
Аноним 08/10/20 Чтв 18:44:08 1826063365
Подскажите, пожалуйста, как взаимодействовать с mysql другого человека через shh? Как приконектиться и делать апдейты в базе на его localhost? Ничего путного что-то не нагуглил. В pycharme через datasource в базу зайти удалось, но на большее меня не хватило.
Аноним 08/10/20 Чтв 19:27:35 1826121366
Жопитер ставится на шиндоус?
Аноним 08/10/20 Чтв 20:21:57 1826153367
>>1824909
>называется cython
Использую эту штуку для защиты программ от декомпиляции. Очень здорово и просто.
Аноним 08/10/20 Чтв 20:33:36 1826156368
>>1826048
>tkinter вместо нормального тулкита
Идеально подходит для простых прог.>>1825388
А разве "Изучаем Питон" не в 1 томе? Там дальше идёт Программируем на Python.
Аноним 08/10/20 Чтв 20:49:51 1826164369
>>1826156
> Идеально подходит
Нет ничего более постоянного чем временное. Потом люди пилят дофига всего под этот ткинтер и страдают.
Аноним 08/10/20 Чтв 23:04:42 1826248370
>>1826164
[z for z in list123 if z in list 345]
У подобной конструкциии линейная временная сложность?
Алсо, всякие условия вроде if добавляют сложнотсь к циклам?
Аноним 08/10/20 Чтв 23:18:57 1826257371
>>1826248
>[z for z in list123 if z in list 345]
>У подобной конструкциии линейная временная сложность?
O(mn), где m и n - размер первого и второго списка. В общем, можешь считать что квадратичная. Проверка есть ли элемент в списке сама по себе имеет линейную сложность. Хочешь быстрее - преобразуй второй список в сет - тогда будет O(m + n), то есть линейная.

А вообще, твою хуйню лучше переписать вот так: set(list123) & set(list345).
>>1826248
>Алсо, всякие условия вроде if добавляют сложнотсь к циклам?
Зависит от того, что находится в этих условиях.
Аноним 09/10/20 Птн 00:09:57 1826279372
>>1826257
Спасибо.
>Зависит от того, что находится в этих условиях.
Ну, если дргой список, о вроде выяснили, что квадратичная.
А если константа - линейная?
Какую книжку по алгоритмам и их сложности почитать?
Аноним 09/10/20 Птн 03:15:26 1826320373
>>1825947
>>1825964
>>1826048
>>1826156
Байтите вы меня ЭТО говно прочитать.
Придется продираться сквозь эту дристню.
А как вам "Изучаем программирование на Python" от Пола Бэрри?
Сейчас на 72 странице (из 611) - вроде понятно изъясняет, и простым языком.
Аноним 09/10/20 Птн 03:28:23 1826322374
>>1826279
>А если константа - линейная?
Не понял вопроса. Проверка элемента в сете - константа, поэтому если второй список заменить на сет, то сложность изменится на линейную.
>Какую книжку по алгоритмам и их сложности почитать?
Гугли туториалы. Сложность алгоритмов без ненужных изъебов можно понять за один вечер, книги не нужны.
Аноним 09/10/20 Птн 04:06:10 1826328375
>>1826320
Из этих книг есть смысл читать что-то одно, и то, если ты совсем плохой в программировании. Заходит нормально — читай дальше. Те у кого уже есть опыт с другими языками, обычно читают docs.python.org и им всё понятно.
Аноним 09/10/20 Птн 04:13:25 1826330376
>>1826279
Я тебе могу предложить довольно трудоёмкий, но такой чтобы наверняка, метод. Напиши тестовый стенд для анализа алгоритмов. Попробуй бенчмаркать всякую хуйню увеличивая N, и с помощью matplotlib строить график как много времени занимал бенчмарк в зависимости от N. Построй на одной картинке несколько графиков разной реализации задачи. Вот самое простое: item in list против item in set против бинарного поиска в сортированном массиве. Будет очень наглядно и интересно. Если помнишь школьную матешу, то легко там найдёшь линейную, константную и логарифмическую сложности.
Аноним 09/10/20 Птн 05:59:02 1826345377
Нужна такая хуйня - будет бд с задачами, в фоне нужны несколько воркеров, которые будут подбирать новые задачи, обрабатывать и складывать результаты обратно. Для моей задачи достаточно обычной sql базы, чтобы не ебаться с очередями. А вот как спавнить этих воркеров и управлять ими?
Аноним 09/10/20 Птн 06:02:14 1826349378
Аноним 09/10/20 Птн 06:04:17 1826351379
>>1826349
Это немного не то. Это можно интерактивно там спавнить себе процессы.
Я имею в виду что-то типа демона, т.е. чтобы сторонний софт управлял их запуском, количеством и т.д.
Аноним 09/10/20 Птн 06:08:11 1826354380
Вот у жабаскриптовиков я видел такую хуйню, но выглядит как-то слишком монструозно для моей задачки.
https://pm2.keymetrics.io/
Аноним 09/10/20 Птн 06:16:53 1826356381
>>1826351
Systemd, supervisord, docker-compose, тысячи их.
Аноним 09/10/20 Птн 17:04:11 1826724382
Аноним 09/10/20 Птн 17:04:46 1826725383
Кто куда вкатился? Кто кем работает?
Аноним 09/10/20 Птн 17:28:25 1826743384
>>1825765
>>1825335
Спасибо за советы, с этим разобрался, но дальше еще хуже, пиздец. Все отлично запускается и даже работает, но когда скрипт доходит до момента
img = ImageGrab.grab()
Перезапускает приложение. Нагуглил, что проблема в том, что виндовс не имеет команды spawn и нужно использовать multiprocessing.freeze_support()
, но я блять везде уже этот кусок кинул и не помогает.
Аноним 09/10/20 Птн 17:30:59 1826744385
Сап пишу линкед-лист. и тут встал вопрос по методу __iter__. Собственно есть 2 пути решения через класс ListIterator(в котором __next__) и через yield. Так собственно вопрос, что лучше и почему? и что больше по питонячи?
Аноним 09/10/20 Птн 18:43:49 1826795386
Я нипони как происходит распаковка словаря и почему етот вариант работает:

bigger = lambda a, b: a if a > b else b
target = {'a': 2, 'b': 1}
print(bigger(target))

а етот крашится:

#bigger = lambda a, b: a if a > b else b
bigger = lambda x, y: x if x > y else y
target = {'a': 2, 'b': 1}
print(bigger(
target))

Почему!??
Аноним 09/10/20 Птн 18:44:21 1826796387
>>1826795
бляя, сорян я тут новенький
Аноним 09/10/20 Птн 20:36:42 1826961388
>>1826795
Названия переменных не совпадают с ключами словаря
Аноним 09/10/20 Птн 21:30:05 1826991389
>>1826961
Именно так, но ведь в анонимную функцию должны падать только значения из словаря... По крайней мере мне так казалось.
Аноним 09/10/20 Птн 22:15:32 1827033390
19345011.jpg 117Кб, 792x595
792x595
Аноним 09/10/20 Птн 22:39:17 1827052391
Подскажите начинающему дэбилу выбравшему в качестве практики разработку текстовой рпг:

Как сделать что бы переменная в функции(хп врага) обновлялась при каждом вызове функции ?

Мой дерьмовый код:

player_lvl = 1
hp_player = (player_lvl*80)
hp_enemy = (hp_player-10)
print(hp_enemy)
damage=random.randint(2,10)
#переменная для хп после нанесения урона
hp_damage = hp_enemy
def attack_act():
print("\nНанесено урона: ",damage)
#если хп полное то
if hp_damage == hp_enemy:
hp_damage = (hp_enemy)-(damage)
print("Здоровье врага: ", hp_damage)
else:
hp_damage = (hp_damage) - (damage)
print("Здоровье врага: ", hp_damage)
Аноним 09/10/20 Птн 22:40:44 1827053392
>>1826725
Приняли на работу в автоматизацию бизнес процессов на 192р/ч, после прохождения курсов по rpa, но когда прислал сертификаты мне сказали что у них проблемы и мне ответят к концу недели, так что даже не факт что работать буду, а остальные 100 откликов отказ, либо не просмотрели, либо тестовое сделай но отказ
Аноним 09/10/20 Птн 22:41:43 1827054393
Аноним 09/10/20 Птн 22:49:02 1827061394
Аноним 09/10/20 Птн 23:01:21 1827072395
>>1826744
Абсолютно неважно. Как удобнее так и делай.
Аноним 09/10/20 Птн 23:20:12 1827077396
Киньте мануалом как делать на питоне интерфейс на фреймбуффере в линупсе.

Очень надо срочно, жопа горит сука!
Аноним 09/10/20 Птн 23:23:40 1827078397
>>1826795
Здесь же у тебя две звёздочки перед target в первом вызове?
Всё дело в том, что в первом случае переменные распаковываются из словаря аналогично bigger(a=2, b=1) и ключи словаря должны соответствовать именам переменных в теле функции bigger, а во втором случае ты просто передаёшь словарь в качестве первого аргумента x, а второй аргумент y оставляешь пустым.
Аноним 09/10/20 Птн 23:24:44 1827080398
>>1826744
Через елду делай.
Будет нихуя непонятно, очень круто, +100 очков к ЧСВ.
Аноним 09/10/20 Птн 23:53:08 1827087399
>>1827077
Нет такого. Это занятие для конченых извращенцев. И они, чтобы не палиться, публичных мануалов не пишут.
Но вообще вот тебе библиотека https://pythonhosted.org/fbpy/
На фреймбуфер вроде бы можно даже Qt/Gtk завязать, но я не умею. Вон там какой-то qt for embedded linux https://doc.qt.io/archives/qt-4.8/qvfb.html
Аноним 09/10/20 Птн 23:53:45 1827088400
>>1827080
Чо это непонятно? Намного понятнее классов в большинстве случаев.
Аноним 10/10/20 Суб 00:57:31 1827113401
>>1826744
>Сап пишу линкед-лист
Зачем?
Аноним 10/10/20 Суб 02:11:24 1827121402
Аноним 10/10/20 Суб 06:05:13 1827165403
>>1818007
Мимо бекенд разработчик стек Python/Django. Перепробовал много дистрибьютивов, остановился на Linux mint - это что касается ос для разработки, а для деплоя CentOS или Ubuntu server. Для работы с виртуальным окружением использую pipenv.
Аноним 10/10/20 Суб 08:34:55 1827185404
image.png 47Кб, 346x539
346x539
Что это за фигня? Я думал, что каждый раз заново исполняется заполнение аргумента дефолтным значением.
Аноним 10/10/20 Суб 08:53:54 1827191405
>>1827087
О, заебись, практически то что нужно. Спасибо, Анонасий!
Аноним 10/10/20 Суб 09:16:57 1827197406
>>1827185
Этот def выполняется один раз при старте программы, определяя функцию.
Аноним 10/10/20 Суб 09:32:39 1827203407
>>1827185
Чем думал? Жопой?

На эту тему есть старый анекдот: научился ежик жопой дышать, сел на пенек и умер.
Аноним 10/10/20 Суб 10:06:58 1827214408
>>1827185
В чем космический эффект именованного параметра "a" с рандомным значением по умолчанию?
Используй a = random() в теле функции, а из ее параметра убери его нахер.
Аноним 10/10/20 Суб 10:57:40 1827218409
Вопрос по относительному импорту.
Он используется только среди модулей?(не скриптов)
Например есть такая схема
project-
--tuilet-
----__init__.py
----mo4a.py
----govno.py
--main.py


Я могу использовать относительный импорт из мочи в говно вида:
from . import mo4a

И вроде интерпретатор это сьест. А вот если я попытаюсь запустить говно, он выблевывает ошибку :
ImportError: attempted relative import with no known parent package

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

Так вот, что за хуита с относительном импортом в питоне?
Его вообще хоть кто-то сейчас использует?
До него все кристально понятно было с импортами. Как только прочитал, решил как тру-кодер сразу использовать и все смешалось к хуям.


Аноним 10/10/20 Суб 11:15:08 1827222410
>>1827218
Мне тоже вот казалось что все понял пока сам с этим не столкнулся, импорты в питоне для новичка это какая-то неведомая хуйня, которая работает по непонятным правилам
Аноним 10/10/20 Суб 11:28:49 1827225411
>>1827185
def f(a=0, rand_a=True):
..if rand_a:
....a=random()
..print(a)

f()
f(1)
f(1,False)
Аноним 10/10/20 Суб 11:37:35 1827228412
python.png 533Кб, 1200x720
1200x720
Ну че, кто переполз на 3.9?
Аноним 10/10/20 Суб 11:52:40 1827230413
>>1827228
Я, но еще даже не смотрел, что там нового
Аноним 10/10/20 Суб 12:08:38 1827237414
Аноним 10/10/20 Суб 12:55:42 1827260415
>>1827225
def f(a=None):
..print(random() if a == None else a)
Аноним 10/10/20 Суб 12:57:28 1827262416
Стикер 319Кб, 388x410
388x410
>>1827260
Pythonic way во все поля.
Аноним 10/10/20 Суб 12:58:44 1827263417
>>1827262
Ну прости, что в питон не завезли человеческий тернарый оператор с проверкой на nullnone-овость.
Аноним 10/10/20 Суб 15:19:36 1827354418
>>1827263
прощаю, потому что завезли
другойчел
Аноним 10/10/20 Суб 19:34:55 1827486419
Аноним 10/10/20 Суб 20:10:03 1827515420
Ондатра 1.jpg 755Кб, 1600x1062
1600x1062
Существует какая-нибудь утилитка чтобы открывать питоновские докстринги из баша, не заходя питоновский шелл?

Т.е. меня заёбывает каждый раз печатать:
$ python3
>>> import queue
>>> help(queue.Queue)
я хочу:
$ openpydoc queue.Queue

Аноним 10/10/20 Суб 20:50:32 1827543421
image.png 48Кб, 771x560
771x560
image.png 40Кб, 579x480
579x480
помогите пожалуйста понять, почему не работает код...
на второй картинке кода, в функции ClickButton2 есть строчка wayToFile = os.path.abspath(k), которая должна сохранять абсолютный путь к файлу, обрабатываемому циклом. Но загвоздка в том, что если скрипт пайтона не в той же директории(у меня это диск Д), то выбивает ошибку, в которой абсолютный путь к файлу определяется как директория скрипта + название обрабатываемого файла. Из-за этого скрипт не может найти файл.
Если скрипт в той же папке, то все робит...
Аноним 10/10/20 Суб 21:27:52 1827567422
Какие есть библиотеки для создания GUI в виде веб-страницы? В смысле, чтобы он был написан на HTML/CSS/JS, но браузерный движок был завернут в десктопное приложение, как на электроне. Пока нашел pywebview. Вроде бы подходит, но вдруг есть варианты получше.
Аноним 10/10/20 Суб 21:30:57 1827569423
image.png 334Кб, 914x822
914x822
image.png 45Кб, 969x177
969x177
Прохожу курс по питону на курсере. Проверку почти прошло, однако почти. Никак не могу понять почему не проходит. Помогите, аноны
x = int(input())
y = int(input())
x1 = int(input())
y1 = int(input())
if x == x1 and y1 == y + 1 or y1 == y - 1:
print("YES")
elif y == y1 and x1 == x + 1 or x1 == x - 1:
print("YES")
elif x1 == x - 1 or x1 == x + 1 and y1 == y + 1 or y1 == y - 1:
print("YES")
else:
print("NO")
Аноним 10/10/20 Суб 21:54:50 1827586424
>>1827569
У тебя operator precedence сломан. or выполняется после and.

Да и вообще
if (x, y) == (x1, y1):
..print("NO")
elif max(abs(x - x1), abs(y - y1)) <= 1:
..print("YES")
else:
..print("NO")
Аноним 10/10/20 Суб 21:57:44 1827589425
>>1827567
Лучше написать на JS. Но можно ещё соорудить гибрид, где JS отвечает за представление и ввод, а headless процесс на питоне управляет состоянием и логикой. Общение с питоном по stdin/stdout какими-нибудь жсонами.
Аноним 10/10/20 Суб 21:58:44 1827592426
>>1827569
Кстати ещё надо выход за пределы поля отсечь по идее.
Аноним 10/10/20 Суб 22:04:51 1827598427
Аноним 10/10/20 Суб 22:07:01 1827599428
>>1827543
Относительный путь, который тебе отдал диалог, скорее всего отсчитывается не от текущего каталога программы, а от какого-то другого.
Аноним 10/10/20 Суб 22:08:14 1827601429
>>1827598
Свежачок, ещё даже на радиот не обсудили. Выглядит интересно, но скорее всего будет нежизнеспособным говном, как и все подобные проекты.
Аноним 10/10/20 Суб 22:31:15 1827611430
Аноним 10/10/20 Суб 22:37:27 1827613431
>>1827262
>>1827263
Чёт я не увидел проблемы. Вам может перл попробовать что сэкономить две буквы при проверке нулла?
Аноним 10/10/20 Суб 22:39:26 1827614432
>>1827354
И тут ты такой с прувами.
Аноним 10/10/20 Суб 22:40:46 1827615433
Как думаете, стоит на Python 3.9 переползать, если я сейчас только изучаю язык?
Или через месяцок-другой?
Аноним 10/10/20 Суб 22:51:07 1827623434
>>1827218
Есть модуль, а есть пакадж. Пакаджи это такой маппинг имя→каталог. К примеру sqlalchemy превратится в /usr/local/lib/python/site-packages/sqlalchemy/.

Естественно, относительные пути возможны только внутри пакаджа, чтобы ты не делал всяких import ....etc.passwd. За пределы пакаджа ходить нельзя. А внутри пакаджа, таки да, всё почти как путь к файлам, и вниз и вверх и куда угодно.
Аноним 10/10/20 Суб 22:54:26 1827627435
>>1827615
Похуй. Там не так много нового. Да и в обучающих материалах этих фич ещё нет.
Аноним 10/10/20 Суб 22:58:36 1827631436
>>1827543
пацаны, решил проблему гениально:
wayToFile = folder_selected +'\\\\' + os.path.basename(k)
сделал переменную ""выбранная папка"" глобальной + добавил к ней \\(чтоб не было экранирования, надо еще \\) + добавил просто имя файла
все заработало
Аноним 10/10/20 Суб 23:19:17 1827649437
Аноним 10/10/20 Суб 23:19:53 1827650438
Аноним 11/10/20 Вск 09:09:00 1827777439
>>1827623
но модули в пакете(с относительным импортом) ,как скрипты запускать нельзя, так?
А как тогда тестирование проводить?
Аноним 11/10/20 Вск 09:23:34 1827783440
>>1827623
Единственное, что на ум пришло, это писать тесты внутри мода, потом этот мод импортировать за пределы пакета и его запускать через if __name__ == "имя мода"
Но больше похоже на кастыль.

Тот же анон


Аноним 11/10/20 Вск 10:02:40 1827798441
>>1827777
python -m pkg.subpkg.module
Вообще в пакадже можно создать аж целый файл --main--.py, который запустится от python -m pkg
Аноним 11/10/20 Вск 10:03:04 1827799442
>>1827615
Да хоспаде, че там переползать.
Вкатывальщик разницу между тройками не увидит. А когда увидит - будет уже уметь перекатываться между разными версиями за минуту.
Единственное, наверное, не стоит изучать на версии ниже 3.6.
Аноним 11/10/20 Вск 10:19:06 1827804443
Что из знаний нужно для решения хотя бы 4 kuy задач на codewars? Примерно хотя бы
Аноним 11/10/20 Вск 10:26:35 1827809444
Аноним 11/10/20 Вск 10:29:44 1827812445
>>1827804
Аналитический склад ума?
Там обычным питонячим синтаксисом все задачи решаются.

Ну, чтобы повыёбываться краткостью решений, надо уметь писать ванлайнеры, лямбды и пользоваться zip и map. Ну может ещё декораторы местами.
Аноним 11/10/20 Вск 12:28:14 1827861446
>>1827809
что такое катышек? не знал что нот нане равно тру?
Аноним 11/10/20 Вск 13:04:47 1827880447
15823026475220.png 1102Кб, 1566x881
1566x881
Второй месяц не могу зарегистрироваться га codewars.
Аноним 11/10/20 Вск 13:34:27 1827894448
>>1827880
через гит авторизуйся
Аноним 11/10/20 Вск 13:50:54 1827898449
>>1827615
Пока PEP554 не примут можно на 3.7-3.8 сидеть, там хоть sec fix есть.
Аноним 11/10/20 Вск 14:40:13 1827922450
аноны, есть pdf со сканном книги в ней есть таблицы, вопрос как их в exel перевести??
Аноним 11/10/20 Вск 15:09:50 1827939451
Аноним 11/10/20 Вск 17:06:57 1827985452
15989746128980.jpg 43Кб, 766x960
766x960
Аноним 11/10/20 Вск 18:59:24 1828020453
Аноним 11/10/20 Вск 19:01:44 1828021454

Ребят, есть модель 1 и модель 2. В модели 1 я загружаю zip файл, а методом save я его разархивирую и все файлы из него с помощью bulk_create записываю в модель 2. Все вроде бы ок, если в админке посмотреть все созданные записи во второй моделе, то там видно адрес файла и его можно поменять. Но когда я запускаю проект и захожу на страницу, где должны выводится эти файлы с bulk_create они просто белые, пустые и я могу их выделить. в коде страницы видны файлы(картинки), но они имеют размер 0x0. А сама джанга пишет, что объект не найден

настройки медиа сделал. Единственное, что в bulk_create я указываю расположение файла "ChapterImg.objects.bulk_create([ChapterImg
(img=c.extract(d, path=img_directory_path)" где img_directory_path это сохранение файла в папке media
Аноним 11/10/20 Вск 20:27:58 1828060455
>>1827804

за месяц поднял овер 1000 хонора, с 4 куя добрался почти до 2го (80%), решил 36 4ых куев и 6 3их. Ответ — никаких особенных знаний языка не нужно, я даже с классами не умею обращаться (self, init — шта?). Не использую никаких библиотек (кроме мб math), никаких вышеупомянутых zip, map и прочих лямбд. Так что там действительно все стандартными средствами решается.

Знаю я, естественно, больше, чем месяц назад. Какие-то методы, алгоритмы узнал и применил. Думаю поднять 1 куй на этой дрочильне и начинать писать свой проект.
Аноним 12/10/20 Пнд 06:59:51 1828279456
Как python считает остаток при делении положительного числа на отрицательное?
Аноним 12/10/20 Пнд 07:12:13 1828282457
Доброго утра всем.

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

Потом дело дошло до создания двух игр в конце книги - и на этом моменте всё пошло по пизде. Я перестал до конца понимать что нахуй делает автор, а уж задачки в конце это вообще забудьте. При этом нельзя сказать что я учил на похуе или без энтузиазма, наоборот - мне вполне доставляло. Вопрос такой: стоит ли мне бросать это дело, если я даже детскую книжку не в состоянии целиком осилить? Есть ли тут те, кто тоже эту книгу читал, были ли у вас похожие проблемы? Я совсем даун, или только олигофрен?
Аноним 12/10/20 Пнд 09:50:26 1828331458
>>1828282
если у тебя встает член от правильной логики и от решения задачек на них и ты готов гнаться и поглощать новые зания до конца жизни, то программач это твое.
Если этого нет, ты выгоришь к хуям.
Так что можешь сразу пиздовать асфальт укладывать
Аноним 12/10/20 Пнд 09:53:11 1828334459
>>1828331
дружок , ты тоже выгорешь!
Аноним 12/10/20 Пнд 10:54:38 1828357460
как найти в тексте все слова начинающиеся с символа @? я так понимаю нужно какое-то регулярное выражение, но именно этот символ не знаю как загуглить и в целом только начал изучать это дело
Аноним 12/10/20 Пнд 11:23:32 1828370461
>>1828282
А тебе точно до конца нужно понимать? Может стоит просто повторять и вникать только в то что автор объясняет?
Аноним 12/10/20 Пнд 12:21:43 1828399462
>>1828357
У строки есть метод .startswith()
Аноним 12/10/20 Пнд 12:32:44 1828404463
>>1828282
Попробуй "Изучаем программирование на Python", Пол Бэрри.
Я тоже очень мало понимаю из тех книжек, которые читаю. Прочел "Грохаем Алгоритмы" - понял только что такое бинарный поиск, все остальное - непонятно и сложно.
Прочел "Укус Питона" - понял что такое переменные и еще немного.
Прочел "Делаем игры на Python" (точно не помню как книга назывались) - вроде первые 20% книги понял, но когда пошли сами игры (Виселица, Угадай слово и др.) - нихрена не понял.
А Пол Бэрри вроде неплохо объясняет.

А вообще, не сдаваясь и не бросая это дело, я постепенно начинаю понимать что есть что в Python.
Постепенно.
Главное не сдаваться.
Аноним 12/10/20 Пнд 12:44:24 1828411464
!
Аноним 12/10/20 Пнд 13:29:35 1828447465
15552705388210.jpg 77Кб, 600x800
600x800
>>1828404
Ты осознаешь, что по сравнению с Прирожденным Программистом ты - ничтожество ?
Почему вы сопротивляетесь мистер Андерсон?
Аноним 12/10/20 Пнд 13:55:10 1828480466
>>1822510
по каким материалам изучаешь?
Аноним 12/10/20 Пнд 14:20:58 1828522467
Аноним 12/10/20 Пнд 16:26:55 1828615468
Пытаюсь въехать в питон.
Можно ли изучать ООП, скипнув функциональщину? И если да, то посоветуйте какие-нибудь туторы. С написанием самого класса вроде проблем нет, а вот как при помощи ООП описать бизнес-логику, я вообще не понял.
Аноним 12/10/20 Пнд 16:31:08 1828620469
>>1828615
можно, даже больше скажу, можно изучить ООП даже пропустив переменные, циклы, условия, и основные типы данных,
Гляди чичас быстренько пробегаешься глазками по SOLID'у дальше начинаешь изучать основные паттерны, такие как фабрика синглтон команда и тд. ну и можно подавать резюме на джуниор систем архитектор, алсо и сам питон нахуй тоже скипнуть можешь, можешь не благодарить
Аноним 12/10/20 Пнд 16:38:32 1828622470
>>1828620
Ну камон, я же серьезно спрашиваю.
Аноним 12/10/20 Пнд 16:52:04 1828633471
>>1828622
ну я серьезно по большей части ответил, ты написал что хочешь писать бизнес логигу через ООП только П в данном случае про проектирование, а не про программирование
Аноним 12/10/20 Пнд 17:48:46 1828665472
>>1828633
Не, я говорил именно про программирование. Бизнес-логикой я называю структуру программы. В функциональщине все просто - функция обрабатывает ввод, через ретурн опционально отправляет результат обработки в другую функцию и так, пока информация не будет готова к выводу.
А как этот пайплайн выглядит в ООП - я вообще нихуя не понимаю. Т.е. вот я создал класс хуман, вызвал конкретный инстанс. И что?
Аноним 12/10/20 Пнд 18:49:59 1828721473
народ, в каких проектах на питоне можно поучаствовать?
Аноним 12/10/20 Пнд 19:16:39 1828737474
Аноним 12/10/20 Пнд 21:57:40 1828833475
Я бы поучаствовал. Чисто за еду. Чтобы набраться опыта. Делал бы все на пистоне, чисто за опыт, навык и чуток еды.
Аноним 12/10/20 Пнд 22:22:08 1828841476
>>1828665
>вот я создал класс хуман, вызвал конкретный инстанс. И что?
и все, поздравляю вы освоили ООП
а уж если писать ООП структуры извольте освоить типы данных, и прочую патерную солидохуйню на уровне чуть побольше чем просто глазками пробежаться
Или найди какой нибудь фреймворк который все за тебя сделает
Аноним 12/10/20 Пнд 23:09:19 1828859477
>>1828665
БЛ это, что должна делать прога по мнению её заказчика.
Это не всегда выглядит как переработка исходных данных в результат.
Например управление псарней. Есть псы, будки, миски, корма и проч, и задача описана в этих терминах. Тогда создаёш классы пёс, будка и проч. Потом пишешь БЛ на Питоне так, какк она задана, используя объекты этих классов.
Аноним 12/10/20 Пнд 23:43:15 1828882478
>>1828841
У меня складывается впечатление, что солиды и паттерны кодеры пытаются изучать гораздо раньше, чем они им реально потребуются. Если вообще потребуются.
Аноним 13/10/20 Втр 00:21:57 1828904479
А какая сейчас самая модная орм для асинзронного кода?
Аноним 13/10/20 Втр 00:25:31 1828905480
>>1828904
sqlalchemy.core
Орм вроде бы не завезли всё ещё.
Аноним 13/10/20 Втр 00:30:42 1828906481
>>1828905

Алхмия это хорошо... Но будет ли она хорошим выбором для нового проекта, когда есть tortoise, Gino, async-peewee
Аноним 13/10/20 Втр 02:20:16 1828933482
>>1828906
> tortoise, Gino, async-peewee
Диванный?
Аноним 13/10/20 Втр 03:28:58 1828946483
a = input(int())
b = 427
c = 12000000
d = ((a b) + c) / 100 3)
e = (a 427 / 10)
print(d)
print(e)

Ошибка
Traceback (most recent call last):
File "D:/Python/pythonProject3/main.py", line 4, in <module>
d = ((a
b) + c) / 100 * 3
TypeError: can only concatenate str (not "int") to str

В чем проблема? Помогите пожалуйста.
Аноним 13/10/20 Втр 03:31:00 1828948484
>>1828946
a = input(int())
b = 427
c = 12000000
d = ((a умножить b) + c) / 100 умножить 3
e = (a умножить b / 10)
print(d)
print(e)

Пофиксил
Аноним 13/10/20 Втр 03:37:58 1828949485
>>1828948
Разобрался вроде, надо было в 4-й строке сделать (int(c)) вместо c.
Но в 5-й строке вылезло
e = (a * b / 10)
^
SyntaxError: invalid syntax

В чем здесь ошибка синтаксиса?
Аноним 13/10/20 Втр 03:39:56 1828950486
>>1828949
Проверь отступы. Иначе все должно работать.
Аноним 13/10/20 Втр 03:41:25 1828951487
>>1828950
С отступами все нормально.
Аноним 13/10/20 Втр 03:43:05 1828952488
>>1828950
Интересно, и в PyCharm и в стандартной питоновской IDLE вылазит ошибка синтаксиса.
Аноним 13/10/20 Втр 03:51:18 1828954489
>>1828948
На первую строчку посмотри внимательно
Аноним 13/10/20 Втр 03:53:11 1828955490
>>1828954
Посмотрел, с отступом все впорядке.
Аноним 13/10/20 Втр 04:00:29 1828960491
>>1828955
Какие в пизду отступы? "Input(int())" это что блять?
Аноним 13/10/20 Втр 04:02:42 1828961492
>>1828960
a = input()
b = int(427)
c = 12000000
d = ((a b) + (int(c)) / 100 3
e = (a * b / 10)
print(d)
print(e)

Убрал. Все равно та же ошибка.
Аноним 13/10/20 Втр 04:03:57 1828963493
Аноним 13/10/20 Втр 04:06:43 1828965494
>>1828961
Вспомни зачем у тебя там вообще был инт, его не просто убрать надо. А в четвертой строке у тебя скобка незакрытая
Аноним 13/10/20 Втр 04:06:54 1828966495
Аноним 13/10/20 Втр 04:28:34 1828972496
Аноним 13/10/20 Втр 08:24:23 1829042497
Посовутуйте среду для пайтона. Работаю с керас, как только проект становится достаточно большим - вижуал студио код начинает жестко тормозить. Пишу вызов метода, открываю скобку - ничего, никаких подсказок. Навожу мышкой на имя метода - Loading.... Нажимаю контрол-эс, через десять секунд он мне красным наконец-то подчеркнул что у меня вместо аргумента n_epochs= стоит epochs=.
Отладка вообще через жопу работает. Иногда нажимаешь на паузу - и просто всё виснет, ни на консоль отладки не реагирует, вообще ни на что. Нажимаю на треугольничек, типа продолжить, ноль реакции, прихоидится завершать отладку, а там долго работало и жалко всё.
Вобщем посоветуйте среду для пайтон + керас которая не говно.
Аноним 13/10/20 Втр 08:25:42 1829043498
>>1829042
Очевидный пайчарм.
Аноним 13/10/20 Втр 08:26:43 1829044499
>>1829043
Он правда лучше, чем вижуал студио код? Пользовался им? Расскажи про него пожалуйста.
Аноним 13/10/20 Втр 08:38:06 1829051500
>>1829044
>Он правда лучше, чем вижуал студио код?
Да. Вскод это вообще текстовые редактор на тормозном электроне, а не IDE.
>Пользовался им?
А ты как думаешь?
>Расскажи про него пожалуйста.
Что именно рассказывать? Конкретно по твоим вопросам - производительность во много раз лучше, чем у вскода, но моментального отклика все равно не ожидай. Если в классе пара сотен больших методов, то подсказка появится только через секунду. Аналогично с проверкой синтаксиса - некоторые вещи не моментальны, но по сравнению с вскодом вполне терпимо. Отладочные инструменты тоже намного лучше.
Аноним 13/10/20 Втр 08:45:46 1829053501
>>1829051
Спасибо за отзыв, попробую пайчарм.
Аноним 13/10/20 Втр 10:37:34 1829093502
А какой линтер у вас в проекте? Prospector, vulture, что-то другое?
Аноним 13/10/20 Втр 10:39:43 1829095503
>>1828933

Ну отзывы на Хабре о них не плохие.
Аноним 13/10/20 Втр 12:11:16 1829161504
Ну чё перекат?
Аноним 13/10/20 Втр 14:35:02 1829276505
Есть здесь извращенцы, которые вимом пользуются под питон? Какой деббагер юзаете?
Аноним 13/10/20 Втр 14:54:25 1829289506
>>1828737
угу
так то опыт разработки есть, но опыта именно питоне, увы, нет
а очень хочется
Аноним 13/10/20 Втр 15:16:43 1829313507
>>1829289
Ну если с анонами хочешь - есть вариант.
Правда я сейчас немного не в состоянии его пилить, уже 2 месяца как.
Если ты вообще спрашивал - ищи либы/приложения какие питоновские на гитхабе, по близкой тебе тематике и читай как в них контрибутить.
Аноним 13/10/20 Втр 15:21:36 1829314508
>>1829095
Ссылочку бы.
С первыми двумя я работал в проде, ибо один еблан их туда притянул. Это пиздец и нахуй.
Gino - ебаное поделие от китайца, никогда не связывайся с китайцами, они скам хуже индусов, ибо производительней и более цпертые, документация, примеры и решение issues страдает.
Pewee - давно юзал, но тоже не зашло ибо были проблемы с пулом конектов и тоже проблемы с инфой о ней и доками.
В этом плане алхимия топчик, ибо ей уже хулиард лет и всё возможные и невозможные грабли она прошла.
По асинхронным НЕорм могу подсказать - asyncpg, использовал именно ее когда это надо было.
Аноним 13/10/20 Втр 16:19:53 1829386509
Какие есть либы чтобы организовать авторизацию и аутентификацию по ролям? И чтобы полиси тоже были, короче как Identity в неткоре

Фреймворк использую Fastapi
Аноним 13/10/20 Втр 16:21:18 1829387510
>>1829386
А если запилить к в джанге, руками?
Аноним 13/10/20 Втр 16:27:00 1829397511
>>1829387
Может уже есть готовые либо чтобы не пилить велосипед?
Аноним 13/10/20 Втр 17:18:37 1829411512
Ребят, есть модель 1 и модель 2. В модели 1 я загружаю zip файл, а методом save я его разархивирую и все файлы из него с помощью bulk_create записываю в модель 2. Все вроде бы ок, если в админке посмотреть все созданные записи во второй моделе, то там видно адрес файла и его можно поменять. Но когда я запускаю проект и захожу на страницу, где должны выводится эти файлы с bulk_create они просто белые, пустые и я могу их выделить. в коде страницы видны файлы(картинки), но они имеют размер 0x0. А сама джанга пишет, что объект не найден

настройки медиа сделал. Единственное, что в bulk_create я указываю расположение файла "ChapterImg.objects.bulk_create([ChapterImg
(img=c.extract(d, path=img_directory_path)" где img_directory_path это сохранение файла в папке media
Аноним 13/10/20 Втр 17:59:59 1829432513
Товарищи. Обьясните дауну.
Почему данный код отправляет двоечку на ардуино.
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
ser.write('2')

А этот код отправляет мое очко в зрительный зал?
В общем, он ноль отправляет.
machinki = 0
machinki = output_count.get('car')
print("Car =", machinki) // вот здесь я вывожу значение листа и значение есть. Ноль перезаписывается.
ser.write('machinki') // отправляется аж нихуя, но целый ноль
Аноним 13/10/20 Втр 18:01:40 1829433514
>>1829432
Дополню что эта строчка есть и во втором варианте кода. ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
Аноним 13/10/20 Втр 19:36:55 1829510515
>>1825318
Бля, сорян анон. Как то упустил когда ответили.
Работает. Благодарочка нереальная.
Аноним 13/10/20 Втр 19:42:43 1829512516
У меня вопрос по os.walk
Почему там именно три переменные, типа root, dirs, files
Так сделали разрабы? Можно свои переменные, и важна ли последовательность обхода? root - это путь как я понял, остальное и так ясно.

Аноним 13/10/20 Втр 20:19:09 1829539517
Наконец то написал скрипт для очистки корзины. Тк часто бываю в консольке.

import os
import shutil

os.chdir('/home/andrew/.local/share/Trash/files/')

if os.listdir() == []:
print('Trash is empty')
else:
for root, dirs, files in os.walk('.'):
for d in dirs:
shutil.rmtree(os.path.join(root, d))
for f in files:
os.unlink(os.path.join(root, f))
print('Now trash is empty')
Аноним 13/10/20 Втр 21:45:24 1829584518
Что значит этот синтаксис?

def greet_all(names: list[str]) -> None:
for name in names:
print("Hello", name)

Какая-то нех в скобках. Что значит : и -> поясните плис.
Аноним 13/10/20 Втр 21:46:29 1829585519
>>1829584
Так Большие Дяди пишут
Аноним 13/10/20 Втр 22:01:46 1829594520
Как к каждому числу из строки присвоить тип данных?
Аноним 13/10/20 Втр 22:32:50 1829614521
>>1829594
str.isdecimal
str.isdigit
str.isnumeric
Аноним 13/10/20 Втр 22:55:20 1829631522
>>1829584
это аннотирование типов, чтобы ты знал что куда лучше подавать и что откуда возвращается
Аноним 13/10/20 Втр 22:55:56 1829633523
>>1829584
>>1829631
я ведь думаю, что не надо напоминать, что по умолчанию питон без ретерна возвращает None?
Аноним 13/10/20 Втр 23:04:52 1829643524
Аноны, кто-нибудь пользовался WSL в разработке? Какого оно мне после установки пипа показывает целую тонну каких-то левых пакетов в pip freeze?
Аноним 14/10/20 Срд 10:00:40 1829828525
>>1829432
За ардуины в жизни не держался, но у меня есть подозрение, что в последовательный порт можно только байты пихать, а содержимое твоей переменной machinki не сериализовано. Я бы попробовал в байты перевести.
>>1829539
Разве rmtree не удаляет и файлы тоже?
Аноним 14/10/20 Срд 10:14:03 1829835526
image 70Кб, 233x328
233x328
Попалась реклама книжки Leaving the Rat Race with Python. О том, как умело фрилансить питоном. Полистал оглавление - заинтересовался. Но где скачать pdf? $12 за файл блять!
Аноним 14/10/20 Срд 10:46:49 1829857527
>>1829835
Ты с первого заказа окупишь покупку книги, микрочелик.
Аноним 14/10/20 Срд 11:23:31 1829890528
Пиздос, неделю учу и нихуя не понимаю.
Аноним 14/10/20 Срд 11:37:05 1829898529
Аноним 14/10/20 Срд 12:23:31 1829956530
>>1829898
Где-то на уровне Hello world! Ну и всякие if/else и replace. Квест текстовый даже создал, но до компиляции в exe не дошел еще.
Аноним 14/10/20 Срд 13:18:44 1830032531
>>1829835
>>1829857
Под какую биржу то написана книга хоть? Под апворк?
Кроме сайта, парсера, что еще нужно людям?
Аноним 14/10/20 Срд 13:33:33 1830048532
>>1830032
Видел упоминание Upwork, Fiverr, Toptal и Freelancer.com.
А вообще интересно, какие работы в данном контексте имеют спрос?
Аноним 14/10/20 Срд 14:10:42 1830082533
>>1830048
Так я у тебя и спрашиваю :3
Я кворке и фл ру встречал только парсер, сайт, еще odoo. И все. На хх ру надо уже знать фреймы типо фласка и джнаги. На ангельских смущает то что тз будет на ангельском. Да еще может и не понравится результат. И тд и тп. Я бы поработал чисто за еду, тк есть возможность пока. Чтобы тупо научиться.
Аноним 14/10/20 Срд 14:13:21 1830087534
Пичарм подсвечивает функции при импорте из собственных пакетов.
Сам код работает.
Функция определена в модуле.

https://prnt.sc/uz3hzt

Как лечить?
Аноним 14/10/20 Срд 14:25:35 1830102535
>>1829828
плюсую, работал с CAN интерфейсом по повледовательному порту - только байтики и хуй соси
Аноним 14/10/20 Срд 15:07:42 1830154536
Человечки, какой вы language server для питона используете в vscode? Я раньше пробовал jedi, но он уж очень медленный и с ним все питон-дополнение отваливалось время от времени, приходилось перезагружать окно. Сейчас вскод предложил pylance от майкрософта, быстрый, модный, молодежный, но у него глубина автодополнения короче чем у джедая. На каком стуле сидите?
И вдогонку подскажите, поставил в вскод дополнение batisteo.vscode-django для джанги, оно подсказываетджанговские теги, но убивает все автодолнение хтмл, так и должно быть? Приходится для одного файла переключаться в разные language mode.
Аноним 14/10/20 Срд 16:18:26 1830286537
>>1829828
> Разве rmtree не удаляет и файлы тоже?
тащемта вроде только папки.
Открыл для себя pathlib и влюбился. Намного круче чем os, globe, shutil и прочее. Все в одном флаконе.
Аноним 14/10/20 Срд 16:30:46 1830304538
>>1828282
Предполагаю, что в книге, когда начинают делать игру, используют библиотеки, а осознание что такое методы, поля, классы придет позже. Я тоже не понимал, когда читал укус питона, что вообще происходит, когда автор начинает использовать непонятные методы строк и почему это так работает, так что просто повторяй и вникай в самые базовые понятия
Аноним 14/10/20 Срд 17:47:30 1830383539
народ, пришел к вам из мира cv, но она чуть подзаебала, если честно. Где еще питон применяется? бэкэнд на нем пилится? или в рашке чего делают вообще?
Аноним 14/10/20 Срд 17:51:36 1830387540
вообще плюсую, сам сижу на шарпах и дико заглядываюсь на питон (на первых двух работал юзал его, но для внутренних утилит всяких). Насколько сложно сменить специальность на него? Что с ним пилится (кроме дата саенса), что нужно знать? У самого опыт работы 3 года
Аноним 14/10/20 Срд 19:52:49 1830526541
>>1829828
Да. Я на бэшечке спросил, там намекнули что ардуина жрет только чары, и неипет.
Аноним 14/10/20 Срд 22:37:18 1830689542
Пацаны, че лучше писать скрипты пайтона на винде 10 или на убунту?
собираюсь освоить django, написать парсер, на какой ОС будет удобнее/проще?
или нет разницы?
Аноним 14/10/20 Срд 22:45:27 1830694543
>>1830689
На Болджен ОС пиши. Там нескучные обои.
Аноним 14/10/20 Срд 23:26:07 1830710544
>>1830689
Линух.
Удобнее.

Я конечно и на винде писал хуйню, но мне не понравилось. Куда она там устанавливает говно, какие команды прописаны, ебал рот просто.
Хотя если ты собираешься писать скрипты рисования хуя в консоли, то можешь выбирать что хочешь. Хоть вышеупомянутый болген ос.
Аноним 14/10/20 Срд 23:27:07 1830711545
>>1830710
Хотя следует пиздануть, что болген вроде какой-то пижженый дистр линукса, поэтому да.
Пиши на болгене.
Аноним 15/10/20 Чтв 00:29:37 1830736546
>>1830710
>Линух.
>Удобнее.
Не вводи людей в заблуждение. С точки зрения удобства один хуй на чем писать - работает одинаково. Разница лишь в том, что винда не поддерживает 0.1% библиотек, с которыми вкатывальщик никогда не столкнется. Ну и в некоторых деталях имплементации питона, влияющими на производительность, которые ты тоже скорее всего никогда не узнаешь.
Аноним 15/10/20 Чтв 01:11:29 1830739547
В чем пишете код? Мощные IDE или простые редакторы?
Аноним 15/10/20 Чтв 04:46:03 1830816548
Бля, сколько нуфагов набежало.
Откуда вы все?
Бывшие мусора перекатывающиеся в ойти небось.
>>1830739
И то и то.
>>1830689
На убунте проще и лучше.
Аноним 15/10/20 Чтв 08:53:03 1830897549
>>1830739
Notepad++, конечно же. Обмазать плагинами — и лучше не завезли.
Аноним 15/10/20 Чтв 08:57:19 1830898550
>>1830689
>на какой ОС будет удобнее/проще?
Разумеется, на Винде. Не слушай красноглазых сектантов.
Аноним 15/10/20 Чтв 08:57:49 1830899551
>>1830710
>Куда она там устанавливает говно, какие команды прописаны, ебал рот просто
Ты долбоеб?
Аноним 15/10/20 Чтв 09:02:21 1830901552
>>1830304
>а осознание что такое методы, поля, классы придет позже
Я их осознал, когда почитал книжку по Джаве, лол. А до этого хуярил десктопные аппы на PyQt5 по методичке без понимания, нахуя классы, инстансы, селфы - вот это все.
Аноним 15/10/20 Чтв 09:21:24 1830906553
e3Dk4AAuQGk.jpg 40Кб, 600x597
600x597
Всем привет!!!
Аноним 15/10/20 Чтв 18:00:33 1831391554
>>1817742 (OP)
Что почитать для общего технического развития? Я уже работаю питонистом и хочу развиваться дальше. Есть смысл читать всякие "Идеальный код" и прочее?
Аноним 15/10/20 Чтв 18:03:31 1831397555
Параметорезированные декораторы
https://pastebin.com/8NPWvpTG

Собственно вопрос, почему декоратор wraps из functools в данном случае не копирует оргументы исходной функции? и как сделать, чтобы копировал?
Аноним 15/10/20 Чтв 18:04:03 1831398556
>>1831391
пили историю,как им стал
Аноним 15/10/20 Чтв 18:05:16 1831400557
>>1831397
вопрос снят, все копирует. просто я тупой.
Аноним 15/10/20 Чтв 19:36:03 1831482558
>>1830899
>>1830736
Ладно, долбоеб так долбоеб.
Я в принципе студент и особо на питоне не писал, но просто не привычно было.
Аноним 15/10/20 Чтв 20:39:06 1831517559
Вкатился на codewars. Какие подводные? К чему стремится? Когда считать себя гуру питона?
Аноним 15/10/20 Чтв 21:08:00 1831529560
>>1831517
Просто решай задачки.
Аноним 15/10/20 Чтв 22:55:59 1831573561
Аноним 15/10/20 Чтв 22:59:58 1831575562
>>1831573
Не знаю, честно говоря. Я просто codewars сборники решал в свое время, там были задачки на набивание руки, алгоритмические тренажеры и прочее.
Аноним 16/10/20 Птн 01:48:11 1831640563
Можно ли во время генерации списка за одну итнрацию запихивать сразу 2 элемента? Например создать список [1, -1, 2, -2, 3, -3, ... , n, -n] при помощи чего-то типа [ i, -i for i in range(n)]
Аноним 16/10/20 Птн 01:49:31 1831641564
>>1831640
за одну итерацию

фикс
Аноним 16/10/20 Птн 01:52:27 1831643565
>>1831640
Насколько я знаю, только так: [[i, -i] for i in range(n)].
А чтобы сделать список плоским используй more_itertools.flatten:

import more_itertools as mt
var = list(mt.flatten([[i, -i] for i in range(n)]))
Аноним 16/10/20 Птн 01:53:46 1831644566
>>1831575
А есть ли практическая польза от решения таких задач? Что это может дать, кроме как того же что и решение задачек по шахматам. В реальной жизни это пригодится? И как лучше юзать, выбирать по тегам, по ку, или задрачивать что-то одно? Я даже хз как подступиться к этому. Сам сайт понравился, сделан круто, воодушевлялет. Я вот изучил питон, и не знаю как это применить на практике, а уж тем более как заработать на этом, ко всему же, нету профильного, наподобии высшего математического, я пробовал пару раз вылаживать на хх ру, но видимо мое резюме, и образование не привлекают работодателя. Хз что делать, но знания есть и руки чешутся, ну и чет поверил в себя.
Аноним 16/10/20 Птн 02:05:27 1831648567
>>1831643
Ну, это вроде и ответ на вопрос, но ответ мне не нравится. Если уж юзать костыли, то лучше [i//2 if i%2==0 else -(i-1)//2 for i in range(2*n)]
Аноним 16/10/20 Птн 06:59:28 1831677568
я ПОЛУЧУ 1 дан на кодворсе
Аноним 16/10/20 Птн 08:46:04 1831696569
>>1831640
>за одну итнрацию запихивать сразу 2 элемента
zip же
Аноним 16/10/20 Птн 11:04:00 1831742570
>>1831644
самое лучше в таких сервисах это смотреть самые топовые решение.

И перенимать стилистику написания у них.

Например если нужно выполнить некое кол-во действий, в задаче, имеет смысл ее разбивать на функции. а уж темболее если твой код дублируется 2 и более раз, то сам боженька велел.
Так же и с ООП если строишь дерево, то делай так, чтобы если тебе пришлось сопроваждать код, то для изменения его всей логики, тебе бы пришлось код править в одном месте. а не бегать по всем классам и исправлять ручками.

Говнокод нужно исправлять с детства.
Аноним 16/10/20 Птн 12:13:48 1831790571
>>1831742
>Говнокод нужно исправлять с детства
Я где научиться этому за неделю?
Аноним 16/10/20 Птн 12:14:19 1831791572
>>1831696
Либо твой ответ бессмыслен, либо я не понимаю его. Можешь написать пример применения zip для создания списка из моего примера?
Аноним 16/10/20 Птн 12:20:05 1831798573
>>1831790
За пару месяцев + пеп может что и выйдет.
Аноним 16/10/20 Птн 12:55:04 1831833574
>>1831798
Что такое "пеп"?

мимо анон, но с похожими обстоятельствами
Аноним 16/10/20 Птн 13:06:51 1831846575
>>1831648
чтобы получить плоский массив, то нужно писать функцию.(добавлять через .append или срез)
а во включении ты вложенный список получишь. тк генерируется один объект и это елемент списка.
Аноним 16/10/20 Птн 13:08:33 1831850576
>>1831833
Этика написания кода. pep8 для петона, например, а pep7 для c.
Заучишь как надо, совместно с упражнениями codewars и пет проектами, до автоматизма, считай что ты лучше многих джунов.
Аноним 16/10/20 Птн 13:41:45 1831883577
Как часто применяют аннотацию типов? И где, в вебе, датасаенсе и тд.?
Аноним 16/10/20 Птн 14:38:46 1831944578
Как создается взаимодействие браузера и программы? Например программе нужно произвести некоторые действия с функционалом сайта, что-то отправить сайту, что-то скачать и тд. Как это сделать без графического интерфейса? Можно ли параллельно? Для этого vpn наверное нужен?
Аноним 16/10/20 Птн 14:44:34 1831950579
>>1831944
>программе нужно произвести некоторые действия с функционалом сайта, что-то отправить сайту, что-то скачать
Гугли например Flask и изучай ну или Django.
Аноним 16/10/20 Птн 15:01:57 1831971580
>>1831950
А если сайт не на питоне написан, а на условном php?
Аноним 16/10/20 Птн 15:15:05 1831989581
>>1831883
Везде, где пишется что-то сложнее одноразового скрипта.
Аноним 16/10/20 Птн 15:15:39 1831991582
Аноним 16/10/20 Птн 15:30:04 1832011583
>>1831944
Так-с, блэт, для начала поставь конечную цель, что тебе надо.
А то один фласк советует, лол, а второй - селениум. Вообще две разные степи.
Если ты создаешь веб-сервис И сайт к нему, то фласк/джанго, да.
Если тебе нужно автоматикой прокликать формочку на сайте, то селениум. Это именно графическое (т.е. UI) взаимодейтсвие.
Если достаточно просто получать данные с сайта посредством REST-запросов, то requests. Если нужно аж прям невъебись как распарсить этот сайт на молекулы, то Beautiful_Soup.

Если все настолько просто, чтобы просто залогиниться и скачать что-то по ссылке, то достаточно requests.
Аноним 16/10/20 Птн 15:53:49 1832039584
>>1831640
[-x if y else x for x in range(1,10) for y in range(2)]
Аноним 16/10/20 Птн 15:58:49 1832040585
>>1831640
[x for i in range(1, 10) for x in (i,-i)]
Аноним 16/10/20 Птн 16:00:12 1832043586
>>1831640
from itertools import chain
list(chain.from_iterable((x, -x) for x in range(1, 10)))
Аноним 16/10/20 Птн 16:03:24 1832046587
Чего только люди не придумают, лишь бы зипом и срезами не пользоваться.
Аноним 16/10/20 Птн 16:17:02 1832053588
>>1832046
как сделать проще зипом?
Аноним 16/10/20 Птн 16:36:44 1832071589
Вы далбаебы блять, делайте просто
Массив = []
Фор ай ин раньж(число):
_____массив.аппенд(ай)
_____массив.аппенд(-ай)

Все блять просто и понятно
Аноним 16/10/20 Птн 16:38:11 1832075590
Аноны, у меня есть файлы в которых миллионы символов, тексты, мне нужно найти в них самые часто встреающиеся слова, чем быстрее, тем лучше и желательно самому велосипед не писать, кто-нибдь может подсказать название алгоритма или чего-то подобного
Аноним 16/10/20 Птн 16:52:31 1832090591
>>1832075
Очевидный collections.Counter
Аноним 16/10/20 Птн 16:52:47 1832091592
>>1832011
Нужно чтобы по нажатию 1 кнопки на форуме "двач" создавался аккаунт и в темке зарплатотреда писалось "300к нс программист". Это Beautiful_Soup получается.
Аноним 16/10/20 Птн 18:55:14 1832190593
>>1832091
На гитхабе куча либ по работе с апихой двоща есть, даже думать не надо.
Аноним 16/10/20 Птн 19:03:52 1832201594
>>1832090
Спасибо огромное, друг, я раньше в collections не залезал, думал придется свой алгоритм писать, а тут и слово и каунтер есть и все дико просто
Аноним 16/10/20 Птн 22:44:54 1832346595
Аноним 16/10/20 Птн 22:46:21 1832348596
>>1832039
>>1832040
Так, а это интересно. Поэкспериментирую с подобными способами, спасибо!
Аноним 16/10/20 Птн 22:55:43 1832350597
господа программачеры, нужен совет
какой проект в портфолио ебануть? чтобы все было по-взрослому: многопоточность, шоб средней величины был и тд
Аноним 17/10/20 Суб 00:26:26 1832391598
image.png 97Кб, 620x618
620x618
Скажите аноны, есть у меня несколько текстовых файлов(условно, сам парсил, можно и json и словарь) с отсортированными словами с hh.ru по вакансии, мне нужно сделать, чтобы наглядно это представить похожую на пик ебалу, куда мне обращаться, смотреть в питоне чт-то типа pyqt или к джээсерам идти, нужно просто чтобы слова красиво рандомно раскиданы были и шрифт от количества вхождений увличивался
Аноним 17/10/20 Суб 00:44:09 1832401599
>>1832391
Это бессмысленно. Забей хуй на эту ебалу.
Аноним 17/10/20 Суб 00:51:34 1832412600
>>1832350
Асинхронный инстаграм. Настоящий-то инстаграм на джанге написан, они твой код себе возьмут, а тебе поставят лойс на гитхабе.
Аноним 17/10/20 Суб 00:54:24 1832415601
>>1832391
Гугли word cloud. Для питона наверняка есть готовые библиотеки.
Аноним 17/10/20 Суб 01:00:49 1832418602
>>1832412
ты угораешь сейчас?
Аноним 17/10/20 Суб 01:20:11 1832429603
>>1832418
Серьезно на джанге. Я сам был удивлен.
Аноним 17/10/20 Суб 02:10:38 1832447604
Вкатился в кодворс
Такая задача

Create a function (or write a script in Shell) that takes an integer as an argument and returns "Even" for even numbers or "Odd" for odd numbers.

Я решил ее так

even = range(-1500,1500,2)
odd = range(-1501,1500,2)

def even_or_odd(n):

if n in even:
print('Even')
elif n in odd:
print('Odd')

even_or_odd(-539)

Я даун? Посмотрел решения, там меньше строчек и как-то проще. Но у меня получилось. Но вот проблема будет если ввести 5236. Так что хз решил я или нет. Что думаете?
Аноним 17/10/20 Суб 05:34:46 1832474605
>>1832447
>Вкатился в кодворс
Выкатывайся, айти это не твое.
Аноним 17/10/20 Суб 05:38:50 1832475606
>>1832474
Я уже переписал) все получилось, надо было четное и нечетное представить как 1 и 0, те n%2, но за поддержку спасибо. Это всегда вдохновляет.
Аноним 17/10/20 Суб 05:40:25 1832476607
>>1832447

Ты не решил, подумай как можно математически проверить четное ли число. Минусы твоего решения по сравнению со стандартным: отсутствие универсальности (работает не для всех целых чисел), очень медленное (у тебя может быть перебрано 3000 вариантов)
Аноним 17/10/20 Суб 05:42:03 1832477608
Аноним 17/10/20 Суб 06:29:27 1832480609
Объясните тупому. Что такое swagger и для чего он? Ну вот есть у нас эндпоинт, ну и дальше что? Чем он отличается от обычного Гет реквеста?
Аноним 17/10/20 Суб 07:21:07 1832483610
>>1832474
Да не вроде стало получаться. Например, такое задание

You get an array of numbers, return the sum of all of the positives ones.

Example [1,-4,7,12] => 1 + 7 + 12 = 20

Note: if there is nothing to sum, the sum is default to 0.

Я решил так

def positive_sum(numbers):
if numbers == []:
print('0')
else:
suma = sum([i for i in numbers if i >= 1])
print(suma)

positive_sum(numbers = [1,-4,7,12])

Получилось заебком. Но чет кодворз глючит. Не выдает результат типо я охуенен. Но у меня на пайчарме все отработало.
Аноним 17/10/20 Суб 11:21:25 1832541611
>>1832483
надо вернуть, а не напечатать.
Аноним 17/10/20 Суб 11:36:43 1832544612
>>1832541
Теперь это госдолг США тред.
Аноним 17/10/20 Суб 11:54:09 1832549613
>>1832415
Да, есть, даже статью нашел с готовым решением, спасибо
Аноним 17/10/20 Суб 16:29:35 1832764614
Screenshot20201[...].png 3Кб, 298x37
298x37
Почему может не отвечать тестовый сервер flask на ubuntu?
app.run(debug=True)
Всё нормально, ошибок нет, но страница не грузится, сервер не отвечает вообще (в режиме разработчика). Если сервер остановить, то говорит что попытка соединения не удалась, а иначе просто крутится загрузка, типа оджидание ответа сервера. Как победить?
Аноним 17/10/20 Суб 16:34:31 1832775615
>>1832764
Заработало, лишняя библиотека в импортах торчала. Странно что ошибок не было.
Аноним 17/10/20 Суб 17:02:11 1832805616
Двач, ни разу ничего в прод не делал, только на гитхаб, вот задача, есть плагин, который может делать http запросы, у сервер с вебсервисом находится у нас на другой машине, локально не соединен, что гуглить, чтобы разобраться в том как можно передавать http запросы, просто ip вбить? а как это работает тогда? Или провайдеры хранят все ipшники и к любому можно подкючится, просто если он чт-нибудь в консоли откроет?
Аноним 17/10/20 Суб 17:03:31 1832809617
>>1832805
* в моем мозгу возникает только мысль о том то нужно покупать домен, чтобы браузер через dns мог понять на какой ip ему запрос делать
проблем нид халп Аноним 17/10/20 Суб 18:32:03 1832885618
ede0bc2f1562747[...].jpg 42Кб, 500x358
500x358
сап, питоняши

У меня есть такая задача, а я, в свою очередь, не знаю, как к ней правильно подойти.

Дано: hex-массив переменной ЧЁТНОЙ длины.
Примерный вид такой:
DD120134A1A2B3E588 и тд, в среднем len() в районе 200.

Каждый блок из двух символов на фиксированном месте что-то означает.
Например, первый блок DD всегда должен быть DD, означает начало пакета.
Следующий блок, он же байт, 12, означает номер версии ПО (шестнадцатеричная)
Следующие два байта 0134 означают в шестнадцатеричной номер запроса
Следующий байт 1A означает статус операции (возможны три варианта: 1A - принято, 2A - исполняется, 3А - отвергнуто)
И так далее

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

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

Но код УЖАСНО громоздкий, выглядит так, что моё чувство прекрасного говорит мне, что я долбоёб и всё делаю неправильно. Отдельно хреново то, что некоторые байты не имеют расшифровки, как у статуса операции, а несут собой просто тупо число. Вот на этом я особенно завис.

Питоняши, как лучше организовать работу вот с такими данными? Спасибо:з


Аноним 17/10/20 Суб 18:35:24 1832891619
Аноним 17/10/20 Суб 18:36:58 1832892620
>>1832805
Короче скорее всего понадобиться у провайдера подключить услугу белый IP. Это значит, что адрес твоего наверное роутера будет доступен из внешней сети. На роутера тоже нужно будет прокинуть порты, типа чтобы кода приходили пакеты на 80 порты, они уходили на сервер
Аноним 17/10/20 Суб 19:19:16 1832924621
>>1832885
Нихуя не понял, у тебя одномерный массив байтов или строка?
Код свой покажи хотя бы чтобы было понятно что там у тебя на входе.
Аноним 17/10/20 Суб 19:33:31 1832934622
Screenshot 2020[...].png 284Кб, 1938x1612
1938x1612
>>1832924
Можно и так, и так, но я решил работать как со строкой

https://pastebin.com/tNpRawVs

Вот, короче, так ужасно выглядит фрагмент работы с первым небольшим количеством символов. Учитывая, что их будет в районе 100+, этих полей, чувствую, что код будет ещё большим говном, чем есть сейчас
Аноним 17/10/20 Суб 21:38:35 1833099623
Аноним 17/10/20 Суб 22:50:08 1833129624
Аноним 18/10/20 Вск 00:07:11 1833183625
>>1832934
Обычно используется штатный модуль struct.
Кстати:
message_bytes = bytes(int(x, 16) for x in string.split())
Аноним 18/10/20 Вск 02:26:03 1833266626
Подскажите где найти reduce. Импотрировал модуль функтулз там нету. Где его искать то?
Аноним 18/10/20 Вск 02:36:26 1833269627
>>1832474
>>1832476
вы вот угораете, а я считаю, что это нахуй гениально
просто ебануть от минус бесконечность до плюс (1500, ЛОЛ) и искать перебором
ептвою мать, это либо тролинг, либо парень непризнаный гений
если тролинг - то жирно
если рил - то спасибо, такие как ты обеспечивают меньшую конкуренцию)
Аноним 18/10/20 Вск 02:37:43 1833270628
>>1832447
да все ок, есть два замечания
предлагаю генерировать рандомное число, проверять равны ли числа между собой, и, если равны, то смореть в каком из массивов число
вот
ну и -1500 до 1500 маловато, хорош. Ты ведь в питоне: напиши 1e+100 и не парься
Аноним 18/10/20 Вск 02:45:21 1833272629
>>1833269
И я вот так и не понял, то ли меня похвалили то ли меня обосрали. Но у меня уже на кодворзе получается, юзаю уже методики феншуйные, меньше от сеябтиные, больше лупа, лист компрхеншена, и генераторов.
Аноним 18/10/20 Вск 02:46:17 1833274630
>>1833272
ну если серьезно, то решение пиздец
но правильно, что сделал работу над ошибками) удачи с этим
Аноним 18/10/20 Вск 03:06:48 1833279631
>>1833266
ап, где все таки редус?
Аноним 18/10/20 Вск 04:03:51 1833293632
Пиздец решаю верно но код получается громоздкий. У анонов с кодворза элегентно получается. и в пару строк, а у меня война и мир.

Например.

Write a program that finds the summation of every number from 1 to num. The number will always be a positive integer greater than 0.

Я решаю так

import functools

def summation(n):
sum = n + 1
suma = range(1, sum)
suma_all = functools.reduce(lambda x, y: x + y, suma)
return suma_all

result = summation(100)
print(result)

Получается, балы засчитаюывают, но как-то громоздко чтоли. Посоветуйте, или тут нужна тупо практика.
Аноним 18/10/20 Вск 08:28:38 1833337633
>>1833293

Чего? Сумма от 1 до n это n*(n+1)//2
Аноним 18/10/20 Вск 13:46:36 1833446634
>>1833293
все беру слова назад, парень тролль
Аноним 18/10/20 Вск 17:53:11 1833647635
2020-03-2516-41[...].png 275Кб, 486x695
486x695
Первый раз в треде. Написал свой первый скрипт на питоне. Идея простая как пять копеек но если бы знал как долго буду с этим ебаться, то не начинал бы.
Суть в том что у меня есть эксел файл куда я вписываю каждый месяц сколько у меня денег в трёх разных заначках. Решил сделать телеграм бота, который делает тоже самое.

Сам бот https://t.me/money_buckets_bot
Код https://github.com/gmovchan/PersonalFinance

У меня нет второго акка в телене, так что не знаю на сколько успешно бот работает с несколькими юзерами, возможно он сразу упадёт, сам он подниматься не умеет, обработчик исключений я не осилил. По идеи в консоле увижу что его свалило
Аноним 18/10/20 Вск 18:11:07 1833672636
>>1833446
Нет, стоп. Я только начал и освоил синтаксис. Решаю как могу, я не математик и нету профильного.

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

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

Например.

Create a function that checks if a number n is divisible by two numbers x AND y. All inputs are positive, non-zero digits.

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

def is_divisible(n, x, y):

res1 = n / x
res2 = n / y

if res1.is_integer() and res2.is_integer():
return True
else:
return False

result = is_divisible(48, 3, 4)
print(result)

HРешение зачли. Посмотрел у других, и понял на какой логике делали они. Туоп надо больше изучать как ведут себя всякие % и что дают. Жду дельных советов все таки. Я нюфаня.
Аноним 18/10/20 Вск 19:06:41 1833709637
>>1833672
а я вот на кодварсе никогда не сидел. Это типа лайтовые задания?
Аноним 18/10/20 Вск 19:16:05 1833726638
Подкиньте сайтов, где можно выполнять фриланс на питоне за копейки. пару сотен - пару тысяч деревянных за заказ.
Аноним 18/10/20 Вск 19:16:40 1833727639
Аноним 18/10/20 Вск 19:34:41 1833761640
Аноны, подскажите, пишу бота для дискорда и возникла проблема - модуль для работы с дискордом написан на aiohttp, а я не особо разбираюсь вообще в асинхронности. Проблема в том, что мне нужно написать функцию, которая опрашивает урл на предмет json response, опрашивать она должна асинхронно, каждые условно несколько секунд, все что я понял мне нужно создать асинхронную функцию, которая будет опрашивать, обернуть ее в таск и засунуть в инвет луп, но как именно обернуть функцию в таск и добавить в луп я хз, луп реализован в модуле дискорда, поэтому я его не могу поменять, может можно в какой-то список аппендить таски? Подскажите, прошу
Аноним 18/10/20 Вск 20:46:41 1833898641
>>1833709
Типо да, самые легкие, 8ку, я за более сложные даже не берусь нах. Так как боюсь что неудачи подорвут мои стремления в купе с похвалами итт.
Аноним 18/10/20 Вск 20:54:49 1833907642
Аноним 18/10/20 Вск 20:59:31 1833916643
>>1833907
О боже, как ты меня выручил, сори за глупый вопрос
Аноним 19/10/20 Пнд 02:39:03 1834103644
Опять же, как обойтись без range и тупого перебора?

The first century spans from the year 1 up to and including the year 100, The second - from the year 101 up to and including the year 200, etc.
Given a year, return the century it is in.

Надо ввести год, а получить - век из функции. Ну ок, аноны решили элегантно. Но здесь range - оправдан, что не так много прошло тысячелетий например. Всего 2000. Остальное - задача других прогеров. Те - нахуй выебваться если есть rang и брутфорс?

Решил так

r = range(0, 5000, 100)

def centyry(year):
if year in r:
return year // 100
else:
return year // 100 + 1

result = centyry(1705)
print(result)

Заапрувили и дали хоноры. Изучаю более элегантные решения но они подвязаны на модулях, математике и тд и тп. Я еще пробовал всоввть четные и нечетные. Остановлися на переборе. Как то так.
Аноним 19/10/20 Пнд 03:00:52 1834108645
>>1834103
> if year in r:
> return year // 100
> else:
> return year // 100 + 1
Лмао.
Аноним 19/10/20 Пнд 03:02:25 1834109646
.png 72Кб, 1532x228
1532x228
>>1834103
А ты не пробовал, оп-пост читать? Или хотя бы сам посмотри как твой код выглядит без отступов
Аноним 19/10/20 Пнд 03:44:46 1834114647
Вот еще
https://www.codepile.net/pile/GWJAjVxL

Задание было сделать простой калькулятор.

Your task is to create a function that does four basic mathematical operations.

The function should take three arguments - operation(string/char), value1(number), value2(number).
The function should return result of numbers after applying the chosen operation.

Я решил сам. Но много строчек, юзал лямбду. Потом посмотрел, пиздец как же просто решили это другие. Но получилось. Код распидарасило. Но в целом, остальные решали также, те логика такая же что радует.
Аноним 19/10/20 Пнд 11:00:33 1834285648
>>1832350
Перекатывалку тредов напиши, у нас нехватка кадров, срочно необходимо внедрение автоматизированного решения.
Аноним 19/10/20 Пнд 11:12:47 1834301649
Screenshot (35)2.png 1066Кб, 1157x1079
1157x1079
>>1833647
потыкает кто-нибудть? никто не тыкал. мне интересно упадёт он или нет.
Аноним 19/10/20 Пнд 12:56:12 1834417650
>>1834301
Всё, отбой, сломали. Бот хуёво с БД работает.
Аноним 19/10/20 Пнд 17:43:28 1834670651
Можно ли как-то перегрузить max()? А то нужно найти максимальный элемент кортежа, при этом кортеж может быть пустой.
Аноним 19/10/20 Пнд 17:47:26 1834672652
>>1834670
а обернуть в try-except религия не позволяет?
Аноним 19/10/20 Пнд 17:54:58 1834683653
Аноним 19/10/20 Пнд 17:56:26 1834686654
а, y не заметил, извиняюсь
Аноним 19/10/20 Пнд 18:41:09 1834770655
>>1834672
Именно. Если есть возможность не пихать траи, то не пихаю. Зато узнал, что у max() есть параметр default, оно мне и нужно.
Аноним 19/10/20 Пнд 19:04:19 1834794656
Сап, аноны, я пытался вкатиться в фронтенд html css js вот это всё, но меня вымораживает это двигание пикселей по pixel perfect или типа того да и вообще верстать как-то не заходит, так что подумал что это все-таки не мое.
Можете пояснить за бэкенд? Читаю, некоторые пишут что тот же макакинг, что и во фронте с однотипными задачами?
Аноним 19/10/20 Пнд 19:56:10 1834829657
Стоит ли рефакторить код после решения? Получилось. Но я посмотрел у других и понял что я даун. Что можно было решить в разы быстрей. Но если я перепишу, то это будет считаться что решил после того как увидел решения дургих? И вообще, как лучше, много текста - верное решение, мало текста - верное решение, или вообще похуй. Прилагаю задачу и решение.

Write a function to convert a name into initials. This kata strictly takes two words with one space in between them.

The output should be two capital letters with a dot separating them.

It should look like this:

Sam Harris => S.H

Patrick Feeney => P.F

КК слову такое задание может встретиться. Вот решение.
https://www.codepile.net/pile/8E6l3NQR

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

Аноним 19/10/20 Пнд 20:12:08 1834834658
>>1834829
Сам как думаешь? Задача решается в одну строчку, например вот так:

".".join([word[0].upper() for word in name.split()])
Аноним 19/10/20 Пнд 20:14:01 1834837659
>>1834834
Да именно, я уже посмотрел у других. Щас так бы и решил. Для себя уже вывели пару правил на подобные вещи. Но все равно решил же. Буду стараться в меньше строк решать. Но в целом, логика думаю была верная, даже методы брал верные. Спс.
Аноним 19/10/20 Пнд 20:17:46 1834838660
как записать на питоне что x y z попарно не равны?
Аноним 19/10/20 Пнд 20:23:38 1834840661
аноны, дико извияюсь, тк мб не по теме, но все же
я короче веду пары у детей 12-13 лет по питону. Наш ебанутый директор просто мечтает включить pygame в программу. Начал, значит, смореть я какие-нибудь простые игры
А там пиздец
Классы, хуяссы, ивент луп, скрипты по 300 строк
они нахуй научились у меня только недавно while писать без подливы
У вас ни у кого нет примеров каких-нибудь реально простых игор на пайгейме?
Аноним 19/10/20 Пнд 20:46:31 1834846662
>>1834838
>как записать на питоне что x y z попарно не равны?
Что это означает?

Если надо проверить, отличается ли хотя бы одно из трех, то так: not x == y == z, или так: len({x, y, z}) > 1.

Если отсутствие двух одинаковых (все три не равны друг другу), то так: x != y and x != z and y != z, или так len({x, y, z}) == 3
Аноним 19/10/20 Пнд 21:20:16 1834858663
Аноним 19/10/20 Пнд 22:01:43 1834887664
>>1834794
В бэке нужно минимум знать работу с базами данных, писать алгоритмы несложные и знать работу с вебом(протколы, заголовки, mvc), начни изучать что-то из этого и подумай зайдет ли
Аноним 19/10/20 Пнд 22:07:44 1834891665
>>1834837
Не нужно уменьшать количество строк, так потом сложнее прочитать и изменить чё ты там высрал.
Аноним 19/10/20 Пнд 22:44:08 1834908666
>>1834794
да на самом то деле вся работа в конечном итоге рутина. Новомодные свежие задачи не так часто падают на голову: я вот работаю в супер пупер молодежном стартапе и также периодически заебываюсь рутину ебашить
как это относится к беку? ну на мой взгляд это более программирование, чем фронт, но будь готов к тому, что и он может подзаебать своей однообразностью
Аноним 19/10/20 Пнд 23:01:01 1834920667
Наконец то стало получаться в одну строчку епта

def maps(a):
return [x + x for x in a] if a else []

list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list)

Даже с условием получилосль чему рад, так как обычно проверял в начале на 100500 строчек. Збс, решения других помогают.
Аноним 20/10/20 Втр 01:02:34 1835028668
>>1834920
а как было, если не секрет?
Аноним 20/10/20 Втр 01:08:50 1835029669
Прошаренные аноны, предположим есть вебсервис, который отдает json в зависимости от праметров запроса, либо стандарт, либо ошибка, если ошибка, то мне нужо вывести одно сообщение, если все ок, то другое, как обрабатывать оба варианта? Первое что приходит в голову это траи использовать, но такое ощущение, что это не правильно, подскажите бестпрактис
Аноним 20/10/20 Втр 06:23:08 1835083670
>>1835029
Траи же и нужны для ловли ошибков. Так что, использовать их - правильно.
Аноним 20/10/20 Втр 09:44:51 1835136671
>>1835029
Это смотря как тебе ошибку отдаёт. Если код состояния http при ошибке отличается, то смотри по нему. Если при ошибке тоже 200 возвращает, то наличие ошибки должно быть обозначено в теле ответа.
Аноним 20/10/20 Втр 11:34:10 1835183672
>>1834829
ab = [x[0] for x in a]
n, f, k = ab

никогда так не делай, слышишь!? никогда!
Аноним 20/10/20 Втр 14:43:54 1835325673
>>1835183
Это же распкаовка, я бы без нее не смог бы обратиться к объектам. Хотя можно было бы...
Аноним 20/10/20 Втр 15:32:11 1835383674
image.png 15Кб, 317x296
317x296
Здравствуй анонимус. Только начал изучение питонадо этого накодил пару простых программ на си и хотел написать простую программу которая бы делала 2 скриншота, сравнивала и выводила ответ. Как мне проще всего это сделать? Пикрлейтед мое творчество и оно не работает. Через библиотеку дифф или через контрольную сумму, может как-то еще? Спасибо.
Аноним 20/10/20 Втр 15:43:06 1835397675
>>1835383
Попиксельное сравнение интересует или ещё какой?
В прочем, не важно, юзай numpy.
Аноним 20/10/20 Втр 15:53:15 1835404676
image.png 23Кб, 371x414
371x414
>>1835397
Попиксельное не требуется. Проще сделал, получил размер файла в байтах и сравнил.
Аноним 20/10/20 Втр 16:51:24 1835477677
А в чем суть и прикол кумитэ на кодворзе? В чем именно соревнование?
Аноним 20/10/20 Втр 19:17:31 1835579678
Аноним 22/10/20 Чтв 12:10:18 1836758679
Аноним 30/10/20 Птн 19:00:46 1844076680
pip
Аноним 27/12/20 Вск 00:07:36 1891911681
>>1830048
>Toptal
Наткнулся на сабреддит toptalent и меня осенило, что топтал == топталент.
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов