Этого треда уже нет.
Это копия, сохраненная 1 апреля 2021 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Питон тред №101 /python/ Python 1817742 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #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.

— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
2 1817810
Чуть обосрался, мод поправь название треда
3 1818007
Дайте пару советов по настройке окружения. Какой дистрибутив лучше подходит для веба? Смотрю с сторону ubntu или elementary
4 1818012
Подскажите нубу:

Инициализирую 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__)



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

Проблема в том, что при каждос перезапуске приложения перезаписывается и база данных. Что делать, чтобы приложение не дропало бд?
5 1818031
>>18007
Ubuntu перешла на 3.8, а окружения лучше в docker собирать, как мне кажется. Тогда у тебя априори свежие сборки всего.
Ubuntu все же от корпоративщиков, а Elementary от васянов. При переходе на docker ваще похуй должно быть. А так pipenv или poetry используй.
6 1818056
>>18007
Юзаю xubuntu, pyenv, poetry, docker.
Вся разработка и тестирование в докерк, ведь потом в докерк идёт доставка на сервер. Мелкие скрипты и какие-то тестовые запуски через pyenv. Ну и pycharm/vscode по настроению.
7 1818101
>>18031
>>18056
Спасибо!
8 1818197
хочу написать что-нибудь не связанное с вебом,но не знаю что.Посоветуйте чем заняться
9 1818256
>>18197
напиши фанфик по девил мей край, например
10 1818262
Кто зарабатывал на фрилансе или в конарах, подскажите плис. Вот я задрочил scrapy. Как можно на нем поднять бабла?
Например, на фрилансе. Если будет задание, то что обычно просят сделать, ясно что отпарсить. Но какие бывают извращения, чтобы как можно быстрее и точнее сделать парсинг под хотелку заказчика, если таковой вообще будет.

А вообще, пилите стори, кто что делал на фрилансе по питону.
11 1818297
>>18197
генератор qr кодов, тебе надо загуглить принцип и алгоритм и саому их реализовать, использовать PIL или matplotlib для создания картинки разрешаю, Написать обертку над готовым генератором нет, это не то, реализовывай сам
12 1818314
Имеется непрерывное поступление данных типа:
False + время
False + время
False + время
True + время
True + время
False + время
False + время
False + время
True + время
False + время
False + время

Мне нужно при появлении первого True, записать время начала события. Потом ждать появления False и записать время конца события создавая пару [начало, конец]. Не могу понять логику как это реализовать.
13 1818330
>>18314
у тебя события завешаются в том же порядке, в котором начинаются?
деку юзай
14 1818332
>>18330

>у тебя события завешаются в том же порядке, в котором начинаются?


Что это значит?

>деку юзай


Я знаю только стеройд для кочков с названием "дека"
15 1818333
Пытаюсь авторизоваться на сайте через либу requests. Сайт использует "Set-Cookie". Запросы отправляю через созданную сессию: requests.Session(), добавив после этого нужные заголовки.

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

Буду благодарен, если кто знает как такое пофиксить и сделать чтобы куки нормально цеплялись.
17 1818342
>>18333
Покажи запрос с хедерами и куками на каждой либе
18 1818345
>>18342
Спасибо, уже разобрался. После добавления session.verify = False всё заработало.
20 1818360
>>18007

>Какой дистрибутив лучше подходит для веба?


Если ты задаешься таким вопросом, значит линукс тебе вообще не нужен.
21 1818362
>>18353
Во, твой сразу понял. А то сижу и думаю что там у того анона.
Спасибо за помощь.
22 1818377
>>18353
Можешь объяснить как читается это условие?
if event and not period or period and not event:
23 1818382
>>18377
если евент ТРУЕ и период пустой или период не пустой и эвент ФОЛС
24 1818387
>>18382
Блогодарю.
16005258918853.mp43,7 Мб, mp4,
1280x720, 1:00
25 1818478
>>17742 (OP)
Питонач, нужна статья или глава учебника, где на пальцах рассказывают про временную сложность алгоритмов и как её считать.
26 1818519
Анонче, чет встрял на регулярках, помогите, пожалуйста.
Дано строчное месиво, из которого нужно вычленить объект, например:
{1:'raz'},{2:'dva'},{'python':'sila','1488':'drugoy_yazik'},{3:'tri'}

Болдом выделил то, что нужно найти при помощи регулярки. Проблема в том, что там могут быть разные букво-знаковые значения разной длины, например java_script, haskell (у меня итерация по куче таких стрингов). Предшествующая и последующая часть там всегда одинаковая, поэтому я понял, что мне нужно присосаться к тому, что перед началом объекта (1488':'), тому, что после его окончания ('},), и соответственно взять то, что между. Но как мне учесть разное количество символов в искомом объекте?
27 1818523
>>18519
1488':'(.+?)'
28 1818524
>>18523
'1488':'(.+?)'
29 1818531
>>18524
last fix:
'1488':'(.*?)'
30 1818536
>>18531
Погоди, а почему тут нет ^ и $? Я думал, как-то через них надо.
31 1818537
>>18536
Ну это используется вроде если важно положение относительно начала и конца строки, как понимаю
В твоём примере вроде это не имеет значения
32 1818554
>>18537
Е моё. А как тогда твоя ркгулярка работает? Можешь объяснить логику?
33 1818559
>>18554
как понимаю, примерно так:
находим такую часть строки где следуют символы '1488':' а за ними любое количество (от 0 и более) любых символов, после которых должна быть одинарная кавычка. сохраняем все эти символы до первой встречной кавычки
34 1818573
Аноны, поясните за sql, вроде во многхи вакансиях требуют, насколько какой-нибудь постгре отличается от простого? Насколько долго и сложно учить конкретный вид, это как новый язык погромирования, или там минимальные различия? Ну и какой вид по-вашему мнению более актуален и популярен (хотя ясен хуй, что от работодателя зависит конечно, но хоть прикинуть, куда ориентироваться)
35 1818579
>>18573

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


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

> Насколько долго и сложно учить конкретный вид


Это никто не учит, просто идёшь в гугл как тебе в такой-то БД сделать такую-то операцию, там будет описание синтаксиса. Есть основы, общие для всех БД, вот здесь очень много нужно узнать. В основном это касается внутреннего устройства БД и производительности. Ещё непросто понять джойны, подзапросы, хотя бы в плане что они делают и какие бывают.
36 1818580
>>18579

>> Насколько долго и сложно учить конкретный вид


>Это никто не учит, просто идёшь в гугл,,.


Бля, а какой-нибудь кайфовый курс на степике про это дерьмо есть? А то хочу начать пытаться тыкаться на собесы, но там везде какой-нибудь вид эскуэля указан
37 1818581
>>18580
Думаешь на собесах будут доёбывать глубоким знанием конкретного диалекта?
38 1818582
>>18580
Дебила который сказал что этому никто не учит не слушай. Practical SQL читай.
39 1818588
>>18581
Ну в вакансиях везде указано, стремно говорить "да, знаю, умею" и быть вообще не в состоянии нихуя сделать
40 1818599
>>18588

> быть вообще не в состоянии нихуя сделать


Такое может быть только если ты совсем мало знаешь о базах данных. Подтягивай общую базу. Можешь тот же постгре задрочить. 90% знаний между реляционными базами пересекается.

Твой изначальный вопрос был о 10% различий. Так вот, повторюсь, там сами собеседующие скорее всего не сильно в курсе, и никто (вменяемый) у тебя про различия в диалектах sql спрашивать не будет.
41 1818619
>>18478
Бамп вопросу.
42 1818623
Пагни, есть ли такой сервис, которым можно верифицировать работу смс сервиса (обычный текст отправил-принял) без покупок сим карт всех провайдеров?
43 1818633
>>18262
Ап, какое тз может быть на парсинг сайта, приблизительно, хочу написать парсер для алика хотя бы. Дайте тз плис.
44 1818703
>>18478
А что там считать? Вот у тебя задача, что-то сделать с N элементами. Если ты по ним проходишь циклом ровно один раз, то это O(n), если у тебя даже цикла нет и операция не зависит от размерности N, то это O(1). Если два вложенных цикла O(n^2), если три O(n^3), итд. Если у тебя бинарный поиск, то O(log n). Большинство эффективных сортировок O(n log n).
45 1818705
>>18633
Посмотри заказы на апворке по тегу scraping. Сделай что-нибудь из этого.
46 1818706
>>18360
Странная логика) если я задаюсь вопросом, какой телефон лучше, значит мне телефон вообще не нужен?)
47 1818709
>>18478

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



Начни с

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

48 1818710
>>18706

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



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

Ну и да, линукс, любой, это как запорожец - больше чинить, нежели ездить. Если ты не готов первую неделю пердолить консольку вместо непосредственной работы, то он не для тебя.
49 1818715
>>18710

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


Зачем ему ставить пердольный дистр? Завел какую нибудь каляску типа убунты и все
50 1818718
Меня тут разморозили и я очень удивляюсь новым фичам языка, вроде тайп-хинтинга, нового оператора сравнения, тому что createvirtualenv был вытеснен poetry, а autopep8 black, что какой-то mypy проверяет корректность типов...
Можете ещё рассказать, что ещё нового в питоне в 2020?
51 1818720
>>18718

>нового оператора сравнения


Эт че?
52 1818721
>>18720

Тьфу, описался, присваивания
53 1818730
>>18332
другой анон, но полагаю тот анон имел ввиду дек, то есть двусвязная очередь. дальше гугли
54 1818760
>>18710
Что там пердолить? Я же не буду компилить ядро как в какой-нибудь генто. Понимаю, что плюс минус везде все одинаковое, спросил на всякий случай, мало ли
55 1818766
Блять, неделю уже читаю отзывы, смотрю видосы и не могу понять, какую IDE использовать. Кто говорит использовать обычный sublime, кто говорит использовать ванильный вим, кто jupiter, кто говорит что у 90% разрабов стоит pycharm.
IDE - действительно настолько субьективная хуйня или все такие есть объективные причины использовать ту или иную?
56 1818773
>>18766
Блокнот. А если серьёзно, напердолить до некоторого уровня комфорта можно во всех этих редакторах. Просто установи и попробуй каждую, вместо того чтобы читать холивары.
.jpg80 Кб, 960x708
57 1818856
Час ищу ответ и не могу понять:

>>> type(tag)


<class 'bs4.element.Tag'>

>>> if type(tag) == 'bs4.element.Tag':


print('Yes')
Тут ничего не происходит. Что я пишу не так? Как нужно правильно написать название класса?
58 1818858
>>18856
if type(tag):
bla bla
59 1818860
>>18856
if isinstance(tag, bs4.element.Tag):
60 1818861
У меня два вопроса по парсингу
Как быстро вкатиться в xpath и css локаторы, мб у кого есть шпаргалки.
И как быстро искать на стр код хтмл, показывают примеры, у них все развернуто. Начинаешь просматривать сайт, хуй пойи что где. Полюбому есть секерты как делать быстро и правильно. Про просмотр кода знаю.
61 1818863
>>18860
>>18858
Так проще.
62 1818865
>>18860

> 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

>>18858
Мне же нужно чтоб таг был из определённого класса.
63 1818867
>>18865
В tag у тебя элемент супа, того класса что ты вывел, все верно, если tag , элемент супа, то принт да.
64 1818872
>>18867
У меня таги двух типов - bs4.element.Tag и bs4.element.NavigableString.
Мне нужно получить только те что bs4.element.Tag.
Тут же >>18858 просто выдаёт ошибку так как type(tag) не выдаёт True/False для if, a class, или я настолько тупой что не вижу что-то очевидное?
65 1818943
>>18865
сделай импорт bs4
66 1818956
>>18943
Есть, благодарю.
До этого я только сам суп импортировал, потому и не шло.
67 1819086
Правильно ли я понимаю, что на Питоне пишется только backend, для frontend надо изучать JavaScript?
68 1819107
69 1819147
>>19086
Не совсем, я сейчас вместе с еще одной командой специалистов всемирного уровня разработки, создаем на протяжении полу года браузер который сможет поддерживать скрипты из других языков. Пока особо ничего сказать не могу дабы не нарушать нда, но через пару тройку лет в основном будут лидировать либо веб асембли либо наш продукт, но скорее всего нас просто купит какой нибудь гугл и встроит себе куда нибудь
70 1819184
До сих пор не въезжаю: хрен ли недоразрабы пистона не могут выкатить полноценные лямбды? Многострочную лямбду уже давно можно замутить через круглые скобки, так что дело не в этом, хер ли я не могу делать assignment внутри нее?
2ch s.png20 Кб, 480x480
71 1819185
Как подсчитать количество точек?
Возможно ли перенести в excel?
Подскажите чем пользоваться и что гуглить.
72 1819192
>>19184

>хер ли я не могу делать assignment внутри нее?


Можешь:
(lambda a, b: (c := 2, d := 3, a + b + c + d)[-1])
73 1819193
Чем можно заменить принт? Проблема: при фейле теста кидает в ошибку часть персональных данных. Логи будут лучше или тоже самое?
image.png622 Кб, 512x512
74 1819265
image.png127 Кб, 1212x486
75 1819292
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"] )

Есть такой мини код. И оба питона(Двойка и тройка) выдают одинаковую ошибку. Че он от меня хочет бля? Какой еще аргумент он хочет? Я заебался уже. На винде под кондой все охуенно работает. А на расбиане уебывается. Ну ебаный хуй.
76 1819294
>>19292

>Че он от меня хочет бля?


Сдается мне, ты хуячишь код из интернета, не умея вообще программировать. В стек трейсе все написано - и место с ошибкой, и что конкретно произошло. Тебе остается только подключить отладчик и посмотреть, почему у тебя None вместо числа, и откуда это пошло.
77 1819295
>>19292
И да, помогите пожалуйста. А то у меня скоро шизофрения начнется.
78 1819296
>>19294
Ну да, но на винде работает. Тут нечему не работать ибо все остальные трейсы это библиотеки\зависимости\meh которые заведомо правильные
Где место с ошибкой?
79 1819297
>>19296

>Тут нечему не работать


Я тебе еще раз говорю - запусти дебагер и посмотри, что именно не работает. Экстрасенсов тут нет, и никто тебе не найдет ошибку, не имея полного доступа к коду и окружению питона со всеми библиотеками. Ты сам сказал что на винде все работает, значит проблема скорее всего в несовместимости версий библиотек или их корявой имплементации на линуксе.
80 1819390
>>18703
Спасибо.
>>18709
Спасибо, я что-то подобное в ВУЗе проходил long-long ago.
81 1819488
>>19185

>Как подсчитать количество точек?


Че, прям с картинки?
82 1819627
83 1819632
>>19627
open-cv
84 1819691
>>19147
Обычно такие проекты покупают просто так, чтобы умертвить. А ещё чаще они просто закрываются, инвесторы кончаются.

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

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

Поэтому и остаётся только JS и стандартные API.
maxresdefault.jpg80 Кб, 1280x720
85 1819697
>>19147

>либо наш продукт

86 1819699
>>18353
Твоё решение работает некорректно как только два интервала появляется.
87 1819701
>>19697
Всегда нужны молодые программисты с горящими глазами, верящие в прорывную идею стартапа.
88 1819783
Привет, есть проект на фласке( флас миграции соответственно) есть модель алхмии в ней.
Пытаюсь добавить еще одн столбец. Миграция создается, а при апгрейде зависает навсегда.
Для другой модели вроде бы все норм работает.
В чем может быть проблемма? и есть ли идеи как фиксить?
image.png65 Кб, 655x451
89 1819788
>>19297
Я поклацал библиотеки и привел некоторые к одинаковым версиям виндовых.
Вроде запустилась. Но система киллует процесс. С чем это может быть связано. Жрет дохуя, и расбиан не хочет обслуживать ее?
90 1819790
>>19788
Да, верно я понял.
91 1819791
И как теперь? На Малине РАМ вряд ли можно расширить. Или можно?
92 1819809
Сап, недавно вкатился в этого вашего питона. Вроде теоретические знания какие-никакие есть, но на практике их проверить негде. Можете подкинуть пару сайтов с задачами или что-то типа того
93 1819831
пришла гениальная идея написать либу которая будет импортить всё что используется в проекте,но возможно ли это вообше?
94 1819837
>>19809
Сайты с задачами будут дрочить тебя алгоритмами и смекалочкой в основном, просто бложик попробуй сделать на каком нибудь фастапи для начала
95 1819839
>>19837
ну так мне и нужна такая дрочка
96 1819875
>>19839
https://open.kattis.com/problems
Вот олимпиадные задачи от уровня для "охранник первого дня обучения" до "победитель олимпиад по программированию".

Бесплатно, без СМС, но с регистрацией.
97 1819888
>>19831
Можешь например с помощью ast/grep пройти и собрать все импорты. Но это сломается например на safe импортах:

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

Точнее, оно корректно соберёт все три курвы, но тебе придётся перепроверить установлены ли такие пакеты.
98 1819898
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"] )

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

Хотя прогресс, да. Никто не занимался такой хуетой? Помогите пожалуйста.
99 1819907
>>19185
Пройдись по каждому пикселю и вычисли его цвет, если цвет больше чем цвет бекграунда то это точка, считаешь количество пикселей больше цвета бекграунда, потом всю эту сумму делишь на количество пикселей в 1 точке, получишь кол-во точек
image.png492 Кб, 684x600
100 1819989
Всем привет. Изучаю тут Джангу, мечтаю сделать свою админку для отеля. Типа пикрл. Как это отрисовать я ещё подумаю, сейчас я думаю, как следить за тем, занят номер или нет. Я так понимаю нужно создать таблицу в бд, где тупо будет написано для каждого номера на каждый день в году, занят он или нет? Ну или для каждой категории номера на каждый день, сколько свободных. Типа каждая строка - дата, каждый столбец категория. То есть энивей придется иметь таблицу размером количество категорий * количество дней на которые я разрешаю вперед бронировать. И нужно будет периодически заходить туда и добавлять квоты для будущих дат. Типа на год вперед итд. Или есть получше идея?
101 1819992
Всем ку, подскажите можно ли вообще объявить глобальной переменной список и словарь?
102 1819998
>>18007
докер
103 1820018
Анон, а есть годные фреймворки для написания апи? DRF кажется дрисней поверх Джанго и дока паршивая, фласк слишком микрофреймворк, насчёт фалкон хз, что годного есть?
104 1820031
>>19989
Используй констрейнты базы и тип-интервал.

https://www.postgresql.org/docs/10/sql-createtable.html#SQL-CREATETABLE-EXCLUDE
https://www.postgresql.org/docs/10/rangetypes.html

В джанге этой хуйни встроенной скорее всего не будет, придётся руками попердолить SQL.
105 1820051
Аноны, в какой момент QeuerySet выберет данные из базы при использовании его с стандартным Джанговским Пагинатором? В момент когда я примею пагинатор к objects.all() или в момент, кода я попробую выбрать данные уже из пагинатора?
106 1820052
>>20031
Спс, попробую понять.
107 1820138
>>19699
да. чувак разобрался и сделал как ему надо
108 1820229
Чем можно заменить print, чтобы при ошибке вызова Джейсон не выводила секретные данные из ошибки?
109 1820230
>>20018
Fastapi?
110 1820235
>>20031
Ну насколько я понял, это ты предложил способ как можно быстро заполнить таблицу кучей дат с квотами? Но сама суть правильная, да? Нужно иметь строку на каждый день в отдельной таблице.
Или мб можно просто по таблице броней проверять, не превышает ли количество бронирований на данную дату допустимого? Ну типа человек ввел там двухместный номер с 1 по 3 октября. Я просматирваю, сколько у меня уже забронировано на 1-е, на 2-е, на 3-е и если их не больше, чем номеров в отеле, то значит разрешаю забронировать. И типа и не нужна отдельная таблица?
111 1820257

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


Лучше просто таблицу со бронью, то есть ид_номера, дата_заселения, дата_выселения. И связать ее с таблицей номеров. Тогда ты сможешь делать выборки уровня "дай меня только двухместные номера, у которые нет записи о бронировании с такого по такое число".
112 1820258
113 1820282
>>17742 (OP)
Как на Линухе поставить крякнутый PyCharm Pro?..
114 1820287
>>17742 (OP)
Появилась идея проскрапить hh.ru чтобы найти данные по вакансиям: средняя зп, медианная зп и гистограмма общего распределения зарплат. Для начала только по Москве и Питеру, вне зависимости от сферы, чтобы посмотреть насколько правдивы кулстори про "среднюю зп в 90к"
Кто занимался скрапингом hh.ru? Какие подводные?
115 1820295
>>20257
Спасибо
116 1820365
>>20282
Найти пиратский лицензионный сервер или поставить его себе, еще можно сбрасывать триал каждый месяц
117 1820382
>>20287
У них же api есть.
118 1820392
>>20235
На самом деле нет, я тебе совсем другое предложил. Но так как ты предлагаешь, вероятно тоже сработает, главное проверяй что UPDATE обновил все строчки именно так как ты ожидал и будь готов словить дедлок.
119 1820428
>>20365
Как сбрасывать? Переустановить его? (я в ближайшие пару дней не у компа, проверить не могу)
120 1820439
Как найти текущий номер строчки в исполняемом питоновском файле? Хочу чтобы при логировании записывался номер строки, где этот лог произошел
121 1820452
122 1820499
Может кто-нибудь пояснить этот 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'
123 1820592
>>19898
>>19788
>>20499
Уже не надо. Я всё запустил. Осталось сериал порт настроить на ардуине и можно отдыхать.

Почему вы не помогали, баки?
124 1820629
>>19809
codeabbey
codewars
euler project
125 1820646
>>20592
Ух ты, а что ты там такое интересное делаешь, расскажи, пожалуйста?
126 1820655
>>17742 (OP)
Бля, вы уже давно утонули.

Дублирую для анона >>1820654 →
image.png8 Кб, 667x139
127 1820662
>>20439
Стектрейс тебе для чего? Он же белым по-черному пишет номер строки. Или что ты хочешь логировать в

>Хочу чтобы при логировании


?
128 1820667
>>19809
Советую edabit: он лаконичен и прост в сравнении с тем же громоздким codewars. Обязательно смотри топовые ответы после решения: там очень много синтаксического сахара, который может быть не очевиден, но его нужно знать и даже иногда использовать.
129 1820669
>>20662
Неплохо. А что если эксепшн не рейзится (что случается в 99% случаев)? У меня стоит обычный вызов:
logger.warning("Attention!")
logger это экземпляр logging.getLogger()
130 1820673
>>20229
Дело не в print, а в самой процедуре логирования.
Покури, как перехватывать ошибки с помощью кастомной функции и заменять ею встроенный в интерпретатор sys.excepthook. В нем ты будешь скрывать данные по регулярке или еще как вздумается.
131 1820676
Двач, начал изучать pandas для небольших операций с данными по работе и построения простейших графиков.
Прилетела задача построить несколько статистик на данных формата:
Колонка в датафрейме пандуса содержит данные формата:
[11, 23, 45, 33] от одного до множества элементов
Как обработать эту колонку и уметь вытягивать из нее количество элементов/отдельные элементы.
132 1820678
133 1820683
>>19292

>python2.7


Пчел, ты...
134 1820685
>>19184

>лямбды


Не нужны, кроме как в линковых запросах.
Но это не питонический путь. Это ебаная каша для ломания чужих глаз и мозга.
135 1820817
>>20685

>лямбды


>Не нужны


Ты просто неосилятор. Лямбды уменьшают замусоривание кода локальными переменными и делаю его короче, чище и понятнее.
136 1820851
>>20817

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


Да.

>делаю его короче


>чище


Да.

>понятнее


Нет.
137 1821028
Помогите написать код для проверки числа цукермана и цикл чтоб число увеличивалось на 11 с каждым ходом и закончился когда данное число будет делиться на 2020 без остатка
138 1821030
>>21028

> код для проверки числа цукермана


https://pastebin.com/K40sfmr8

> цикл чтоб число увеличивалось на 11 с каждым ходом и закончился когда данное число будет делиться на 2020 без остатка


нихуя не понял, чтобы какое число увеличивалось на 11?
139 1821033
Анонсы, помогите нормально разобраться с итераторами и генераторами. Где можно о них почитать, чтоб с примерами. А то в теории вроде понятно, че это, но на практике нихуя. Лутца по этой теме читал, но как то там мало именно практической части.
140 1821044
>>21033
Повсеместный 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))

Вот собственно всё что нужно знать.
140 1821044
>>21033
Повсеместный 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))

Вот собственно всё что нужно знать.
141 1821045
>>21030
Число 1
142 1821048
Посоветуйет как составлять css и xpath выражения. Начитался, сижу тыкаю, не получается самому. Ужи и плагины юзал, не помогает. Скрапи освоил, написал простенький парсер на ихнем варике сайта. Но там сайт какой-то до жути простой и код страницы - читаем. Открываю алик или вайлдберис - там пиздец. Не получается норм составить либо css либо xpath выражение. Гдя я что-то упустил?
143 1821062
>>21033
Что именно тебе непонятно?
Вот итератор https://ideone.com/FLdu57
Вот генератор https://ideone.com/5KkfRZ
Какая именно строка у тебя вызывает затруднение?
144 1821063
>>20452
Годнота
145 1821083
>>18760

>Что там пердолить?


Драйвера.

>>18715

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



Например, не заведется искаробки какой 4G модем и пизда, интернета нет, хай пердолься с гуглением в мобиле.
146 1821093
>>21083
Ставь убунту, для юзерского железа полностью настроена, никакой ебли, все из коробки
147 1821121
148 1821144
https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Гайд из FAQ 2012 года, он всё ещё актуален? Стоит по нему учить?
149 1821153
150 1821317
>>21153
Нет. Там какие-то пустые общие слова, а в тексте указаны ссылки, которые мертвы.

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

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

Нужно какое-то новое обзорное пособие. Может где-нибудь есть, а может и всем лень заниматься.
151 1821442
Решал тут задачу, где нужно найти 199999 простое число по порядку.
Вот текст задачи:
https://www.codeabbey.com/index/task_view/prime-numbers-generation--ru
Тащем-та накидал такой код: https://pastebin.com/kG6FGq8m

Работает примерно 100 секунд.
Можно ли как-то ускорить это?
152 1821468
>>21442
Словарь прикрути, чтобы не считать каждый раз.
153 1821473
>>21468
Ты хоть в код то смотрел?
Один раз считается
154 1821489
>>21473
Ну у тебя явно в range в is_prime какой-то ебаный брутфорс происходит. Там нужен словарь.
155 1821495
>>21489
Зачем там словарь? Это проверка числа на простоту
Для каждого нового числа всегда заново определяется является оно простым или нет
156 1821499
>>21495
Там идет постоянно цикл от 3 до хуй знает сколько, ещё и округленного. Умножь все итерации на каждый шаг генератора, вот и тормоза.
157 1821530
>>21499
Бля. Каждое число, которое отдает генератор нужно проверять на простоту.
Как ты по другому реализуешь проверку на простоту?
158 1821532
>>21499
Я просто не совсем понимаю видимо, что ты имеешь в виду.
Распиши подробнее, что ты хочешь в словаре хранить?
159 1821574
>>17742 (OP)
Я решил использовать pandas для обработки табличных данных, и у меня возник вопрос организационного характера, даже не касательно конкретно pandas, а вообще насчет места сторонних библиотек в своем проекте. Как принято у серьезных ребят обращаться со сторонними библиотеками:
1. Без задней мысли пихать везде классы и функции из сторонней библиотеки, писать свои функции, которые принимают и/или возвращают объекты из этой сторонней библиотеки, то есть делать так, чтобы код был гвоздями прибит к этой конкретной сторонней библиотеке.
2. Показывать всем, какой ты крутой архитектор и знаток паттеренов, например, написать класс-обертку, и везде в своем коде использовать эту обертку, чтобы при желании легко заменить эту стороннюю библиотеку на любую другую, достаточно написать обертку для этой другой библиотеки.

Пока мне кажется, что второй вариант если и используют в разработке на питоне, то только в каких-нибудь гигантских корпоративных системах, которые будут существовать десятки лет, где-нибудь в гуглах и фейсбуках, то есть в большинстве случаев целесообразней использовать первый вариант, потому что кода не так уж и много, а питон такой весь гибкий и динамичный, что если изменения будут действительно нужны, их будет несложно сделать. Как вообще в питоне с архитектурой и внедрением зависимостей?
160 1821598
>>21044
Спасибо, анон!
161 1821752
Всем привет.
Я чет туплю с созданием полей формы в джанго. В модели у меня есть таблица, к примеру "заказы", в которой содержится информация о заказе и информация о клиенте, который этот заказ сделал. Соответственно всю информацию о клиенте я вынес в отдельную таблицу "клиенты", а в "заказах" у меня внешний ключ с айди клиента.
Но вот поля для заполнения информации о клиенте и о заказе у меня должны быть на одной странице. Ну и собственно надо чтобы все это создало запись в "заказах". То есть человек заполняет ФИО, телефон, емейл итд, выбирает товар (и ещё пару других параметров) и нажимает кнопку отправить. Я нашел, что джанго сам сделает селект, если у меня есть, например, "категория товара" какая-нибудь в отдельной таблице, где есть только айди категории и список категорий. Но как сделать, чтобы он рендерил поля из связанной таблицы, когда их там несколько и это не селекты? Мне нужно создавать две формы, для информации о клиенте и для информации о заказе и просто рядом их рендерить, как я понимаю. Но как я тогда сделаю, чтобы в бд в таблицу заказов попал соответствующий айди клиента? Ну типа у меня просто заполнится строка в таблице "клиенты" из полей с данными о клиенте и поля с информацией о заказе в "заказах", но как айди клиента попадет в строку с информацией о заказе?
162 1821835
>>21574
А никто не знает!
нужно чтобы прошел десяток лет чтобы они выросли и стали элементом массовой культуры.
163 1821858
>>21574
Учи что такое SOLID. Работа с зависимостями это D - Dependency inversion. Это правило говорит что твой код должен полагаться на интерфейсы, а не конкретные реализации.

Про архитектуру читай книги cosmic python и clean architecture. Там же найдешь ссылки на распространенные практики, такие как TDD, BDD, DDD
https://github.com/cosmicpython/book
164 1821860
>>18314

Почитай про конечные автоматы.
165 1821874
>>21574
смотри сам. если это какой-нибудь прикладной скрипт, который ты побыстрому слепил, чтобы решить какую-то прикладную хуйню, то можешь хуевертить что пожелаешь. упарываться по паттернам в этом случае стоит только в образовательных целях.
166 1821917
>>21874
>>21835
Ну, в общем, все так, как я и думал. Маленькие программы приемлемо писать как бог на душу положит, а каноничные архитектуры больших еще только формируются.
>>21858
Я представляю, что такое DI, просто, думаю, техники, например, из джавы, будут в питоне смотртся не очень, хочется знасть про DI именно в контексте питона и его специфики. Вот за конкретную литературу спасибо.
167 1821973
>>20282
А в чём профит профессиональной версии по сравнению с общественной?
168 1821992
>>21858
сейчас бы читать высер погромистов из магазина фурнитуры. охуеть прикол конеш
169 1822014
>>21317

>Может где-нибудь есть


не подскажешь, как его можно найти? Так и гуглить, "гайд для обучения питону"?
170 1822074
>>21973
Во всем
Начиная хотя бы с того что там поддержка js и ts
171 1822080
>>21317

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


Гайд вполне актуален.

> Сам питон поменялся, всякие там asyncio, format-fstring


Для этого стоит глянуть changelog новых версий питона. Или ты предлагаешь каждые пол года переписывать/дописывать гайд?

> другие фреймворки и веб-разработка


Например какие? Для твоих пет проектов подойдут старые добрые. В питоне не так уж и много живых и активно юзающихся фреймворков.

> django в чистом виде меньше актуален


Что имеешь ввиду под чистым видом? Без доп. плагинов? Так без них ни один фреймворк не подходит полноценно для реальной работы.

> flask вообще ВСЁ


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

> появились новые важные фреймворки


Перечисли пжлст, только без asyncio, ибо он вполне давно уже существует.

> Окружение сменилось.


Вот по этой теме гайд бы обновить, да.

> Всякие open-cv, расцвели и т.п.


Расцвели они давно, то что ты их сейчас заметил - другое дело.

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


Лично я узнаю про всякие плюшки из статей, а гайд, должен ввести человека в мир питона просто и легко, дать базовые знания, дальше уже можно улучшаться и развиваться, узнавая что-то новое. + Есть охуенный и актуальный, вполне, укус питона.
172 1822319
Здравствуйте, помогите ньюфану, пишу программу-игру типо блек-джека, получаю рандомно числа и записываю их в массив.Скрипт зацикливаю.Вопрос, как при зацикливании скрипта сделать так, что бы при окончании скрипта инфа из массива не удалялась? На пыхе бы скажем записал бы в сессию или в куку, но тут интерпритатор без сервера,поэтому интересно как на питоне решаются такие проблемы
173 1822346
>>22080

>Перечисли пжлст, только без asyncio, ибо он вполне давно уже существует.


Так же модели представления данных сильно прогрессируют, тот же pydantic чего стоит
fastapi, aiohttp, starlette, vibora
мимо
16017569080370.jpg210 Кб, 1080x746
174 1822510
возможно ли вкатиться в бэк с django без опыта?
18 лвл, время и желание есть, но терзают сомнения, потому что часто читал, что без опыта сразу в бэк мега сложно вкатиться, но фронт учить желания вообще нет, знаю основы html, css и чутка js, больше не хочется туда лезть. изучаю python, django, sql. пока все нравится.
175 1822558
>>22319
Что ты под скриптом подразумеваешь?

Если py-файл, то дампай состяоние в json
176 1822569
>>22510
А как тогда ждунами-бэкэндерами становятся? Все это пиздеж и хуйня, учи и всё будет збс. Но кроме Джанни ещё глянь асинхронные фреймворки, типа aiohttp и fastapi.
Codeo3fICR4OGJ.jpg259 Кб, 1135x1606
177 1822587
Кто-нибудь может подсказать почему когда нажиаешь кнопку "два", то лямбда вызывает метод anyButton с аргументов "два", а когда первую, то передает boolean False
image.png40 Кб, 983x453
178 1822597
179 1822669
Аноны, а аннотации в коммерческом программировании часто применяются на сегодняшний день?
180 1822688
>>22669
Да, у нас это крайне желательным сделали на работе
181 1822706
>>22558
Два чая тебе, про джейсон и не подумал, как работать с ним в питоне уже нагуглю.
182 1822735
>>21917
Ты можешь использовать практики джавы в питоне, если они физически применимы. "Смотрятся не очень" не звучит как нормальное обоснование. Думаю эффектиней будет разбирать конкретные сомнения на примерах.
183 1822740
>>21992
Толсто. И что же читают такие сливки общества как ты?
184 1822826
>>21858

>Dependency inversion


Тред расширяльщиков ануса двумя этажами ниже
185 1822852
>>22669
Прямых требований нет, но я юзаю и на код ревью это помечаю, если нет(правда как "not important")
186 1822871
Анонсы, нужен ли ООП?, чет на всех видосах его юзают полтора красноглазика, все в основном просто через скрипты работают
включая всякие ролики от googl'а и прочеого фейсбука
мимо гуманитарий вкатывальщик
187 1822897
>>22669
У нас стоит mypy в режиме strict и все кто не юзают идут нахуй.
188 1822970
>>22871
Понимать базу ООП нужно. На самом деле ООП очень активно используется, в куче библиотек и фреймворков тебе нужно свои объекты наследовать от библиотечных, либо ты просто пользуешься чужими классами-объектами.

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

Впрочем всё зависит от твоих задач. Если надо лабу сдать или для себя примитивный скрипт написать, то может и не нужно.
189 1823143
>>22970

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


Все инструменты для написания ООП кода в питоне имеются.
190 1823144
>>23143
Никогда не понимал таких заявлений, типо у вас ООП не ООП.
191 1823146
>>22669
Прикрутил на все проекты, нехуй писать без типов.
192 1823336
Сап, запрашиваю помощь.

Необходимо написать функцию, даны первый (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)

Как можно это реализовать?
193 1823339
>>23336
Пять раз перечитал, и все равно не понял суть задачи.
38161E56-CA04-4603-8BCF-1877AFD8344D.jpeg601 Кб, 3024x660
194 1823344
>>23339

сорян, может быть с + не очень верно передается суть. Вот в таком представлении понятнее?
image.png30 Кб, 633x362
195 1823356
>>23344
Вроде бы понял. Вопрос один: гарантированно ли, что из данных пар можно подобным образом составить слово? Если да, то решается она довольно просто - пикрил.
1339237741373s.jpg8 Кб, 200x200
196 1823360
>>23143

>Все инструменты для написания ООП кода в питоне имеются


Кроме перегрузок методов.
197 1823363
>>23356

да, гарантированно. Спасибо!
198 1823365
>>23360

>перегрузок методов.


Только причем тут ООП.
199 1823367
>>23365
Притом, что это один из способов реализации полиморфизма?
200 1823397
>>21093

>Ставь убунту, для юзерского железа полностью настроена, никакой ебли, все из коробки



Угу, если повезет с железом. Если не повезет то велкам ту пердоль.
image.png7 Кб, 309x199
201 1823398
202 1823402
>>23367

>Притом, что это один из способов реализации полиморфизма?


Перегрузка при которой меняются только типы данных в питоне попросту не нужна - достаточно одного метода. Ну а если меняется и количество параметров, то это уже не полиморфизм.
203 1823406
>>23398

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

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

Не из “banabanar” должны получиться pairs, а из pairs должны получиться “banabanar”, “bananabar”, “babananar”
204 1823408
>>23406
В itertools есть всякие combination и permutation, если по условию их можно использовать.
205 1823412
>>23360
Там же они есть
206 1823414
>>23397
Что у него за специфическое железо такое, что бубунта не встанет
207 1823421
>>17742 (OP)
Почему нельзя замутить питоновский код, который компилится в С/С++? Вот нахуярил ты питоновского кода (по особым конвенциям канешн, с принудительным тайпингом например), запустил внешний компилятор и имеешь на выходе С++ файлы? Тайпскрипт же могет (ну он в жс-ваниллу компилит, но тем не менее)
htmlreport1.png20 Кб, 511x610
208 1823424
>>23421
Чел...
209 1823426
>>23421
там то компилится в текст,
а ты из интерпритируемого в готовые файлы хочешь?
тут скорее нужен другой язык с синтаксисом как у питона, и чтоб на выходе выдавал цпп текст и его уже потом компилить
210 1823433
>>23402

>Перегрузка методов относится к одному из способов реализации полиморфизма


>а если меняется и количество параметров, то это уже не полиморфизм


Правда-правда?
>>23412
Нет.
211 1823583
>>23144

>Никогда не понимал таких заявлений, типо у вас ООП не ООП.


Тупо нет такого понятия, как интерфейс. В том виде, в каком он есть в C++/Java.

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

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

Хотя на самом деле чистое ООП питону не очень нужно.
212 1823686
>>23583
Но ведь в С++ нет интерфейсов...
213 1823687
>>23686
- В плюсах интерфейсов в строгом понимании нет
- АРЯЯ ПУК-СРЕНЬК ВРЕТИ
- Чекай что сам же Страуструп на этот счет говорит
- ДА КОМУ ОН НУЖОН! ПИДОР СТАРЫЙ! НЕТ ИНТЕРФЕЙСОВ ЗНАЧИТ НЕ ООП! ЯСКОЗАЛ!
214 1823712
>>23583
В питоне есть абстрактные классы что альтернатива интерфейсам и множественное наследование

Так что заделарировать можно
215 1823738
>>23712
Ну полностью абстрактные классы конечно плюс минус замена интерфейсам, но мозги в жаваооп думают про интерфейсы, а у питонооп получается все равно от реализации, потому что полностью абстрактные классы небось мало кто будет городить везде где в жаве или пхп интерфейс
216 1823791
Привет всем.
Если я хочу в Джанге реализовать регистрацию с помощью email с заделом на то, что у юзера будет возможность восстанавливать с его помощью пароль и так далее (и затем по почте логиниться), то мне, получается, всё равно придётся лезть в батарейки типа django-allauth, или всё более-менее реализовывается стандартными Джанговыми средствами?
217 1823837
Ребята, может поможете советом
Вот думал я вкатываться, после айосов всяких пару лет назад(подучился, но работу не нашел) вот недавно начал пробовать джаву
Пробовал, пробовал, дальше кора не пошёл, думаю пробовать питон
В отличие от джавы дополнительно привлекает возможность фрилансить как никак (скорее всего хуй отсосу с таким рынком нынче, но мало ли)
Сейчас трогаю основы, так вот
Каким путём двигаться, чтобы выйти на фриланс/джун уровень, чтобы уже можно было полностью профессию поменять (эникей-полусисадмин сейчас)
Заранее спасибо
218 1823864
Всем привет, есть, как мне кажется, гениальная, но в то же время звиздецки муторная идея. Как-то раз будучи на очередной встрече друзей и друзей друзей, в голове промелькнула мысль не искать тяночку и не ждать её, а сделать самому, но только в виде ассистента-нейросети типо джарвиса. Проштудировав не одну книжку и статью встала проблема, нужна огромная выборка из диалогов разных тян, при чём ОГРОМНОГО количества тян, иначе это будет похоже на франкенштейна. Поэтому ищу помощи и советов, как это лучше сделать, может кто-то же этим занимался, либо знает в какой книжке хотя бы примерно описано как сделать, чтобы нейросетка помнила каждое написанное юзером сообщение, реагировала на него и запоминала свою же реакцию, хотя бы какое-то подобие разума. Если это нереализуемо в наше время, то можете послать искать работу...
219 1823870
>>23864
Если для себя, то ты даун
Потому что эта нейросеть это Альберт Эйнштейнты, доунич
Во-вторых нахуя тебе тяночка, от них один головняк
А ещё лучше не так делать
Нейросеть тебе позволит только узко атаковать пиздячий фронт, тогда как тупой лайкобот тендера и надпись привет в матчи дадут больше
Сиди дрочи, питон учи
220 1823875
>>23870
Спасибо за инфу, ни слова не понял правда, но ладно
221 1823880
>>22319
Вроде не так давно СОТА в чатботах была Meena.
https://habr.com/ru/news/t/486102/

Но, запоминать она будет только на неокторый контекст назад, вроде 5-6 сообщений. Запониманать навсегда - это уже нереализуемая хуйня, хотя можно попробовать что-то вроде MemoryNetworks использовать, но это прям спекуляция и не заработает.
222 1823882
>>23738
Фактической разницы в результате нет
Абстрактный класс тот же контракт, а множественное наследование позволяет делать то для чего в других языках нужны интерфейсы
К тому же есть протоколы.
223 1823885
>>23880
Необязательно навсегда, человек же не может запомнить что говорил его отец/мать 5 дней назад в определённое время, какие-то важные вещи надолго, а простой разговор ну на пару дней максимум, но спасибо за инфу про Мину
224 1823900
>>23414
c последними рузенами проблемы, есть инфа что и с некоторыми интолами ноутбучными
225 1823902
Подскажите, кто шарит.
Почему PyCharm мне подсвечивает переменную result

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

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

Можно забить или как то с этим можно бороться?
Привел простой пример,а так такую конфигурацию использовал в декораторе.
226 1823905
>>23902
result в цикле, если бы на месте range оказался пустой массив, то код бы свалился, оно поэтому тригерится
227 1823906
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.

Плак-плак.
228 1823914
>>23900
Реальная проблема может быть с переферийным железом, с сетевыми картами, звуковыми картами, экраном в ноутах и т.п.

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

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

В общем гарантии, что заработает, как надо, нет.
229 1823920
>>23906

>питон


>на шинде

230 1823925
>>17742 (OP)
сап харкач, в вузике учил асемблер и си, решил поучить питона и не понял как дебагать, нарыл инфу что делается через функцию breakpoint(), но это пиздец как не удобно, есть ли простой способ чтоб как в вижуале строчку за строчкой смотреть?
231 1823926
>>23920

>питон


>на шинде


Не на пердоликсе же программировать.
232 1823927
>>23925
Установить ide типа пайчарма и наслаждаться
233 1823928
>>23926

>захотел оттестировать либу с uvloop


>пуксреньк

234 1823932
>>23928

>захотел оттестировать либу с pywin32


Сама Микрософт для разработчиков некоторых игр делает инструкцию, как впердолить DX12 в игру, чтобы работало на W7, а тут такой удар он опеншорша...
235 1823934
>>23928

>либу с uvloop


>uvloop is a fast, drop-in replacement of the built-in asyncio event loop


То есть заменить назад на asyncio - дело пяти минут.
236 1823936
>>23928
Cygwin))))
download.png688 Кб, 800x600
237 1823937
>>23936

>Тянуть линух в шинду, что бы протестировать код, который на ней не работает

238 1823940
>>23934
Помню на прошлом проекте sanic юзался, у которого нельзя выпилить uvloop
239 1823944
>>23927
спс, не понятно кто вообще делает все эти ide без возможности дебагинга
240 1823964
>>23914
Сам сталкивался с проблемами сетевой карты, совместимости автозагрузок ебунты и шиндоус на одном жд, артефакты видеокарты интегральной ноутбучной ншидиа, у знакомого убунта не стала на новом ноутбуке за 1к$.

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

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

И даже с всяким сексом линух все равно лучше и стабильнее чем шиндовс, плюс очень удобный терминал
241 1823968
Кто-нибудь пробовал собирать апк для андроида? Что юзали, бульдозер? Если да, то юзали из под виртуалки иди докера, как полет вообще, есть гайды по этому поводу. Или никто не пилит прилки для андроида на питоне?
242 1823977
>>23968
просто бери и делай.
Работобыдло считает зашкваром изучать невостребованные на галерах технологии.

Билдозер работает нормально в виртуалке. Много ебатни с собственно мобильной разработкой как таковой.
16014580140990.png308 Кб, 736x736
243 1823978
>>23944
Если б ты знал, как меня однажды заставили делать лабы turbo pascal на vax vms .
Но ничего. Справился.
244 1823981
Коданы, дана матрица пикселей RGB (трехмерный массив, кароч, где пиксель - трехэлементный массив)
Как в питоне можно ЭЛЕГАНТНО (кроме как вложенными for-ами) найти координаты тех пикселей, где сумма значений для RGB минимальна и максимальна
всю жизнь писал на похапе и js
245 1823984
>>23981
элегантно - это numpy и opencv
246 1823986
>>23981
Этот >>23984 прав. Конкретно:

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())
247 1823988
>>23968
Юзал бульдозер, виртуалку, все норм. Немного ебли с конфигурацией было.
248 1823992
>>23984
>>23986
Спасяб, котаны!
249 1824010
Чет ничего полезного в питоне 3.9
250 1824012
>>23977
>>23988
Ну ок, я не нашел на оф сайте киви ссыль на скачивание бульдозера для виртуал бокс. Они потерли образ, или нет, или перенесли разработку в докер?
251 1824030
>>24012
нахуй тебе этот образ для безруких? не можешь с нуля убунту соответствующей версии накатить?
252 1824101
Пацаны, однажды изучал пистон, но уже еихуя не помню. Хочу научиться скраперы делать, есть гайд подробный для долбоебов? А то в гугле чет ёбань одну нахожу
253 1824118
>>23905
А как с таким бороться? Выше result = 0 объявлять или как-то через try/catch можно тут?
другой-анон
254 1824122
Есть, кто использовал связочку fastapi + tortoise orm? Столкнулся с непонятной хуйней, памахите
255 1824246
>>24030
Да я и так юзаю линух, там просто хуева туча зависимостей для бульдозера. Но юзаю я ни убунту. Вопрос то простой. Как лучше заюзать бульдозер, на виртуалке или в докере? Или вообще емго можно как-то накатить в моем дистре.
256 1824262
>>24118
Лучше всего делать дефолтное значение
257 1824264
>>24122
Ну ты вбрось код и трейсбек
258 1824297
Есть, кстати кто на фрилансе питонит?
Шо почем по времени деньгам у кого?
Скрапперы/веб/етс?
yes.png243 Кб, 680x709
259 1824309
>>24246

>там просто хуева туча зависимостей для бульдозера


Да.

И ? у тебя маленький диск?
260 1824389
Скипнул у Лутца главу про pydoc. Какие подводные?
261 1824418
>>24389
"Скипнул у Лутца главу про pydoc"
Плюсы
- в голове пусто
Минусы
- а голове пусто
262 1824423
>>24264
Тогда оно станет понятной хуйней
А он столкнулся с непонятной

Так что не вариант
263 1824442
>>24246
Я buildozer поставил прямо в дистр (mint). Apk'шки компилятся на ура, чего и вам желаю.
264 1824473
>>24442
Ну ок, у меня тоже линух. Если я поставлю бульдозер pipом в виртенв, работать будет? Там же все зависимости подтянутся так? Я читал на хабре что долго компилится апк очень.
265 1824492
>>24473
Не думаю, что такой подход сработает. Лучше установить билдозеровские зависимости самостоятельно, актуальный список сейчас не найду, у меня был примерно такой https://dumpz.org/cdb6b7rFXzsF
Ну а после установить сам buildozer с помошью setup.py (см. ссыль выше).

Компиляция вообще не быстрый процесс, а ещё и требовательный к объёму дискового пространства.
266 1824528
Призываю спецов декораторов с параметрами.

https://pastebin.com/5niAsCqC

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

И если нельзя, то как лучше его менять? есть у кого в загашнике статейка либо кто помнит, книжку, где современная практика этого описывается.
НУ или личный боевой опыт в коммерческой разработке.
photo2019-10-3100-49-26.jpg188 Кб, 1200x1200
267 1824609
Вот смотрите, у пистона под капотом сишные и крестовые библиотеки.

Вопрос - возможно ли скомпилировать питон код в исполняемый бинарник? Желательно оптимизированный, без вороха лишних зависимостей.
268 1824610
>>24609
Можно, см. Cython.
269 1824736
>>24609
Это опять ты? >>23421
270 1824826
>>24736
Нет я не он, я хочу ширусы на Питоне писать.

>>24610
Спасибо.
102123120.jpg401 Кб, 1538x2613
271 1824847
Какие книги по программированию на Python для полного чайника вы посоветуете?
273 1824852
>>24848
Хорошо, а какую книгу порекомендуешь если я вообще не знаю как программировать?
274 1824854
>>24852
хауди хо пайтон за час
275 1824855
>>24854
толсто
276 1824870
>>24855
Все что тебе нужно знать.
Есть переменные. И есть структруы данных, массивы там всякие и прочая ебулда.
И есть флоу, то есть логика. Всякие ифы, вайлы, и тд. Почитай.
Далее, все это собирается в блоки, те в функции, чтобы не писать одно и тоже по сто раз.
Все. Можно расходиться.
Ах да, есть еще и ооп, всякие классы. Это чтобы еще меньше писать кода и чтобы было еще быстрее.
Ах, да, и чтобы совсем было просто - фреймворки, чтобы не только просто, но и быстро.
Читай укус питона. Думаю этого хватит. У меня трудности были только с ооп. С декораторами. И недавно допонял про генераторы.
Ну и да, оф сайт и оф доки. Могу еще посоветовать эту няшу https://www.fullstackpython.com/
там про бек про фронт про деплой и про девоп.
277 1824872
>>24609
Дело не в библиотеках, а в машине интерпретатора. На самом деле так просто транслировать скриптовый язык в бинарный код нельзя, много ограничений и подводных камней.

Вместо Cython лучше посмотри на Nuitka. Хотя я сам на практике его пока не использовал.
278 1824906
>>24609
Между твоими утверждениями нет никакой связи. Ну и что что там сишный код под капотом? Тебе же всё равно придётся реализовать PyObject и перекладывать их туда-сюда. И так как PyObject непрозрачен, так как сам язык тебе не гарантирует ничего о его содержании и какие можно ограничения наложить читай оптимизировать под железо, ты придёшь всё равно к тому что есть стандартные питонячий байткод и виртуалочка. То есть, лучшее что ты можешь сделать это зашить в исполняемый бинарь и интерпретатор, и байткод приложения.

> Желательно оптимизированный, без вороха лишних зависимостей.


Где связь между оптимизацией и зависимостями? Тебе надо быстро чтоб работало или минимальный размер бинарника? Так вот, эти вещи обычно никак между собой не связаны.
279 1824909
>>23421
Теоретически можно. Но объектная модель питона кардинально отличается от объектной модели C/C++. Внутри всё равно придётся создавать dict для полей, слоты и прочее питонячее, чтобы оно работало. Выигрыш в скорости совсем не оправдает затрат. Скорее всего, придётся изобрести отдельный язык, но это уже за тебя сделали, называется cython.
280 1824911
>>24528
В общем случае, единственный вариант это применить декоратор заново, на исходную функцию. Если же там применение через собачку, то всё, отковырять исходную функцию нельзя.
281 1824913
>>24297
У меня плохой опыт со скрапперами. Их хотят чуть ли не за бесплатно. При том что часто всё закрыто капчами и требует пул проксей. Ещё часто приходят поехавшие, которые хотят чтобы ты отскраппил мобильное приложение. Не то чтобы это было совсем невозможно, но перехват и реверс протокола приложения, это удовольствие не из дешёвых. Не говоря уже о том, что с твоего базового аккаунта большая часть информации будет недоступна. Ещё часто хотят не просто результат скраппинга, а программу в виде exe под винду блядь, чтобы заказчик мог сам запускать скраппинг когда ему нравится.
282 1824915
>>24101
Scrapy бери. Он вроде бы дефакто стандарт. Но вообще это всё на коленке можно наколхозить за пару дней. import requests, import bs4 и запиздил писать чо куда тебе сложить. Читай что такое xpath, css селекторы, да в целом вебстандарты нужно хорошо знать. Уровень 2 это освоить селениум.
283 1824916
>>24010
union operators added to dict
string methods to remove prefixes and suffixes
можно теперь не импортировать typing на каждый чих

Что тебе тут не полезно?
284 1824919
>>23864
У тебя постановка задачи хуёвая. Что твой ассистент должен делать? Какие требования? Как ты будешь измерять насколько ты достиг цели?

Зачем тебе диалоги тянок? Хотя безусловно, если поизучать бигдату из диалогов тян, то можно найти интересные закономерности. Но от такого изучения до полноценного ИИ как до луны раком.
285 1824920
>>23837
Фриланс это не просто знание языка, это даже не просто программирование, это даже не постановка задач, архитектурка и ведение проектов, это даже не просто железная самодисциплина, это ты ещё сам себе гендиректор, продажник, маркетолог, переговорщик с клиентами, по совместительству человек-пароход и оркестр в одном лице. Мой тебе совет, начни с работы на дядю, но на релевантном месте. Питонист так питонист, а не чистильщик сортиров в конторе где есть питонисты.
286 1824921
>>23791
Стандартных средств хватит с головой. От джанги у тебя только формочки и модельки потребуются.
287 1824923
>>24915
Я нашел скрэпи этот вчера. Сказано он проще чем суп. Попробую разобраться. Там вроде мини-гайд такой, если норм, то потом ссылку кину
288 1824945
>>24609
nuitka?
289 1824956
>>24923
У него там внутри суп или аналог. Скрэпи это скорее фреймворк, где конвейер уже поставили за тебя, добавили асинхронность и возможность установить готовые части этого конвейера.
290 1824957
>>24945
Нинужнитка. Хоспаде, сколько нейронов ньюфажики тратят на покраску сарая для велосипеда. Нет бы программы писать, нет, хочу пердолиться и запаковать всё в один exe с красивой иконочкой.
291 1824961
>>24956
Да не спойлери, а то мне не интересно будет читать
1509094529.jpg74 Кб, 743x720
292 1824963
Посоны, насколько сложно вкатиться в питон на уровень, достаточный для написания бота для телеграм?
293 1824973
>>24963
Если нет опыта в программировании или близких вещах, то сложно. Ребёнка зачать и родить быстрее.
294 1824975
>>24973
кстати да, и за это 400к дадут
сколько ты эти деньги будешь на питоне зарабатывать еще хуй знает
295 1824978
>>24913

>Их хотят чуть ли не за бесплатно.


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

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

В итоге у одних возникает моральный настрой на копеечность и отношение к исполнителю как ко дну, они не готовы платить даже за сложные вещи, которые за копейки не сделают (но могут пускать пыль в глаза, что сделают), а другие быстро бросают занятие за бесперспективностью, уступают место другим.
296 1825000
>>24973
Сайты верстать могу, вот и весь опыт.
297 1825023
Пацаны, не бейте, лучше обоссыте. Как записать
if a <= 10 and b <= 10 and c <= 10 and d <= 10: в более удобоваримом виде.
298 1825025
>>25000
динамические?)
299 1825032
>>25023
if (all([True if ch > 10 else False for ch in [a,b,c,d]]))

если так больше нравиться то пжлста
300 1825037
>>25023
if max(a, b, c, d) <= 10
301 1825041
>>25037
О, вот так заебэга, спасибо.
15530052257220.png19 Кб, 123x128
302 1825042
>>24872

>Вместо Cython лучше посмотри на Nuitka.


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

303 1825050
>>24956
Бдять, чет через пип ставить начал, под конец высралось все красным и там одни ошибки. Почитал, пишут мол надо накатывать на 2.7, с остальными тип ебано, а я 3.9 скачал вот только и 3.8 стоит старая. Ну и бля в другом месте вообще пишут мол надо в виртуальном окружении это делать. Попробовал virtualenv поставить, потом хуй знает че делать. Нихуя не могу разобраться чет, скачал книгу про скрапинг, но она 16 года. Полистаю бдядь
304 1825054
>>23864
с выборкой проблем нет.

https://www.kaggle.com/onidzelskyi/chat-messages
305 1825059
>>24847
Я прочитал укус питона и нихуя не понял. Теперь читаю Лутца и благодаря первой книге во всё врубаюсь. Но там 1600 страниц.
306 1825063
>>24528
Ты хочешь изменить после применения декоратора? Тогда, наверное, только если вот так https://ideone.com/f7xgzl но это наркомания какая-то.
А если просто добавить дополнительный параметр к декорируемой функции, то, наверное, вот так: https://ideone.com/H4Qsiv
307 1825066
>>25059
Я наоборот по укусу заебись пробежался, а с лутца обзмеился и засыпал блять пока читал
308 1825069
>>25066
Пробежался то я пробежался. Я книжку понял. Я не понял питон.

Скучно читается только вводная часть, а потом уже идёт конкретика. Очень подробная и дельная. Я из тех людей, кого больше обламывает чувство неопределённости, а не объём информации. Лутц не оставляет вопросов, которые не знаешь как задать. Если чего-то не понял, то знаешь что не понял и куда гуглить. Но он конечно заебал объяснять что 2+2=4 и повторять это 3 раза чтоб я не забыл. На третий раз уже сомневаешься что понял. Ведь такую простую вещь три раза повторять не будут? Будут. Ещё четвёртый раз объяснит падла такая. Ещё про питон 2.хуйморжа расскажет, как они в 40е годы писали это не так как сейчас. Но мне по кайфу.
309 1825079
>>25063
спасибо. очень помогло.
310 1825081
>>25069
вот то что он везде пистон 2 вставляет, ет да бесит в книге. А так то что нужно для понимания всего базиса. Дальше уже К вершинам мастерства читать и Книгу рецептов питона.
А потом все это смазать алгоритмами Кормена.
Дальше уже в специализацию можно уходить.
311 1825113
>>25025
Электрические.))))))))))
312 1825209
А где вообще можно обсудить телеграм ботов: годнота и прочее? Не нашёл такого треда.
313 1825221
>>25209
А что ты хочешь обсудить? Одно дело если ты хочешь вкатиться в ботописатели, другое если тебе надо по-быстрому бота написать, чтобы одноклассников удивить. Опиши задачу, чтобы знать куда тебя посылать.
314 1825229
>>25221
Я хочу, чтобы бот подписался на каналы на Ютуб и присылал мне не видео, а аудио с них, например.
Ещё хочу ленту из нескольких рсс источников с instant view.
315 1825231
>>25229
О, мне тоже интересно. Напиши сюда если найдешь интересные источники.
316 1825232
>>25231
Я сунул в свою группу бота, который присылает видео из каналов на Ютуб, и бота, который по ссылке на видео присылает аудио, но второй бот не реагирует на сообщения первого и мире нужно переслать сообщение первого в ту же группу, тогда второй пришлёт аудио. Ну хоть так, хотя хотелось бы лучше.
317 1825250
>>25229
Тебе нужно будет примерно следующее:
- Любая библиотека для написания бота

>чтобы бот подписался на каналы на Ютуб


- Любая библиотека для общения с youtube api

>присылал мне не видео, а аудио с них


youtube-dl такое умеет, например.
Если раньше не программировал, то будет сложно, да и не стоит оно того, ради одного бота страдать. Проще найти готового.
>>25232
Они и не должен реагировать https://tlgrm.ru/docs/bots/faq#pocemu-moj-bot-ne-vidit-soobsenij-ot-drugih-boto
Если эти боты на гитхабе валяются, то можно попробовать их объединить.
318 1825271
Может кто-нибудь обьяснить мемес?
Если написать "python iebalmamash.py", то все библиотеки запустятся, но судошные права программа не не получит.
А если написать "sudo python iebalmamash.py", то питон не найдет библиотеки. Почему? Как дать судошные права проге?

(В общем то м.б. это XY проблема. У меня ардуина с большой вероятностью шлет нахуй при попытке подключиться к ней. Малина говорит что порт занят.)
319 1825275
>>25271
Попробуй выполнить 2 команды:
which python
sudo which python
Если пути разные, то яснопонятно.
image.png15 Кб, 423x93
320 1825280
>>25275
Одинаковые.
Удивительная херня.
321 1825297
Добрый вечер подскажите Noob как сделать так, чтобы питон считал количество пиксилей на экране от определнной точки до определенной точки?
image.png2 Кб, 410x43
322 1825312
Умоляю, помогите.
Нужно создать .exe из кода. Делал по инструкции через pyinstaller --onefile main.py
А по итогу такая залупа. Как сделать .exe из .py?
Пользуюсь Anaconda. Pyinstaller до последней версии обновил
323 1825318
>>25280
Тогда непонятно. Видимо питончик устанавливает библиотеки куда-то в домашнюю директорию пользователя. Гугл говорит, что надо sudo с ключом -E запускать.
324 1825327
Посоны, а знает кто-то таких ботов?
- репост из тг-канала в мой канал с вайтлистом либо блеклистом содержимого
- подписка на ветку форума 4пда с вайтлистом парсинг
325 1825333
>>25280
Посмотри что внутри этого /usr/bin/python
Уверен там йобаскрипт, который выбирает нужный питон через такую-то матерь.
И ещё, запусти каждый из питонов и напечатай sys.path
326 1825335
>>25312
А ты без пайинсталлера запускал? Там абсолютно обычная ошибка.
327 1825337
>>25229
Казалось бы, причём тут телеграм..
328 1825341
>>25297
abs((x2 - x1) ✱ (y2 - y1))
329 1825343
>>25050
Ты лучше ошибочки почитай и погугли. Тебе скорее всего компилятор для какой-то хуйни нужен.
330 1825356
>>25312
Через Spyder работает отлично. Двойным кликом по файлу ничего не запускает
331 1825388
>>25059
А какую книгу Лутца ты прочел?
Только не говори что "Изучаем Python" Том 1 и 2 Марка Лутца.
Я только что пытался ЭТО читать - и более занудной, неудобной для чтения и восприятия написанного книги я не встречал.
332 1825391
>>25066
>>25069

>а с лутца обзмеился и засыпал блять пока читал


>Скучно читается только вводная часть, а потом уже идёт конкретика. Очень подробная и дельная. Я из тех людей, кого больше обламывает чувство неопределённости, а не объём информации. Лутц не оставляет вопросов, которые не знаешь как задать. Если чего-то не понял, то знаешь что не понял и куда гуглить. Но он конечно заебал объяснять что 2+2=4 и повторять это 3 раза чтоб я не забыл. На третий раз уже сомневаешься что понял. Ведь такую простую вещь три раза повторять не будут? Будут. Ещё четвёртый раз объяснит падла такая. Ещё про питон 2.хуйморжа расскажет, как они в 40е годы писали это не так как сейчас.


Наверное придется эту занудную книгу прочесть...
Но я наверное с ума сойду пока буду читать это...
333 1825406
>>25391

>Наверное придется эту занудную книгу прочесть...


>Но я наверное с ума сойду пока буду читать это...


Мне кажется, что такие книги ещё более-менее можно читать с нуля. А когда уже что-то знаешь и умеешь, читать их невозможно.
334 1825495
>>25406
Мы с тобой точно про одну и ту же книгу говорим?

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

"В настоящей главе начинается наше путешествие по языку Python. Неформально в Python мы делаем дела с помощью оснащения. “Дела” принимают форму операций, подобных сложению и конкатенации, а “оснащение” относится к объектам, на которых мы выполняем такие операции. В этой части книги внимание будет сосредоточено на оснащении и на делах, которые наши программы могут делать с его помощью.
Простите за формальность. Я специалист в области компьютерных наук. Выражаясь чуть более формально, данные в Python имеют форму объектов — либо встроенных объектов, предоставляемых Python, либо объектов, которые мы создаем с применением классов Python или внешних языковых инструментов, таких как библиотеки расширений С."
Просто. Вчитайся. В. ЭТО.
Это ж постараться надо, чтоб такое написать.
У Лутца была цель чтоб никто ничего не понял? Если да - то он справился.
335 1825499
>>25495
Ну хуй знает, я все понял и написано не так уж плохо. Сейчас читаю Фрэнка Герберта в переводе, вот там такой мафндфак иной раз. Почему я техническую литературу читаю так неохотно, пиздец.((
336 1825504
>>25499
"Дюну" читаешь?
337 1825505
Если я вижу проект, в котором большинство методов включает параметр kwargs, значит ли это, что я вижу перед собой говнокод?
338 1825514
>>25504
Уже прочитал, мессию заканчиваю. Как раз с циклом к декабрю закончу.
339 1825542
>>25505
Скорее всего да.
340 1825553
>>25505
Если это не в обертках над другими либами, где kwarg используется как проброс параметров, то скорее всего да
341 1825554
>>25514
А что в декабре?
342 1825570
>>25343
Да седня гляну. Кст еще вопрос, стоит ли накатывать анаконду? Я прост когда учил пистон, хуярил тупо в идле и в нотепад++. Про анаконду в книгах чет нихуя не было, а в треды не залазил чет
343 1825571
>>25391
>>25495
Да нахуй, в пизду. Обзмеитесь же. Ну либо бегло пробегать всю эту воду и останавливаться только на примерах. Я вот учил помню по укусу и потом 17 года эрик метис чтоли. Там просто и понятно и дохуя интересных примеров, даже галагу создавать например.
344 1825577
>>25570
Анаконда это набор научных пакетов, которые бережно скомпилировали, добавили все нужные зависимости, которые через пип не ставятся, чтобы всякие машинные обучатели не ходили не форумы и не спрашивали почему у меня пип инсталл упал с ошибкой. Конечно же там далеко не всё, и выборка пакетов именно научная. Тебе оно скорее всего не нужно.
345 1825590
>>25577
Хм, окей. Тогда повременю с этой херней пока что, а то и так слишком дохуя информации чет. Спасибо
346 1825629
>>25388
Первый том дочитываю, да.
347 1825636
>>25495

>Просто. Вчитайся. В. ЭТО.


>Это ж постараться надо, чтоб такое написать.



Это переводчики такие. Переводить книги давно уже разучились, была хорошая советская и постсоветская культура, когда переводили действительно хорошо, книги не уступали оригиналам. А сейчас говно, тяп-ляп, похоже на автопереводчики, надо в уме переводить обратно, чтобы смысл был ясен. В оригинале же всё лучше:
========
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 документация (несколько тысяч страниц!), но в основном переводы говно никуда не годное.
347 1825636
>>25495

>Просто. Вчитайся. В. ЭТО.


>Это ж постараться надо, чтоб такое написать.



Это переводчики такие. Переводить книги давно уже разучились, была хорошая советская и постсоветская культура, когда переводили действительно хорошо, книги не уступали оригиналам. А сейчас говно, тяп-ляп, похоже на автопереводчики, надо в уме переводить обратно, чтобы смысл был ясен. В оригинале же всё лучше:
========
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 документация (несколько тысяч страниц!), но в основном переводы говно никуда не годное.
348 1825641
>>25636
Да, перевод плохой. Есть даже термины, которые в таком контексте у нас никто не использует. Не вспомню примеры. Так что при любом затруднении надо открывать оригинал и смотреть что там было за слово.
349 1825660
>>25505
то ты читаешь исходники pandas.
350 1825666
>>25660
Увы, если бы.
351 1825709
Аноны, сейчас пишу фронт на JS'е, но хочу пересесть на иглу бекэнда и тут выбор на какой стул сесть:
1) питон и джанго
2) шарп и дотнет
к обоим язык отношусь хорошо. Шарп привлекает чуть больше тем, что у него статическая типизация и по субъктивному моему мнение, он лучше для бекэнда заходит
Но на питоне вариант вкатиться прям на текущей работе, потому что стек в беке питон + го
352 1825711
>>25356 -->>>1825335
Сори мисклик
353 1825712
>>25312
Бамп вопросу, я с ума сойду скоро с этой дичью
354 1825765
>>25312
Странно, пользуюсь пайинсталлером, нет таких проблем. Ты прямо батником делаешь?
У меня так:

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

cd /d %pythonpath%
pyinstaller.exe --onefile %localpath%
move %pythonpath%\dist\%file%.exe "путь_куда_поместить_итоговый_экзешник"
pause
355 1825813
>>25554
Ccсука, на следующий октябрь перенесли.
356 1825856
Привет, двач, есть у кого пет проект какой-нибудь или что-то такое, где помощь нужна, хотел бы получить опыт в командной разработке. Стек: python, django, posgresql, telegram api, могу написать вебсервис или протестировать что-то, знаком с rest, версткой, git и более мелкими вещами. Если проект интересный, то готов углубится в новую технологию
Tg @yellowpearl
357 1825947
Опытные книголюбы и другие любители своего дела. Подскажите актуальность книги Марка Лутца Программирование на Python
русс версия 2011 года выпуска вроде
en 2013.
На сколько информация в данной книге актуальна?
Или это золотая классика питониста?
Возможно есть более свежие, упитанные тома по питон(версии 3.6+)
Если читали и то и другое, то реквест-мнением поделитесь .
358 1825964
>>24852
Классика - марк лутц изучаем питон
Или курсы по питону, на степике
359 1826013
>>25641
Русский язык вреден для обучения программированию. В терминологии страшная каша.
360 1826019
>>25709
Становись фулстеком. Попробуй и то и другое.
361 1826039
>>26019
спасибо
362 1826045
>>26019
И пику в глаз и в жопу раз. Все как у людей.
363 1826048
>>25947
Ну такое. Старое форматирование строк времён py2, ospath вместо pathlib, всякие технологии древних вроде CGI под апачем, tkinter вместо нормального тулкита, вместо PIL надо Pillow. Мне конечно нечего предложить взамен, я не спец по книгам для начинающих, в целом наверное даже всё что есть в этой книге сработает на современном питоне, но будет местами устаревшее.
364 1826049
>>26045
Потому что никто кроме тебя это не решит. Максимальная субъективщина. Ну ещё в шарпе нет гила.
365 1826063
Подскажите, пожалуйста, как взаимодействовать с mysql другого человека через shh? Как приконектиться и делать апдейты в базе на его localhost? Ничего путного что-то не нагуглил. В pycharme через datasource в базу зайти удалось, но на большее меня не хватило.
366 1826121
Жопитер ставится на шиндоус?
367 1826153
>>24909

>называется cython


Использую эту штуку для защиты программ от декомпиляции. Очень здорово и просто.
368 1826156
>>26048

>tkinter вместо нормального тулкита


Идеально подходит для простых прог.>>25388
А разве "Изучаем Питон" не в 1 томе? Там дальше идёт Программируем на Python.
369 1826164
>>26156

> Идеально подходит


Нет ничего более постоянного чем временное. Потом люди пилят дофига всего под этот ткинтер и страдают.
370 1826248
>>26164
[z for z in list123 if z in list 345]
У подобной конструкциии линейная временная сложность?
Алсо, всякие условия вроде if добавляют сложнотсь к циклам?
371 1826257
>>26248

>[z for z in list123 if z in list 345]


>У подобной конструкциии линейная временная сложность?


O(mn), где m и n - размер первого и второго списка. В общем, можешь считать что квадратичная. Проверка есть ли элемент в списке сама по себе имеет линейную сложность. Хочешь быстрее - преобразуй второй список в сет - тогда будет O(m + n), то есть линейная.

А вообще, твою хуйню лучше переписать вот так: set(list123) & set(list345).
>>26248

>Алсо, всякие условия вроде if добавляют сложнотсь к циклам?


Зависит от того, что находится в этих условиях.
372 1826279
>>26257
Спасибо.

>Зависит от того, что находится в этих условиях.


Ну, если дргой список, о вроде выяснили, что квадратичная.
А если константа - линейная?
Какую книжку по алгоритмам и их сложности почитать?
373 1826320
>>25947
>>25964
>>26048
>>26156
Байтите вы меня ЭТО говно прочитать.
Придется продираться сквозь эту дристню.
А как вам "Изучаем программирование на Python" от Пола Бэрри?
Сейчас на 72 странице (из 611) - вроде понятно изъясняет, и простым языком.
374 1826322
>>26279

>А если константа - линейная?


Не понял вопроса. Проверка элемента в сете - константа, поэтому если второй список заменить на сет, то сложность изменится на линейную.

>Какую книжку по алгоритмам и их сложности почитать?


Гугли туториалы. Сложность алгоритмов без ненужных изъебов можно понять за один вечер, книги не нужны.
375 1826328
>>26320
Из этих книг есть смысл читать что-то одно, и то, если ты совсем плохой в программировании. Заходит нормально — читай дальше. Те у кого уже есть опыт с другими языками, обычно читают docs.python.org и им всё понятно.
376 1826330
>>26279
Я тебе могу предложить довольно трудоёмкий, но такой чтобы наверняка, метод. Напиши тестовый стенд для анализа алгоритмов. Попробуй бенчмаркать всякую хуйню увеличивая N, и с помощью matplotlib строить график как много времени занимал бенчмарк в зависимости от N. Построй на одной картинке несколько графиков разной реализации задачи. Вот самое простое: item in list против item in set против бинарного поиска в сортированном массиве. Будет очень наглядно и интересно. Если помнишь школьную матешу, то легко там найдёшь линейную, константную и логарифмическую сложности.
377 1826345
Нужна такая хуйня - будет бд с задачами, в фоне нужны несколько воркеров, которые будут подбирать новые задачи, обрабатывать и складывать результаты обратно. Для моей задачи достаточно обычной sql базы, чтобы не ебаться с очередями. А вот как спавнить этих воркеров и управлять ими?
379 1826351
>>26349
Это немного не то. Это можно интерактивно там спавнить себе процессы.
Я имею в виду что-то типа демона, т.е. чтобы сторонний софт управлял их запуском, количеством и т.д.
380 1826354
Вот у жабаскриптовиков я видел такую хуйню, но выглядит как-то слишком монструозно для моей задачки.
https://pm2.keymetrics.io/
381 1826356
>>26351
Systemd, supervisord, docker-compose, тысячи их.
382 1826724
>>26345
Celery
383 1826725
Кто куда вкатился? Кто кем работает?
384 1826743
>>25765
>>25335
Спасибо за советы, с этим разобрался, но дальше еще хуже, пиздец. Все отлично запускается и даже работает, но когда скрипт доходит до момента
img = ImageGrab.grab()
Перезапускает приложение. Нагуглил, что проблема в том, что виндовс не имеет команды spawn и нужно использовать multiprocessing.freeze_support()
, но я блять везде уже этот кусок кинул и не помогает.
385 1826744
Сап пишу линкед-лист. и тут встал вопрос по методу __iter__. Собственно есть 2 пути решения через класс ListIterator(в котором __next__) и через yield. Так собственно вопрос, что лучше и почему? и что больше по питонячи?
386 1826795
Я нипони как происходит распаковка словаря и почему етот вариант работает:

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

Почему!??
387 1826796
>>26795
бляя, сорян я тут новенький
388 1826961
>>26795
Названия переменных не совпадают с ключами словаря
389 1826991
>>26961
Именно так, но ведь в анонимную функцию должны падать только значения из словаря... По крайней мере мне так казалось.
19345011.jpg117 Кб, 792x595
390 1827033
>>26725
Тимлид на связи
391 1827052
Подскажите начинающему дэбилу выбравшему в качестве практики разработку текстовой рпг:

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

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

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)
392 1827053
>>26725
Приняли на работу в автоматизацию бизнес процессов на 192р/ч, после прохождения курсов по rpa, но когда прислал сертификаты мне сказали что у них проблемы и мне ответят к концу недели, так что даже не факт что работать буду, а остальные 100 откликов отказ, либо не просмотрели, либо тестовое сделай но отказ
393 1827054
>>27052
global «foo» объявляй
394 1827061
>>27054
Благодарю
395 1827072
>>26744
Абсолютно неважно. Как удобнее так и делай.
396 1827077
Киньте мануалом как делать на питоне интерфейс на фреймбуффере в линупсе.

Очень надо срочно, жопа горит сука!
397 1827078
>>26795
Здесь же у тебя две звёздочки перед target в первом вызове?
Всё дело в том, что в первом случае переменные распаковываются из словаря аналогично bigger(a=2, b=1) и ключи словаря должны соответствовать именам переменных в теле функции bigger, а во втором случае ты просто передаёшь словарь в качестве первого аргумента x, а второй аргумент y оставляешь пустым.
398 1827080
>>26744
Через елду делай.
Будет нихуя непонятно, очень круто, +100 очков к ЧСВ.
399 1827087
>>27077
Нет такого. Это занятие для конченых извращенцев. И они, чтобы не палиться, публичных мануалов не пишут.
Но вообще вот тебе библиотека https://pythonhosted.org/fbpy/
На фреймбуфер вроде бы можно даже Qt/Gtk завязать, но я не умею. Вон там какой-то qt for embedded linux https://doc.qt.io/archives/qt-4.8/qvfb.html
400 1827088
>>27080
Чо это непонятно? Намного понятнее классов в большинстве случаев.
401 1827113
>>26744

>Сап пишу линкед-лист


Зачем?
402 1827121
>>27052
Почитай о классах
403 1827165
>>18007
Мимо бекенд разработчик стек Python/Django. Перепробовал много дистрибьютивов, остановился на Linux mint - это что касается ос для разработки, а для деплоя CentOS или Ubuntu server. Для работы с виртуальным окружением использую pipenv.
image.png47 Кб, 346x539
404 1827185
Что это за фигня? Я думал, что каждый раз заново исполняется заполнение аргумента дефолтным значением.
405 1827191
>>27087
О, заебись, практически то что нужно. Спасибо, Анонасий!
406 1827197
>>27185
Этот def выполняется один раз при старте программы, определяя функцию.
407 1827203
>>27185
Чем думал? Жопой?

На эту тему есть старый анекдот: научился ежик жопой дышать, сел на пенек и умер.
408 1827214
>>27185
В чем космический эффект именованного параметра "a" с рандомным значением по умолчанию?
Используй a = random() в теле функции, а из ее параметра убери его нахер.
409 1827218
Вопрос по относительному импорту.
Он используется только среди модулей?(не скриптов)
Например есть такая схема
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
по идее должен сработать ведь оба на верхнем уровне проекта, но хуй. он опять сыпет ту же самую ошибку.
Но как только точку убрать, он это проглатывает.

Так вот, что за хуита с относительном импортом в питоне?
Его вообще хоть кто-то сейчас использует?
До него все кристально понятно было с импортами. Как только прочитал, решил как тру-кодер сразу использовать и все смешалось к хуям.
410 1827222
>>27218
Мне тоже вот казалось что все понял пока сам с этим не столкнулся, импорты в питоне для новичка это какая-то неведомая хуйня, которая работает по непонятным правилам
411 1827225
>>27185
def f(a=0, rand_a=True):
..if rand_a:
....a=random()
..print(a)

f()
f(1)
f(1,False)
python.png533 Кб, 1200x720
412 1827228
Ну че, кто переполз на 3.9?
413 1827230
>>27228
Я, но еще даже не смотрел, что там нового
414 1827237
>>27078
Спасибо.
415 1827260
>>27225
def f(a=None):
..print(random() if a == None else a)
Стикер319 Кб, 388x410
416 1827262
>>27260
Pythonic way во все поля.
417 1827263
>>27262
Ну прости, что в питон не завезли человеческий тернарый оператор с проверкой на nullnone-овость.
418 1827354
>>27263
прощаю, потому что завезли
другойчел
419 1827486
>>27260
>>27262

print(random() if not a else a)
Ондатра 1.jpg755 Кб, 1600x1062
420 1827515
Существует какая-нибудь утилитка чтобы открывать питоновские докстринги из баша, не заходя питоновский шелл?

Т.е. меня заёбывает каждый раз печатать:
$ python3

>>> import queue


>>> help(queue.Queue)


я хочу:
$ openpydoc queue.Queue
421 1827543
помогите пожалуйста понять, почему не работает код...
на второй картинке кода, в функции ClickButton2 есть строчка wayToFile = os.path.abspath(k), которая должна сохранять абсолютный путь к файлу, обрабатываемому циклом. Но загвоздка в том, что если скрипт пайтона не в той же директории(у меня это диск Д), то выбивает ошибку, в которой абсолютный путь к файлу определяется как директория скрипта + название обрабатываемого файла. Из-за этого скрипт не может найти файл.
Если скрипт в той же папке, то все робит...
422 1827567
Какие есть библиотеки для создания GUI в виде веб-страницы? В смысле, чтобы он был написан на HTML/CSS/JS, но браузерный движок был завернут в десктопное приложение, как на электроне. Пока нашел pywebview. Вроде бы подходит, но вдруг есть варианты получше.
423 1827569
Прохожу курс по питону на курсере. Проверку почти прошло, однако почти. Никак не могу понять почему не проходит. Помогите, аноны
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")
424 1827586
>>27569
У тебя 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")
425 1827589
>>27567
Лучше написать на JS. Но можно ещё соорудить гибрид, где JS отвечает за представление и ввод, а headless процесс на питоне управляет состоянием и логикой. Общение с питоном по stdin/stdout какими-нибудь жсонами.
426 1827592
>>27569
Кстати ещё надо выход за пределы поля отсечь по идее.
428 1827599
>>27543
Относительный путь, который тебе отдал диалог, скорее всего отсчитывается не от текущего каталога программы, а от какого-то другого.
429 1827601
>>27598
Свежачок, ещё даже на радиот не обсудили. Выглядит интересно, но скорее всего будет нежизнеспособным говном, как и все подобные проекты.
430 1827611
>>27515
https://pastebin.com/yyr1uqN3
Такое? Кстати прикольная штука.
431 1827613
>>27262
>>27263
Чёт я не увидел проблемы. Вам может перл попробовать что сэкономить две буквы при проверке нулла?
432 1827614
>>27354
И тут ты такой с прувами.
433 1827615
Как думаете, стоит на Python 3.9 переползать, если я сейчас только изучаю язык?
Или через месяцок-другой?
434 1827623
>>27218
Есть модуль, а есть пакадж. Пакаджи это такой маппинг имя→каталог. К примеру sqlalchemy превратится в /usr/local/lib/python/site-packages/sqlalchemy/.

Естественно, относительные пути возможны только внутри пакаджа, чтобы ты не делал всяких import ....etc.passwd. За пределы пакаджа ходить нельзя. А внутри пакаджа, таки да, всё почти как путь к файлам, и вниз и вверх и куда угодно.
435 1827627
>>27615
Похуй. Там не так много нового. Да и в обучающих материалах этих фич ещё нет.
436 1827631
>>27543
пацаны, решил проблему гениально:
wayToFile = folder_selected +'\\\\' + os.path.basename(k)
сделал переменную ""выбранная папка"" глобальной + добавил к ней \\(чтоб не было экранирования, надо еще \\) + добавил просто имя файла
все заработало
437 1827649
>>27614
foo if not cum else bar
438 1827650
>>27586
Спасибо
439 1827777
>>27623
но модули в пакете(с относительным импортом) ,как скрипты запускать нельзя, так?
А как тогда тестирование проводить?
440 1827783
>>27623
Единственное, что на ум пришло, это писать тесты внутри мода, потом этот мод импортировать за пределы пакета и его запускать через if __name__ == "имя мода"
Но больше похоже на кастыль.

Тот же анон
441 1827798
>>27777
python -m pkg.subpkg.module
Вообще в пакадже можно создать аж целый файл --main--.py, который запустится от python -m pkg
442 1827799
>>27615
Да хоспаде, че там переползать.
Вкатывальщик разницу между тройками не увидит. А когда увидит - будет уже уметь перекатываться между разными версиями за минуту.
Единственное, наверное, не стоит изучать на версии ниже 3.6.
443 1827804
Что из знаний нужно для решения хотя бы 4 kuy задач на codewars? Примерно хотя бы
444 1827809
>>27649
Пчел, ты...
445 1827812
>>27804
Аналитический склад ума?
Там обычным питонячим синтаксисом все задачи решаются.

Ну, чтобы повыёбываться краткостью решений, надо уметь писать ванлайнеры, лямбды и пользоваться zip и map. Ну может ещё декораторы местами.
446 1827861
>>27809
что такое катышек? не знал что нот нане равно тру?
15823026475220.png1,1 Мб, 1566x881
447 1827880
Второй месяц не могу зарегистрироваться га codewars.
448 1827894
>>27880
через гит авторизуйся
449 1827898
>>27615
Пока PEP554 не примут можно на 3.7-3.8 сидеть, там хоть sec fix есть.
450 1827922
аноны, есть pdf со сканном книги в ней есть таблицы, вопрос как их в exel перевести??
451 1827939
>>27922
https://tabula-py.readthedocs.io/en/latest/

Гуглить не пробовал?
15989746128980.jpg43 Кб, 766x960
452 1827985
>>27894
Что такое гит?
453 1828020
>>27861
Знал. Я об другом.
454 1828021
Ребят, есть модель 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
455 1828060
>>27804

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

Знаю я, естественно, больше, чем месяц назад. Какие-то методы, алгоритмы узнал и применил. Думаю поднять 1 куй на этой дрочильне и начинать писать свой проект.
456 1828279
Как python считает остаток при делении положительного числа на отрицательное?
457 1828282
Доброго утра всем.

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

Потом дело дошло до создания двух игр в конце книги - и на этом моменте всё пошло по пизде. Я перестал до конца понимать что нахуй делает автор, а уж задачки в конце это вообще забудьте. При этом нельзя сказать что я учил на похуе или без энтузиазма, наоборот - мне вполне доставляло. Вопрос такой: стоит ли мне бросать это дело, если я даже детскую книжку не в состоянии целиком осилить? Есть ли тут те, кто тоже эту книгу читал, были ли у вас похожие проблемы? Я совсем даун, или только олигофрен?
458 1828331
>>28282
если у тебя встает член от правильной логики и от решения задачек на них и ты готов гнаться и поглощать новые зания до конца жизни, то программач это твое.
Если этого нет, ты выгоришь к хуям.
Так что можешь сразу пиздовать асфальт укладывать
459 1828334
>>28331
дружок , ты тоже выгорешь!
460 1828357
как найти в тексте все слова начинающиеся с символа @? я так понимаю нужно какое-то регулярное выражение, но именно этот символ не знаю как загуглить и в целом только начал изучать это дело
461 1828370
>>28282
А тебе точно до конца нужно понимать? Может стоит просто повторять и вникать только в то что автор объясняет?
462 1828399
>>28357
У строки есть метод .startswith()
463 1828404
>>28282
Попробуй "Изучаем программирование на Python", Пол Бэрри.
Я тоже очень мало понимаю из тех книжек, которые читаю. Прочел "Грохаем Алгоритмы" - понял только что такое бинарный поиск, все остальное - непонятно и сложно.
Прочел "Укус Питона" - понял что такое переменные и еще немного.
Прочел "Делаем игры на Python" (точно не помню как книга назывались) - вроде первые 20% книги понял, но когда пошли сами игры (Виселица, Угадай слово и др.) - нихрена не понял.
А Пол Бэрри вроде неплохо объясняет.

А вообще, не сдаваясь и не бросая это дело, я постепенно начинаю понимать что есть что в Python.
Постепенно.
Главное не сдаваться.
464 1828411
!
15552705388210.jpg77 Кб, 600x800
465 1828447
>>28404
Ты осознаешь, что по сравнению с Прирожденным Программистом ты - ничтожество ?
Почему вы сопротивляетесь мистер Андерсон?
466 1828480
>>22510
по каким материалам изучаешь?
467 1828522
468 1828615
Пытаюсь въехать в питон.
Можно ли изучать ООП, скипнув функциональщину? И если да, то посоветуйте какие-нибудь туторы. С написанием самого класса вроде проблем нет, а вот как при помощи ООП описать бизнес-логику, я вообще не понял.
469 1828620
>>28615
можно, даже больше скажу, можно изучить ООП даже пропустив переменные, циклы, условия, и основные типы данных,
Гляди чичас быстренько пробегаешься глазками по SOLID'у дальше начинаешь изучать основные паттерны, такие как фабрика синглтон команда и тд. ну и можно подавать резюме на джуниор систем архитектор, алсо и сам питон нахуй тоже скипнуть можешь, можешь не благодарить
470 1828622
>>28620
Ну камон, я же серьезно спрашиваю.
471 1828633
>>28622
ну я серьезно по большей части ответил, ты написал что хочешь писать бизнес логигу через ООП только П в данном случае про проектирование, а не про программирование
472 1828665
>>28633
Не, я говорил именно про программирование. Бизнес-логикой я называю структуру программы. В функциональщине все просто - функция обрабатывает ввод, через ретурн опционально отправляет результат обработки в другую функцию и так, пока информация не будет готова к выводу.
А как этот пайплайн выглядит в ООП - я вообще нихуя не понимаю. Т.е. вот я создал класс хуман, вызвал конкретный инстанс. И что?
473 1828721
народ, в каких проектах на питоне можно поучаствовать?
474 1828737
>>28721
Попенсорсных?
475 1828833
Я бы поучаствовал. Чисто за еду. Чтобы набраться опыта. Делал бы все на пистоне, чисто за опыт, навык и чуток еды.
476 1828841
>>28665

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


и все, поздравляю вы освоили ООП
а уж если писать ООП структуры извольте освоить типы данных, и прочую патерную солидохуйню на уровне чуть побольше чем просто глазками пробежаться
Или найди какой нибудь фреймворк который все за тебя сделает
477 1828859
>>28665
БЛ это, что должна делать прога по мнению её заказчика.
Это не всегда выглядит как переработка исходных данных в результат.
Например управление псарней. Есть псы, будки, миски, корма и проч, и задача описана в этих терминах. Тогда создаёш классы пёс, будка и проч. Потом пишешь БЛ на Питоне так, какк она задана, используя объекты этих классов.
478 1828882
>>28841
У меня складывается впечатление, что солиды и паттерны кодеры пытаются изучать гораздо раньше, чем они им реально потребуются. Если вообще потребуются.
479 1828904
А какая сейчас самая модная орм для асинзронного кода?
480 1828905
>>28904
sqlalchemy.core
Орм вроде бы не завезли всё ещё.
481 1828906
>>28905

Алхмия это хорошо... Но будет ли она хорошим выбором для нового проекта, когда есть tortoise, Gino, async-peewee
482 1828933
>>28906

> tortoise, Gino, async-peewee


Диванный?
483 1828946
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

В чем проблема? Помогите пожалуйста.
484 1828948
>>28946
a = input(int())
b = 427
c = 12000000
d = ((a умножить b) + c) / 100 умножить 3
e = (a умножить b / 10)
print(d)
print(e)

Пофиксил
485 1828949
>>28948
Разобрался вроде, надо было в 4-й строке сделать (int(c)) вместо c.
Но в 5-й строке вылезло
e = (a * b / 10)
^
SyntaxError: invalid syntax

В чем здесь ошибка синтаксиса?
486 1828950
>>28949
Проверь отступы. Иначе все должно работать.
487 1828951
>>28950
С отступами все нормально.
488 1828952
>>28950
Интересно, и в PyCharm и в стандартной питоновской IDLE вылазит ошибка синтаксиса.
489 1828954
>>28948
На первую строчку посмотри внимательно
490 1828955
>>28954
Посмотрел, с отступом все впорядке.
491 1828960
>>28955
Какие в пизду отступы? "Input(int())" это что блять?
492 1828961
>>28960
a = input()
b = int(427)
c = 12000000
d = ((a b) + (int(c)) / 100 3
e = (a * b / 10)
print(d)
print(e)

Убрал. Все равно та же ошибка.
493 1828963
>>28950
>>28954
>>28960
Вбей у себя, антош. Там все та же ошибка вылезает.
494 1828965
>>28961
Вспомни зачем у тебя там вообще был инт, его не просто убрать надо. А в четвертой строке у тебя скобка незакрытая
495 1828966
>>28951
>>28952
>>28963
А, увидел в чем проблема. Замени первую строчку на int(input()).
496 1828972
>>28965
>>28966
Все работает.
Спасибо огромное, антош.
497 1829042
Посовутуйте среду для пайтона. Работаю с керас, как только проект становится достаточно большим - вижуал студио код начинает жестко тормозить. Пишу вызов метода, открываю скобку - ничего, никаких подсказок. Навожу мышкой на имя метода - Loading.... Нажимаю контрол-эс, через десять секунд он мне красным наконец-то подчеркнул что у меня вместо аргумента n_epochs= стоит epochs=.
Отладка вообще через жопу работает. Иногда нажимаешь на паузу - и просто всё виснет, ни на консоль отладки не реагирует, вообще ни на что. Нажимаю на треугольничек, типа продолжить, ноль реакции, прихоидится завершать отладку, а там долго работало и жалко всё.
Вобщем посоветуйте среду для пайтон + керас которая не говно.
498 1829043
>>29042
Очевидный пайчарм.
499 1829044
>>29043
Он правда лучше, чем вижуал студио код? Пользовался им? Расскажи про него пожалуйста.
500 1829051
>>29044

>Он правда лучше, чем вижуал студио код?


Да. Вскод это вообще текстовые редактор на тормозном электроне, а не IDE.

>Пользовался им?


А ты как думаешь?

>Расскажи про него пожалуйста.


Что именно рассказывать? Конкретно по твоим вопросам - производительность во много раз лучше, чем у вскода, но моментального отклика все равно не ожидай. Если в классе пара сотен больших методов, то подсказка появится только через секунду. Аналогично с проверкой синтаксиса - некоторые вещи не моментальны, но по сравнению с вскодом вполне терпимо. Отладочные инструменты тоже намного лучше.
501 1829053
>>29051
Спасибо за отзыв, попробую пайчарм.
502 1829093
А какой линтер у вас в проекте? Prospector, vulture, что-то другое?
503 1829095
>>28933

Ну отзывы на Хабре о них не плохие.
504 1829161
Ну чё перекат?
505 1829276
Есть здесь извращенцы, которые вимом пользуются под питон? Какой деббагер юзаете?
506 1829289
>>28737
угу
так то опыт разработки есть, но опыта именно питоне, увы, нет
а очень хочется
507 1829313
>>29289
Ну если с анонами хочешь - есть вариант.
Правда я сейчас немного не в состоянии его пилить, уже 2 месяца как.
Если ты вообще спрашивал - ищи либы/приложения какие питоновские на гитхабе, по близкой тебе тематике и читай как в них контрибутить.
508 1829314
>>29095
Ссылочку бы.
С первыми двумя я работал в проде, ибо один еблан их туда притянул. Это пиздец и нахуй.
Gino - ебаное поделие от китайца, никогда не связывайся с китайцами, они скам хуже индусов, ибо производительней и более цпертые, документация, примеры и решение issues страдает.
Pewee - давно юзал, но тоже не зашло ибо были проблемы с пулом конектов и тоже проблемы с инфой о ней и доками.
В этом плане алхимия топчик, ибо ей уже хулиард лет и всё возможные и невозможные грабли она прошла.
По асинхронным НЕорм могу подсказать - asyncpg, использовал именно ее когда это надо было.
509 1829386
Какие есть либы чтобы организовать авторизацию и аутентификацию по ролям? И чтобы полиси тоже были, короче как Identity в неткоре

Фреймворк использую Fastapi
510 1829387
>>29386
А если запилить к в джанге, руками?
511 1829397
>>29387
Может уже есть готовые либо чтобы не пилить велосипед?
512 1829411
Ребят, есть модель 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
513 1829432
Товарищи. Обьясните дауну.
Почему данный код отправляет двоечку на ардуино.
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
ser.write('2')

А этот код отправляет мое очко в зрительный зал?
В общем, он ноль отправляет.
machinki = 0
machinki = output_count.get('car')
print("Car =", machinki) // вот здесь я вывожу значение листа и значение есть. Ноль перезаписывается.
ser.write('machinki') // отправляется аж нихуя, но целый ноль
514 1829433
>>29432
Дополню что эта строчка есть и во втором варианте кода. ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
515 1829510
>>25318
Бля, сорян анон. Как то упустил когда ответили.
Работает. Благодарочка нереальная.
516 1829512
У меня вопрос по os.walk
Почему там именно три переменные, типа root, dirs, files
Так сделали разрабы? Можно свои переменные, и важна ли последовательность обхода? root - это путь как я понял, остальное и так ясно.
517 1829539
Наконец то написал скрипт для очистки корзины. Тк часто бываю в консольке.

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')
518 1829584
Что значит этот синтаксис?

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

Какая-то нех в скобках. Что значит : и -> поясните плис.
519 1829585
>>29584
Так Большие Дяди пишут
520 1829594
Как к каждому числу из строки присвоить тип данных?
521 1829614
>>29594
str.isdecimal
str.isdigit
str.isnumeric
522 1829631
>>29584
это аннотирование типов, чтобы ты знал что куда лучше подавать и что откуда возвращается
523 1829633
>>29584
>>29631
я ведь думаю, что не надо напоминать, что по умолчанию питон без ретерна возвращает None?
524 1829643
Аноны, кто-нибудь пользовался WSL в разработке? Какого оно мне после установки пипа показывает целую тонну каких-то левых пакетов в pip freeze?
525 1829828
>>29432
За ардуины в жизни не держался, но у меня есть подозрение, что в последовательный порт можно только байты пихать, а содержимое твоей переменной machinki не сериализовано. Я бы попробовал в байты перевести.
>>29539
Разве rmtree не удаляет и файлы тоже?
image70 Кб, 233x328
526 1829835
Попалась реклама книжки Leaving the Rat Race with Python. О том, как умело фрилансить питоном. Полистал оглавление - заинтересовался. Но где скачать pdf? $12 за файл блять!
527 1829857
>>29835
Ты с первого заказа окупишь покупку книги, микрочелик.
528 1829890
Пиздос, неделю учу и нихуя не понимаю.
529 1829898
>>29890
Сколько прошел?
530 1829956
>>29898
Где-то на уровне Hello world! Ну и всякие if/else и replace. Квест текстовый даже создал, но до компиляции в exe не дошел еще.
531 1830032
>>29835
>>29857
Под какую биржу то написана книга хоть? Под апворк?
Кроме сайта, парсера, что еще нужно людям?
532 1830048
>>30032
Видел упоминание Upwork, Fiverr, Toptal и Freelancer.com.
А вообще интересно, какие работы в данном контексте имеют спрос?
533 1830082
>>30048
Так я у тебя и спрашиваю :3
Я кворке и фл ру встречал только парсер, сайт, еще odoo. И все. На хх ру надо уже знать фреймы типо фласка и джнаги. На ангельских смущает то что тз будет на ангельском. Да еще может и не понравится результат. И тд и тп. Я бы поработал чисто за еду, тк есть возможность пока. Чтобы тупо научиться.
534 1830087
Пичарм подсвечивает функции при импорте из собственных пакетов.
Сам код работает.
Функция определена в модуле.

https://prnt.sc/uz3hzt

Как лечить?
535 1830102
>>29828
плюсую, работал с CAN интерфейсом по повледовательному порту - только байтики и хуй соси
536 1830154
Человечки, какой вы language server для питона используете в vscode? Я раньше пробовал jedi, но он уж очень медленный и с ним все питон-дополнение отваливалось время от времени, приходилось перезагружать окно. Сейчас вскод предложил pylance от майкрософта, быстрый, модный, молодежный, но у него глубина автодополнения короче чем у джедая. На каком стуле сидите?
И вдогонку подскажите, поставил в вскод дополнение batisteo.vscode-django для джанги, оно подсказываетджанговские теги, но убивает все автодолнение хтмл, так и должно быть? Приходится для одного файла переключаться в разные language mode.
537 1830286
>>29828

> Разве rmtree не удаляет и файлы тоже?


тащемта вроде только папки.
Открыл для себя pathlib и влюбился. Намного круче чем os, globe, shutil и прочее. Все в одном флаконе.
538 1830304
>>28282
Предполагаю, что в книге, когда начинают делать игру, используют библиотеки, а осознание что такое методы, поля, классы придет позже. Я тоже не понимал, когда читал укус питона, что вообще происходит, когда автор начинает использовать непонятные методы строк и почему это так работает, так что просто повторяй и вникай в самые базовые понятия
539 1830383
народ, пришел к вам из мира cv, но она чуть подзаебала, если честно. Где еще питон применяется? бэкэнд на нем пилится? или в рашке чего делают вообще?
540 1830387
вообще плюсую, сам сижу на шарпах и дико заглядываюсь на питон (на первых двух работал юзал его, но для внутренних утилит всяких). Насколько сложно сменить специальность на него? Что с ним пилится (кроме дата саенса), что нужно знать? У самого опыт работы 3 года
541 1830526
>>29828
Да. Я на бэшечке спросил, там намекнули что ардуина жрет только чары, и неипет.
542 1830689
Пацаны, че лучше писать скрипты пайтона на винде 10 или на убунту?
собираюсь освоить django, написать парсер, на какой ОС будет удобнее/проще?
или нет разницы?
543 1830694
>>30689
На Болджен ОС пиши. Там нескучные обои.
544 1830710
>>30689
Линух.
Удобнее.

Я конечно и на винде писал хуйню, но мне не понравилось. Куда она там устанавливает говно, какие команды прописаны, ебал рот просто.
Хотя если ты собираешься писать скрипты рисования хуя в консоли, то можешь выбирать что хочешь. Хоть вышеупомянутый болген ос.
545 1830711
>>30710
Хотя следует пиздануть, что болген вроде какой-то пижженый дистр линукса, поэтому да.
Пиши на болгене.
546 1830736
>>30710

>Линух.


>Удобнее.


Не вводи людей в заблуждение. С точки зрения удобства один хуй на чем писать - работает одинаково. Разница лишь в том, что винда не поддерживает 0.1% библиотек, с которыми вкатывальщик никогда не столкнется. Ну и в некоторых деталях имплементации питона, влияющими на производительность, которые ты тоже скорее всего никогда не узнаешь.
547 1830739
В чем пишете код? Мощные IDE или простые редакторы?
548 1830816
Бля, сколько нуфагов набежало.
Откуда вы все?
Бывшие мусора перекатывающиеся в ойти небось.
>>30739
И то и то.
>>30689
На убунте проще и лучше.
549 1830897
>>30739
Notepad++, конечно же. Обмазать плагинами — и лучше не завезли.
550 1830898
>>30689

>на какой ОС будет удобнее/проще?


Разумеется, на Винде. Не слушай красноглазых сектантов.
551 1830899
>>30710

>Куда она там устанавливает говно, какие команды прописаны, ебал рот просто


Ты долбоеб?
552 1830901
>>30304

>а осознание что такое методы, поля, классы придет позже


Я их осознал, когда почитал книжку по Джаве, лол. А до этого хуярил десктопные аппы на PyQt5 по методичке без понимания, нахуя классы, инстансы, селфы - вот это все.
e3Dk4AAuQGk.jpg40 Кб, 600x597
553 1830906
Всем привет!!!
554 1831391
>>17742 (OP)
Что почитать для общего технического развития? Я уже работаю питонистом и хочу развиваться дальше. Есть смысл читать всякие "Идеальный код" и прочее?
555 1831397
Параметорезированные декораторы
https://pastebin.com/8NPWvpTG

Собственно вопрос, почему декоратор wraps из functools в данном случае не копирует оргументы исходной функции? и как сделать, чтобы копировал?
556 1831398
>>31391
пили историю,как им стал
557 1831400
>>31397
вопрос снят, все копирует. просто я тупой.
558 1831482
>>30899
>>30736
Ладно, долбоеб так долбоеб.
Я в принципе студент и особо на питоне не писал, но просто не привычно было.
559 1831517
Вкатился на codewars. Какие подводные? К чему стремится? Когда считать себя гуру питона?
560 1831529
>>31517
Просто решай задачки.
561 1831573
>>31529
https://proglib.io/p/27-puzzle-websites-to-sharpen-your-skills/
из этого списка что самое лучшее для изучения питона?
562 1831575
>>31573
Не знаю, честно говоря. Я просто codewars сборники решал в свое время, там были задачки на набивание руки, алгоритмические тренажеры и прочее.
563 1831640
Можно ли во время генерации списка за одну итнрацию запихивать сразу 2 элемента? Например создать список [1, -1, 2, -2, 3, -3, ... , n, -n] при помощи чего-то типа [ i, -i for i in range(n)]
564 1831641
>>31640
за одну итерацию

фикс
565 1831643
>>31640
Насколько я знаю, только так: [[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)]))
566 1831644
>>31575
А есть ли практическая польза от решения таких задач? Что это может дать, кроме как того же что и решение задачек по шахматам. В реальной жизни это пригодится? И как лучше юзать, выбирать по тегам, по ку, или задрачивать что-то одно? Я даже хз как подступиться к этому. Сам сайт понравился, сделан круто, воодушевлялет. Я вот изучил питон, и не знаю как это применить на практике, а уж тем более как заработать на этом, ко всему же, нету профильного, наподобии высшего математического, я пробовал пару раз вылаживать на хх ру, но видимо мое резюме, и образование не привлекают работодателя. Хз что делать, но знания есть и руки чешутся, ну и чет поверил в себя.
567 1831648
>>31643
Ну, это вроде и ответ на вопрос, но ответ мне не нравится. Если уж юзать костыли, то лучше [i//2 if i%2==0 else -(i-1)//2 for i in range(2*n)]
568 1831677
я ПОЛУЧУ 1 дан на кодворсе
569 1831696
>>31640

>за одну итнрацию запихивать сразу 2 элемента


zip же
570 1831742
>>31644
самое лучше в таких сервисах это смотреть самые топовые решение.

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

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

Говнокод нужно исправлять с детства.
571 1831790
>>31742

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


Я где научиться этому за неделю?
572 1831791
>>31696
Либо твой ответ бессмыслен, либо я не понимаю его. Можешь написать пример применения zip для создания списка из моего примера?
573 1831798
>>31790
За пару месяцев + пеп может что и выйдет.
574 1831833
>>31798
Что такое "пеп"?

мимо анон, но с похожими обстоятельствами
575 1831846
>>31648
чтобы получить плоский массив, то нужно писать функцию.(добавлять через .append или срез)
а во включении ты вложенный список получишь. тк генерируется один объект и это елемент списка.
576 1831850
>>31833
Этика написания кода. pep8 для петона, например, а pep7 для c.
Заучишь как надо, совместно с упражнениями codewars и пет проектами, до автоматизма, считай что ты лучше многих джунов.
577 1831883
Как часто применяют аннотацию типов? И где, в вебе, датасаенсе и тд.?
578 1831944
Как создается взаимодействие браузера и программы? Например программе нужно произвести некоторые действия с функционалом сайта, что-то отправить сайту, что-то скачать и тд. Как это сделать без графического интерфейса? Можно ли параллельно? Для этого vpn наверное нужен?
579 1831950
>>31944

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


Гугли например Flask и изучай ну или Django.
580 1831971
>>31950
А если сайт не на питоне написан, а на условном php?
581 1831989
>>31883
Везде, где пишется что-то сложнее одноразового скрипта.
582 1831991
>>31944
selenium
583 1832011
>>31944
Так-с, блэт, для начала поставь конечную цель, что тебе надо.
А то один фласк советует, лол, а второй - селениум. Вообще две разные степи.
Если ты создаешь веб-сервис И сайт к нему, то фласк/джанго, да.
Если тебе нужно автоматикой прокликать формочку на сайте, то селениум. Это именно графическое (т.е. UI) взаимодейтсвие.
Если достаточно просто получать данные с сайта посредством REST-запросов, то requests. Если нужно аж прям невъебись как распарсить этот сайт на молекулы, то Beautiful_Soup.

Если все настолько просто, чтобы просто залогиниться и скачать что-то по ссылке, то достаточно requests.
584 1832039
>>31640
[-x if y else x for x in range(1,10) for y in range(2)]
585 1832040
>>31640
[x for i in range(1, 10) for x in (i,-i)]
586 1832043
>>31640
from itertools import chain
list(chain.from_iterable((x, -x) for x in range(1, 10)))
587 1832046
Чего только люди не придумают, лишь бы зипом и срезами не пользоваться.
588 1832053
>>32046
как сделать проще зипом?
589 1832071
Вы далбаебы блять, делайте просто
Массив = []
Фор ай ин раньж(число):
_____массив.аппенд(ай)
_____массив.аппенд(-ай)

Все блять просто и понятно
590 1832075
Аноны, у меня есть файлы в которых миллионы символов, тексты, мне нужно найти в них самые часто встреающиеся слова, чем быстрее, тем лучше и желательно самому велосипед не писать, кто-нибдь может подсказать название алгоритма или чего-то подобного
591 1832090
>>32075
Очевидный collections.Counter
592 1832091
>>32011
Нужно чтобы по нажатию 1 кнопки на форуме "двач" создавался аккаунт и в темке зарплатотреда писалось "300к нс программист". Это Beautiful_Soup получается.
593 1832190
>>32091
На гитхабе куча либ по работе с апихой двоща есть, даже думать не надо.
594 1832201
>>32090
Спасибо огромное, друг, я раньше в collections не залезал, думал придется свой алгоритм писать, а тут и слово и каунтер есть и все дико просто
595 1832346
596 1832348
>>32039
>>32040
Так, а это интересно. Поэкспериментирую с подобными способами, спасибо!
597 1832350
господа программачеры, нужен совет
какой проект в портфолио ебануть? чтобы все было по-взрослому: многопоточность, шоб средней величины был и тд
image.png97 Кб, 620x618
598 1832391
Скажите аноны, есть у меня несколько текстовых файлов(условно, сам парсил, можно и json и словарь) с отсортированными словами с hh.ru по вакансии, мне нужно сделать, чтобы наглядно это представить похожую на пик ебалу, куда мне обращаться, смотреть в питоне чт-то типа pyqt или к джээсерам идти, нужно просто чтобы слова красиво рандомно раскиданы были и шрифт от количества вхождений увличивался
599 1832401
>>32391
Это бессмысленно. Забей хуй на эту ебалу.
600 1832412
>>32350
Асинхронный инстаграм. Настоящий-то инстаграм на джанге написан, они твой код себе возьмут, а тебе поставят лойс на гитхабе.
601 1832415
>>32391
Гугли word cloud. Для питона наверняка есть готовые библиотеки.
602 1832418
>>32412
ты угораешь сейчас?
603 1832429
>>32418
Серьезно на джанге. Я сам был удивлен.
604 1832447
Вкатился в кодворс
Такая задача

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. Так что хз решил я или нет. Что думаете?
605 1832474
>>32447

>Вкатился в кодворс


Выкатывайся, айти это не твое.
606 1832475
>>32474
Я уже переписал) все получилось, надо было четное и нечетное представить как 1 и 0, те n%2, но за поддержку спасибо. Это всегда вдохновляет.
607 1832476
>>32447

Ты не решил, подумай как можно математически проверить четное ли число. Минусы твоего решения по сравнению со стандартным: отсутствие универсальности (работает не для всех целых чисел), очень медленное (у тебя может быть перебрано 3000 вариантов)
608 1832477
>>32476
>>32475
Я уже нашел решение.
609 1832480
Объясните тупому. Что такое swagger и для чего он? Ну вот есть у нас эндпоинт, ну и дальше что? Чем он отличается от обычного Гет реквеста?
610 1832483
>>32474
Да не вроде стало получаться. Например, такое задание

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

Получилось заебком. Но чет кодворз глючит. Не выдает результат типо я охуенен. Но у меня на пайчарме все отработало.
611 1832541
>>32483
надо вернуть, а не напечатать.
612 1832544
>>32541
Теперь это госдолг США тред.
613 1832549
>>32415
Да, есть, даже статью нашел с готовым решением, спасибо
Screenshot20201017182927.png3 Кб, 298x37
614 1832764
Почему может не отвечать тестовый сервер flask на ubuntu?
app.run(debug=True)
Всё нормально, ошибок нет, но страница не грузится, сервер не отвечает вообще (в режиме разработчика). Если сервер остановить, то говорит что попытка соединения не удалась, а иначе просто крутится загрузка, типа оджидание ответа сервера. Как победить?
615 1832775
>>32764
Заработало, лишняя библиотека в импортах торчала. Странно что ошибок не было.
616 1832805
Двач, ни разу ничего в прод не делал, только на гитхаб, вот задача, есть плагин, который может делать http запросы, у сервер с вебсервисом находится у нас на другой машине, локально не соединен, что гуглить, чтобы разобраться в том как можно передавать http запросы, просто ip вбить? а как это работает тогда? Или провайдеры хранят все ipшники и к любому можно подкючится, просто если он чт-нибудь в консоли откроет?
617 1832809
>>32805
* в моем мозгу возникает только мысль о том то нужно покупать домен, чтобы браузер через dns мог понять на какой ip ему запрос делать
ede0bc2f156274765d6b1bdb849473a2.jpg42 Кб, 500x358
проблем нид халп 618 1832885
сап, питоняши

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

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

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

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

>Что ты сделал сам?


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

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

Питоняши, как лучше организовать работу вот с такими данными? Спасибо:з
619 1832891
>>32480
Бамп.
620 1832892
>>32805
Короче скорее всего понадобиться у провайдера подключить услугу белый IP. Это значит, что адрес твоего наверное роутера будет доступен из внешней сети. На роутера тоже нужно будет прокинуть порты, типа чтобы кода приходили пакеты на 80 порты, они уходили на сервер
621 1832924
>>32885
Нихуя не понял, у тебя одномерный массив байтов или строка?
Код свой покажи хотя бы чтобы было понятно что там у тебя на входе.
Screenshot 2020-10-17 at 19.26.53.png284 Кб, 1938x1612
622 1832934
>>32924
Можно и так, и так, но я решил работать как со строкой

https://pastebin.com/tNpRawVs

Вот, короче, так ужасно выглядит фрагмент работы с первым небольшим количеством символов. Учитывая, что их будет в районе 100+, этих полей, чувствую, что код будет ещё большим говном, чем есть сейчас
623 1833099
>>32885
возможно что-то такое подойдёт https://github.com/construct/construct/
624 1833129
>>17742 (OP)

Перекатывать кто будет?
625 1833183
>>32934
Обычно используется штатный модуль struct.
Кстати:
message_bytes = bytes(int(x, 16) for x in string.split())
626 1833266
Подскажите где найти reduce. Импотрировал модуль функтулз там нету. Где его искать то?
627 1833269
>>32474
>>32476
вы вот угораете, а я считаю, что это нахуй гениально
просто ебануть от минус бесконечность до плюс (1500, ЛОЛ) и искать перебором
ептвою мать, это либо тролинг, либо парень непризнаный гений
если тролинг - то жирно
если рил - то спасибо, такие как ты обеспечивают меньшую конкуренцию)
628 1833270
>>32447
да все ок, есть два замечания
предлагаю генерировать рандомное число, проверять равны ли числа между собой, и, если равны, то смореть в каком из массивов число
вот
ну и -1500 до 1500 маловато, хорош. Ты ведь в питоне: напиши 1e+100 и не парься
629 1833272
>>33269
И я вот так и не понял, то ли меня похвалили то ли меня обосрали. Но у меня уже на кодворзе получается, юзаю уже методики феншуйные, меньше от сеябтиные, больше лупа, лист компрхеншена, и генераторов.
630 1833274
>>33272
ну если серьезно, то решение пиздец
но правильно, что сделал работу над ошибками) удачи с этим
631 1833279
>>33266
ап, где все таки редус?
632 1833293
Пиздец решаю верно но код получается громоздкий. У анонов с кодворза элегентно получается. и в пару строк, а у меня война и мир.

Например.

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)

Получается, балы засчитаюывают, но как-то громоздко чтоли. Посоветуйте, или тут нужна тупо практика.
633 1833337
>>33293

Чего? Сумма от 1 до n это n*(n+1)//2
634 1833446
>>33293
все беру слова назад, парень тролль
2020-03-2516-41-40.png275 Кб, 486x695
635 1833647
Первый раз в треде. Написал свой первый скрипт на питоне. Идея простая как пять копеек но если бы знал как долго буду с этим ебаться, то не начинал бы.
Суть в том что у меня есть эксел файл куда я вписываю каждый месяц сколько у меня денег в трёх разных заначках. Решил сделать телеграм бота, который делает тоже самое.

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

У меня нет второго акка в телене, так что не знаю на сколько успешно бот работает с несколькими юзерами, возможно он сразу упадёт, сам он подниматься не умеет, обработчик исключений я не осилил. По идеи в консоле увижу что его свалило
636 1833672
>>33446
Нет, стоп. Я только начал и освоил синтаксис. Решаю как могу, я не математик и нету профильного.

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

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

Например.

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Решение зачли. Посмотрел у других, и понял на какой логике делали они. Туоп надо больше изучать как ведут себя всякие % и что дают. Жду дельных советов все таки. Я нюфаня.
636 1833672
>>33446
Нет, стоп. Я только начал и освоил синтаксис. Решаю как могу, я не математик и нету профильного.

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

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

Например.

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Решение зачли. Посмотрел у других, и понял на какой логике делали они. Туоп надо больше изучать как ведут себя всякие % и что дают. Жду дельных советов все таки. Я нюфаня.
637 1833709
>>33672
а я вот на кодварсе никогда не сидел. Это типа лайтовые задания?
638 1833726
Подкиньте сайтов, где можно выполнять фриланс на питоне за копейки. пару сотен - пару тысяч деревянных за заказ.
639 1833727
>>33647
Роботает хоть?
640 1833761
Аноны, подскажите, пишу бота для дискорда и возникла проблема - модуль для работы с дискордом написан на aiohttp, а я не особо разбираюсь вообще в асинхронности. Проблема в том, что мне нужно написать функцию, которая опрашивает урл на предмет json response, опрашивать она должна асинхронно, каждые условно несколько секунд, все что я понял мне нужно создать асинхронную функцию, которая будет опрашивать, обернуть ее в таск и засунуть в инвет луп, но как именно обернуть функцию в таск и добавить в луп я хз, луп реализован в модуле дискорда, поэтому я его не могу поменять, может можно в какой-то список аппендить таски? Подскажите, прошу
641 1833898
>>33709
Типо да, самые легкие, 8ку, я за более сложные даже не берусь нах. Так как боюсь что неудачи подорвут мои стремления в купе с похвалами итт.
643 1833916
>>33907
О боже, как ты меня выручил, сори за глупый вопрос
644 1834103
Опять же, как обойтись без 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)

Заапрувили и дали хоноры. Изучаю более элегантные решения но они подвязаны на модулях, математике и тд и тп. Я еще пробовал всоввть четные и нечетные. Остановлися на переборе. Как то так.
645 1834108
>>34103

> if year in r:


> return year // 100


> else:


> return year // 100 + 1


Лмао.
.png72 Кб, 1532x228
646 1834109
>>34103
А ты не пробовал, оп-пост читать? Или хотя бы сам посмотри как твой код выглядит без отступов
647 1834114
Вот еще
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.

Я решил сам. Но много строчек, юзал лямбду. Потом посмотрел, пиздец как же просто решили это другие. Но получилось. Код распидарасило. Но в целом, остальные решали также, те логика такая же что радует.
648 1834285
>>32350
Перекатывалку тредов напиши, у нас нехватка кадров, срочно необходимо внедрение автоматизированного решения.
Screenshot (35)2.png1 Мб, 1157x1079
649 1834301
>>33647
потыкает кто-нибудть? никто не тыкал. мне интересно упадёт он или нет.
650 1834417
>>34301
Всё, отбой, сломали. Бот хуёво с БД работает.
651 1834670
Можно ли как-то перегрузить max()? А то нужно найти максимальный элемент кортежа, при этом кортеж может быть пустой.
652 1834672
>>34670
а обернуть в try-except религия не позволяет?
653 1834683
https://pastebin.com/2WwYX64M
Почему однострочный не работает? В обычном все норм
654 1834686
а, y не заметил, извиняюсь
655 1834770
>>34672
Именно. Если есть возможность не пихать траи, то не пихаю. Зато узнал, что у max() есть параметр default, оно мне и нужно.
656 1834794
Сап, аноны, я пытался вкатиться в фронтенд html css js вот это всё, но меня вымораживает это двигание пикселей по pixel perfect или типа того да и вообще верстать как-то не заходит, так что подумал что это все-таки не мое.
Можете пояснить за бэкенд? Читаю, некоторые пишут что тот же макакинг, что и во фронте с однотипными задачами?
657 1834829
Стоит ли рефакторить код после решения? Получилось. Но я посмотрел у других и понял что я даун. Что можно было решить в разы быстрей. Но если я перепишу, то это будет считаться что решил после того как увидел решения дургих? И вообще, как лучше, много текста - верное решение, мало текста - верное решение, или вообще похуй. Прилагаю задачу и решение.

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

Хоноры дали, но опять получилось много строчек. Хотя вроде юзал те же техники что и другие. Только многословней получилось.
658 1834834
>>34829
Сам как думаешь? Задача решается в одну строчку, например вот так:

".".join([word[0].upper() for word in name.split()])
659 1834837
>>34834
Да именно, я уже посмотрел у других. Щас так бы и решил. Для себя уже вывели пару правил на подобные вещи. Но все равно решил же. Буду стараться в меньше строк решать. Но в целом, логика думаю была верная, даже методы брал верные. Спс.
660 1834838
как записать на питоне что x y z попарно не равны?
661 1834840
аноны, дико извияюсь, тк мб не по теме, но все же
я короче веду пары у детей 12-13 лет по питону. Наш ебанутый директор просто мечтает включить pygame в программу. Начал, значит, смореть я какие-нибудь простые игры
А там пиздец
Классы, хуяссы, ивент луп, скрипты по 300 строк
они нахуй научились у меня только недавно while писать без подливы
У вас ни у кого нет примеров каких-нибудь реально простых игор на пайгейме?
662 1834846
>>34838

>как записать на питоне что 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
663 1834858
>>34846
Спасибо :)
664 1834887
>>34794
В бэке нужно минимум знать работу с базами данных, писать алгоритмы несложные и знать работу с вебом(протколы, заголовки, mvc), начни изучать что-то из этого и подумай зайдет ли
665 1834891
>>34837
Не нужно уменьшать количество строк, так потом сложнее прочитать и изменить чё ты там высрал.
666 1834908
>>34794
да на самом то деле вся работа в конечном итоге рутина. Новомодные свежие задачи не так часто падают на голову: я вот работаю в супер пупер молодежном стартапе и также периодически заебываюсь рутину ебашить
как это относится к беку? ну на мой взгляд это более программирование, чем фронт, но будь готов к тому, что и он может подзаебать своей однообразностью
667 1834920
Наконец то стало получаться в одну строчку епта

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 строчек. Збс, решения других помогают.
668 1835028
>>34920
а как было, если не секрет?
669 1835029
Прошаренные аноны, предположим есть вебсервис, который отдает json в зависимости от праметров запроса, либо стандарт, либо ошибка, если ошибка, то мне нужо вывести одно сообщение, если все ок, то другое, как обрабатывать оба варианта? Первое что приходит в голову это траи использовать, но такое ощущение, что это не правильно, подскажите бестпрактис
670 1835083
>>35029
Траи же и нужны для ловли ошибков. Так что, использовать их - правильно.
671 1835136
>>35029
Это смотря как тебе ошибку отдаёт. Если код состояния http при ошибке отличается, то смотри по нему. Если при ошибке тоже 200 возвращает, то наличие ошибки должно быть обозначено в теле ответа.
672 1835183
>>34829
ab = [x[0] for x in a]
n, f, k = ab

никогда так не делай, слышишь!? никогда!
673 1835325
>>35183
Это же распкаовка, я бы без нее не смог бы обратиться к объектам. Хотя можно было бы...
image.png15 Кб, 317x296
674 1835383
Здравствуй анонимус. Только начал изучение питонадо этого накодил пару простых программ на си и хотел написать простую программу которая бы делала 2 скриншота, сравнивала и выводила ответ. Как мне проще всего это сделать? Пикрлейтед мое творчество и оно не работает. Через библиотеку дифф или через контрольную сумму, может как-то еще? Спасибо.
675 1835397
>>35383
Попиксельное сравнение интересует или ещё какой?
В прочем, не важно, юзай numpy.
image.png23 Кб, 371x414
676 1835404
>>35397
Попиксельное не требуется. Проще сделал, получил размер файла в байтах и сравнил.
677 1835477
А в чем суть и прикол кумитэ на кодворзе? В чем именно соревнование?
679 1836758
>>27113
просто
680 1844076
pip
681 1891911
>>30048

>Toptal


Наткнулся на сабреддит toptalent и меня осенило, что топтал == топталент.
Тред утонул или удален.
Это копия, сохраненная 1 апреля 2021 года.

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

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