24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы: https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации https://dumpz.org/ - можно постить листинги, не требует регистрации https://pastebin.com/ - для листингов, регистрация не обязательна https://goonlinetools.com/snapshot/share/ - для листингов, без регистрации, но с капчей
— Какие книги считаются лучшими? На слуху чаще всего Лутц, но там очень много воды. Ещё на слуху Марк Саммерфильд, Эл Свейгарт "Автоматизация рутинных задач с помощью python". Эти книги рекомендуют чаще всего, но книги довольно старые, а питон развивается.
— А как учить джангу? Нахожу только книги по джанге 1.х У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать даже для версий 1.x, т.к. принципы остаются теми же. Но лучше хотя бы с версии 2.0, слишком много мелких изменений в базе.
— Какие веб-фреймворки стоит учить в начале двадцатых? Что бы не говорили, Джанго живее всех живых и умирать не собирается (и Django REST Framework), очень перспективный асинхронный FastAPI, асинхронный AioHTTP. Flask ещё где-то используется, но уже legacy. Прочие фреймворки или у нас экзотика, или это вымирающее легаси как Торнадо.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать Вот, пожалуйста, та же самая программа, но частично переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? Ролик на американском языке про многопоточность и асинхронность, построение своего event loop с нуля, помогает понять, как устроена асинхронность внутри: https://www.youtube.com/watch?v=MCs5OvhV9S4
— Как можно без лишней возни ускорить программу на питоне 1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь. 2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
Какой шанс не вернуться в питон, изучая жс? Конечно, он каличный, но все эти годовые ES прям вправляют по живому. И я оценил его, делая юзерскрипты. Что-то мне не нравится - можно зделоть юзерскрипт четенько в разумных пределах. Но с ебаным фронтом свзяываться не хочу. Можно будет делать илитные парсерсы-автоматизации на фоне обсирающихся от любой клаудфлары хуёв или ололо-селениумов?
>>2686830 >Можно будет делать илитные парсерсы-автоматизации на фоне обсирающихся от любой клаудфлары хуёв или ололо-селениумов? На фрилансе каком-нибудь можно, где от тебя заказчик не требует кода но там миллиард индусов в конкурентах, а на фултайм шансы околонулевые.
Посоветуйте программу на андроид для обучения Python,Аноним03/05/23 Срд 15:47:20#14№2687401
Сап. Посоветуйте программу на андроид для обучения Python, наподобие тех, что раньше были у SoloLearn: обучение пошаговое, бесплатность. На сегодня они к сожалению скурвились, запихнув ненормальные количество рекламы и заблочив фичи.
Не подскажите. Вот есть в Пайтоне словарь (dict). Мне нужно неоднократно считать из него единое значение по единому индексу (сначала чтобы сравнить, затем чтобы изменить значение). Можно ли ввести какую-то ссылку на адрес памяти этого индекса со значением, чтобы не тратить ресурсы компа на множественное обращение к словарю с одним и тем же индексом? Типо низкоуровнево, как на плюсах.
Хз, в каком треде это спрашивать. Хочу написать распознавалку капч, но не пойму, как найти на картинке координаты начала ряда цифр. Может быть, контуры->np_ones, как на третьей картинке, чтобы найти пять примерно одинаковых пятен и идти от них? Есть ли способ попроще? Какую теорию почитать?
Хз, в каком треде это спрашивать. Хочу написать распознавалку капч, но не пойму, как найти на картинке координаты начала ряда цифр. Может быть, контуры->np_ones, как на третьей картинке, чтобы найти пять примерно одинаковых пятен и идти от них? Есть ли способ попроще? Какую теорию почитать?
>>2688604 У меня не раз было, что я ебал такие простые капчи, потом клиенты начинали абузить это и меняли на рекапчу, а там уже только обезьянки платные, лол.
>>2688603 Зависит от капчи. Но вообще в нашем нейронном цеху, мы сначала локализуем самые крайние сигнатуры. Делаем обрезку, какаем паддингом, если надо, ну и потом в несколько слоев идентифицируем вижуал токены разной сложности. В твоем случае проще просто локализовать все цифорки.
Я сейчас учусь подключаться к БД (выбрал postgresql) и немного запутался. Как я понял, я могу создать соединение с базой при помощи engine из либы sqlalchemy (причем разными способами):
>>2688628 sqlalchemy тебе нужна, если ты хочешь работать через алхимию, её систему моделей и т.п. А психа нужна, если ты хочешь сам SQL запросы руками формировать.>>2688628
>>2688648 >работать через алхимию, её систему моделей и т.п А можешь чуть подробнее объяснить, что там за преимущества в алхимии? Из того, что я знаю, можно писать sql-запросы не самостоятельно, а использовать ORM - писать питоновый код, который формирует sql-запрос. Это оно и есть?
>>2688657 З пункту гледжання простага праграміста SQL Alchemy - перашкода. Запыты пісаць складаней, зручней пісаць напрамкі. ORM дапамаге захоўваць аб'екты ў БД, каб усе палі адпавядалі.
З пункту гледжання ўладальніка прадукта SQL Alchemy надае перавагу, бо абмяжоўвае свабоду праграміста і дадае парадку у камандзе. Дазваляе мяняць праграмістаў і рухавік базы. Трывалы праект патрабуе кантролю версій БД. Такія прылады часта абапіраюцца на Аліхімію.
Калі ты сапраўды хочаш навучыцца працы з БД, пачынай без SQL Alchemy.
>>2688648 Что ты несешь нахуй? Зачем пытаться советовать, если ты сам нихуя не понимаешь? >>2688628 Открой документацию и почитай, у алхимии оч крутая дока https://docs.sqlalchemy.org/en/20/core/engines.html Если оч коротко, то движок занимается всей низкоуровневой магией по передаче твоего запроса в виде скуль строки в базу данных и получения результата из бд. Алхимия сверху накидывает верхнеуровневый способ взимодействия с движком, удобную систему сессий и так далее. А еще предлагает ОРМ функционалего использовать не обязательно >>2688657 Если сильно обобщать, то да, алхимия в том числе предоставляет и такие возможности
>>2688648 На самой справе psycopg - гэта драйвэр рухавіка базы дадзеных Postgres. Без яго Пітон наогул не зможа працаваць з ёй. SQL Alchemy ё Пітонавай бібліятэкай, таму таксама ўжывае psycopg.
>>2688678 чё за язiл у тобиеi ? Можно по-русски написать, используй гугл переводчик. Программист который не умеет в перевод онлайн. Где вы такие набираетесь-то??
Анончики, памогите пожалуйста. Почему у меня в IDE всё работает и файл создается если его нет в директории. А если прямо в питоне или на сервере запускаю то он пишет нет файла в директори. Почему он не создаёт его если его нет? with open(filename, "a", encoding="UTF-8") as f:
>>2688840 Разобрался. С путем нормально было. В pycharm почему то при любом режиме открытия файла он создавался, если его не существует, а тут оказывается нужно определенный выбрать
>>2689467 Замыкание это область видимости, позволяющая сохранять данные внутри функции. А возврат функции из функции это вообще самая обычная практика, ничего неочевидного в ней нету
>>2689643 Я не питонист, но вообще пишут что замыкание это способ привязать контекст (замкнуть окружение, пространство имен) к функции, для последующей удобной передачи туда-сюда.
То есть это не только область видимости, но сама функция, к которой биндится контекст.
>>2689688 > пишут что замыкание это способ привязать контекст Кто пишет, где пишет? Ультрапохуй, есть область видимости closure, отсюда название способа сохранения переменных внутри функции появилось. > для последующей удобной передачи туда-сюда Это вообще хуйня > То есть это не только область видимости, но сама функция, к которой биндится контекст. Да супер похуй, в данном вопросе нужно понимать что такое область видимости замыкания и научиться декораторы делать нормальные. Все
Примерно год назад Visual Studio начал по-мудацки не отображать имя функции, когда скрываешь её (теперь виден только "def"). После долгого перерыва зашёл в python, и вспомнил насколько это ужасно неудобно. Зачем они это сделали, и как это исправить?
Я обосрался с кодом. Не работает чёт... Прошу помощи у местных анонов, потому что ChatGPT только всё портит.
Код:
import numpy as np import matplotlib.pyplot as plt
# Константы G = 6.67430e-11 # Гравитационная постоянная Msun = 1.98847e30 # Масса Солнца
# Создание массива случайных позиций звезд N = 10000000 # Количество звезд Rmax = 30e3 # Максимальное расстояние от центра галактики в парсеках R = Rmaxnp.sqrt(np.random.rand(N)) theta = 2np.pinp.random.rand(N) x = Rnp.cos(theta) y = Rnp.sin(theta)
# Создание массива случайных скоростей звезд vmax = 1000 # Максимальная скорость в км/с v = vmaxnp.sqrt(np.random.rand(N))
# Моделирование движения галактики tmax = 50 # Время моделирования в миллион лет dt = 0.01 # Шаг по времени в миллион лет t = np.arange(0, tmax, dt) xgal = np.zeros_like(t) ygal = np.zeros_like(t) vgal = np.zeros_like(t)
for i in range(len(t)): # Расстояние от каждой звезды до центра галактики r = np.sqrt(x2 + y2)
# Суммирование гравитационных сил от всех звезд ax = -Gnp.sum(Msunx/r3) ay = -Gnp.sum(Msuny/r3)
# Добавление гравитационной силы от центральной массы ax -= G4Msunx[0]/r[0]3 ay -= G4Msuny[0]/r[0]3
# Интегрирование ускорения для получения скорости и позиции vx = vnp.cos(theta) + axdt vy = vnp.sin(theta) + aydt x += vxdt y += vydt
# Перенос центра координат в центр галактики x -= x[0] y -= y[0]
# Вычисление положения центра масс галактики xcm = np.sum(Msunx)/np.sum(Msun) ycm = np.sum(Msuny)/np.sum(Msun)
# Вычисление скорости и положения центра масс галактики vgal = np.sqrt(np.sum((v - np.sqrt(ax2 + ay2))2)/N)
# Вычисление радиуса и скорости вращения для каждой звезды r = np.sqrt(x2 + y2) vrot = np.sqrt(G*np.sum(Msun)/r)
# Вычисление средней скорости вращения для каждого радиуса rbin = np.linspace(0, Rmax, 100) vrot_mean = np.zeros_like(rbin) for i in range(len(rbin)-1): idx = np.where((r >= rbin) & (r < rbin[i+1]))[0] vrot_mean = np.mean(vrot[idx])
>>2686473 (OP) Анон, нужен хелп с меня как вегда У себя в коде я юзаю предикт с помощью yolo. Оно в консоль мне пишет текст по прогрессу. Мне надо как-то этот текст красный спарсить и сохранить в переменную/файл. Я находил инфу как парсить если ты например запустил отдельным процессом через subprocess эту хуйню типа как через cli только в коде. У меня же оно просто как метод вызывается, и надо обязательно чтобы было как метод. При этом это не принт а отдельный процесс всетаки, иначе можно было бы поймать через buffer = StringIO() sys.stdout = buffer print_output = buffer.getvalue()
>>2691612 Хуйня какая-то, которая если и взлетит, то на манер кофескрипта. Найдутся извраты, но их будет недостаточно для поддержания популярности и всё естественно отомрёт. Алсо, название неудачное для поиска.
>>2690846 блять, она возвращает эти значения не скажу как в восьмерке, но в yolo 5 я вытаскивал значение и прям на видео рисовал кол-во найденных объектов
>>2691623 Так это не кофескрипт, а по сути суперсет Пистона, как Тайпскрипт для ЖСа. Только намного более производительный.
>>2691652 Ну хз. Судя по тому, как закон Мура потихоньку подыхает, о производительности написанного всё же начинают задумываться. Mojo тому подтверждение. Тем более, что это тот же Пистон, удобность кода приблизительно такая же.
>>2691580 >dropmefiles Пукнутый что ли?? С него половина провов не качает. И нахуя зип? Бля, вот пастебины . Есть аж с подсветкой синтаксиса. Как раз для передачи кода зделоно, бля.
А чем вообще лучше такой стиль программирования def sum(): ----a=3 ----b=3 ----return a+b print(sum())
class Class: ----def __init__(self, h): --------self.h=h dec=Class('hellofell111000o') print(dec.h.encode('utf-16')) Из одних только функций
Чем такой? a=5 b=5 print(a+b)
h='hellofell111000o' print(h.encode('utf-16')) Из одних только переменных.
Нужно ли постоянно все в функции оборачивать или можно тупо и переменными обойтись? Я могу и так и так, но вроде слышал, что преимущественно функциями лучше.
>>2691726 Если надобности нету, то не нужно. Не слушай профнепригодных додиков, они даже не понимают о чём идёт речь >>2691758 > Функции и классы можно использовать повторно, портянку кода в файле нет И что? В вопросе про повторное использование речи не шло. Все вне мейна в функции оборачивают только потому, что весь код в файле выполняется при импорте > Если простенький скрипт для себя пишешь можешь как угодно писать. Не неси хуйни >>2691777 А если функций больше 100, что происходит в любом коде? Читай выше додик
>>2691889 У тебя Pycharm создает, насколько помню, отдельное виртуальное окружение для проекта, а ты устанавливаешь пакет к своему глобальному интерпретатору. Посмотри в самом pycharm'e на вкладке packages, если ли там нужный пакет и если нет, то во вкладке terminal с командой "pip install ..." установишь его
>>2691697 Где ты зип видишь? У меня там чисто файл .py. Мог бы просто скопировать всё это и вставить в VS Code. Там всё строчка в строчку. В чём проблема?
>>2691889 Каб працаваць у кансолі трэба актывізаваць там віртуальнае асяроддзе. Штораз калі адкрываеш новую кансоль, выконвай загад: venv\Scripts\activate дзе venv - шлях да віртуальнага асяроддзя гэтага праекту.
>>2691871 >они даже не понимают о чём идёт речь Честно, я сам не до конца понимаю >функции оборачивают только потому, что весь код в файле выполняется при импорте Т.е. в функцию оборачивают только для того, чтобы можно было импортировать только саму функцию, вместо импорта файла целиком, я правильно понимаю?
>>2691651 чел я вкурсе что возвращает, это не то что мне нужно. Я хотел парсить этот выдвод с консоли и перекидывать их в другое место налету, но это уже не надо
>>2692031 Поставь plt.plot(rbin, vrot_mean) — plt.plot() не может начертить точки, если длины списков X координат и Y координат не совпадают. Ну и координаты у тебя сплошь NaN получились в вычислениях. Рисуется пустой график.
>>2691874 Окей, если хочешь душнить, то в питоне и переменных нету >>2691972 > Честно, я сам не до конца понимаю Ну так ты задаешь вопрос, а не отвечаешь на него лол > Т.е. в функцию оборачивают только для того, чтобы можно было импортировать только саму функцию, вместо импорта файла целиком, я правильно понимаю? Ты не можешь импортировать файл не целиком. А импортировав однажды и исполнив в процессе, не можешь заставить выполнить его ещё раз. Короче, забей и пиши как получится. Программирование про практику, а не про теорию. Если ты не столкнулся с какой-то проблемой, то и инструмент ее решения будет непонятен. Так что как только программа разрастется у тебя и захочешь распилить на модули, чтобы хоть как-то ее понимать, то сразу все поймёшь
>>2692068 >в питоне и переменных нету Каво? В питоне есть переменные, просто их объявлять не нужно. >Ты не можешь импортировать файл не целиком. А импортировав однажды и исполнив в процессе, не можешь заставить выполнить его ещё раз Я это знаю, это базовые вещи. Я спрашивал про то, какой вариант программирования лучше, но уже понял, что писать можно как угодно, пока не возникнет определенная потребность. >Так что как только программа разрастется у тебя и захочешь распилить на модули, чтобы хоть как-то ее понимать, то сразу все поймёшь Я тебя понял.
>>2692122 > Каво? Таво, в питоне есть имена, которые для удобства называют переменными. https://docs.python.org/3/tutorial/classes.html#a-word-about-names-and-objects > В питоне есть переменные, просто их объявлять не нужно Да ты что, и на какую область памяти они указывают, можешь рассказать? Имена в питоне указывают на сишную структуру, которая уже внутри себя содержит переменную, которая указывает на область в памяти. Ну и объявлять переменные нужно, хз с чего ты решил, что это делать не надо. Да, объявление происходит сразу с присваиванием значения, так и что? > Я это знаю, это базовые вещи. Я спрашивал про то, какой вариант программирования лучше, но уже понял, что писать можно как угодно, пока не возникнет определенная потребность Да, ты абсолютно прав
Допустим, у меня есть много фунций в файлике, они разные, но некоторые можно сгруппировать по логике. Как это сделать корректно? Вынести их по разным файлам? Сделать классы с названием описывающим общую логику типа SomethingResolver и все обернуть в @classmethod/@staticmethod?
>>2692734 > Допустим, у меня есть много фунций в файлике Много это сколько? Используют ли друг друга? > они разные, но некоторые можно сгруппировать по логике. > Как это сделать корректно?Вынести их по разным файлам? Да > Сделать классы с названием описывающим общую логику типа SomethingResolver и все обернуть в @classmethod/@staticmethod? Нет Но в вакууме это хуйня все
>>2692744 >Много это сколько? Используют ли друг друга? Штук 20, Некоторые да, некоторые нет, в целом относятся к одной вещи, но их можно сгруппировать еще сильнее
>>2692750 Если 20 штук и ещё используют друг друга, то забей хуй. Если очень хочется и свербит сделать пиздую архитектуру, то почитай про депенденси инджекшн и перепиши код так, чтобы у тебя функции были спрятаны под интерфейс
>>2692750 Ну и да, кстати, классметод и статикметод не надо использовать как штуку для хранения функций в классах. Они не для этого предназначены, используй обычные методы, это намного лучше
>>2694236 Мне надо расшарить объект клиента mqtt Paho между другими функциями (т.е. сделать его доступным из любого места кода), чтобы отправлять сообщения когда мне надо, а не только в обработчиках, типа on_message, on_connect, on_publish.
Почему говорят, что с питоном хорошо работает именно постгря? В чем вариант с выбором мускуля, марии, кликхауса и кучих других субд (при условии, что для них есть драйвер и либка в питоне) хуже постгри?
>>2694543 Почитал первую попавшуюся статью на хабре. В целом понял, что это, но не понял, в чем заключается преимущество. Выглядит так, что это какой-то супер надежный способ передачи данных, но звучит как оверкилл для питона. Там, где используются такие надежные и безопасные протоколы, уже будет не питон, а какая-нибудь джава. Разве нет?
>>2694529 MySQL працуе зь Пітонам ідэальна. Але большасьць карысных бібліятэк пісаліся для Postgres. Таму, калі ты ня ведаеш наперад якія бібліятэкі будзеш ужываць, Postgres ё найбяспьечным выбарам.
на хх какие-то сумасшедшие 11к вакух на пихоне, больше чем жс упоминается. для чего пихон у нас используют? если ввести например python django вакух даж меньше чем php laravel... я не понимаю, че тогда там такое нужно.
>>2694588 Обычные дата-макаки (шкварные петухи ниже полуджунов-полупокеров) и тестеры для дата-макак (рангом ещё пониже). В ДС/МЛ не просто так загнали огромную массу народа. Размечать данные и подбирать коэффициенты — это тупейшая рутинная работа, сравнимая со стоянием у станка, упаковкой или поломойкой. Кому-то надо её делать. В огромнейших масштабах — кто хоть раз пытался собрать датасет под свою нейроночку, тот поймёт. Вот так много народа и заталкивают пропагандой всякой фантастической реальности, рассказами про передок науки, про прорывы и пролапсы, светлое будущее и прочее говно для подростков.
Парни, нубский вопрос от нуба. Возможно, платина нубских вопросов.
Слева код работает как я ожидаю, справа - нет. Различие отметил на скринах, в одной строчке кода. Слева у меня прибавляется к переменной по 1 каждое прохождение цикла и цикл заканчивается, справа - все время 1 и цикл бесконечный. Я не поленился, залез в гугл и прочитал статью о различии между a = a + b и a += b. И оно есть, но там написано, что это актуально для mutable типов, типа списков, что в одном случае создается новый объект с новым поинтером, в другом случае перезаписывается старый объект по изначальному поинтеру. Но блять, у меня-то не mutable тип, у меня int тип тут данных у переменной. Так что разницы нет между a = a + b и a += b.
То есть почему-то каждый цикл у меня справа когда, то похоже тупо присваивается переменной значение 1. А какого хуя, она же вне цикла объявлена, scope'ов тут никаких не должно быть, функций тут нет. То есть словно нет разницы между a = 1 и a += 1 тогда в данном случае. Какого хуя?!
Я понимаю, что не понимаю что-то крайне очевидное, но что
Сука блять как же вы заебали, да съебите уже нахуй из кодинга долбаебы. Если вас реально можно было заменить бойлерплейтом, то нахуй вы здесь не нужны.
Могу ли я считать себя фуллстак-разрабом, если ебашу сайты на SSR с небольшим добавлением жс? Или все-таки фуллстак - это про полное разделение фронта и дева?
>>2696445 Ого, действительно. Проверил и все так и работает. Первый раз на дваче что-то новое узнал. Ну в любом случае, что через pass, что через слип это хуйни. Потоки лучше хранить явно и явно же их ожидатьс тасками вообще пиздец, если из явно не хранить, то их питон может удалить банально
Почаны, есть env переменные в директории проекта: login, password. При дебаге проекта всё хорошо, но вот при тестировании меня окружение посылает к чертям с ошибкой AttributeError, говоря о том, что атрибуты None. Конкретнее: - в директории tests имеется test.py - тестирую через pytest tests/test.py Если я перед pytest явно экспортирую в баш переменные export login=user \ export password=123, то всё хорошо, но мне хотелось бы, чтобы при pytest он принимал .env файл с уже объявленными переменными. Куда смотреть, помогите, пожалуйста. ну и капча абу пидор неудивительно что постинг нулевой
>>2686473 (OP) Аноны, какой самый простой и быстрый способ округлять числа с плавающей запятой арифметически. Т.е. чтобы .5 > всегда округлялось до следующего числа. Нужен самый быстрый и метод и желательно из встроенных функций.
Охуеваю конечно питон это же скриптовый язык, а округление в нем не человекопонятное а ебанутое, для каких то задач. Обычное арифметическое округдение куда-то в жопу засунули. А должно быть наоборот - это же логически следует из самой философии питухона, по умолчанию должно быть обычное арифметическое округление, а коуму надо пусть лезет в дебри и делает другое.
>>2696877 >чтобы .5 > всегда округлялось до следующего числа ceil 1.1 округляет до 2, а -1.1 округляет до 1
И вот просто интересно, нахуя ты это пишешь. Ты не знаешь как ceil работает или не знаешь что такое арифметическое\школьное\человекопонятное округление? Это округление с половины к следующему целому в сторону от нуля.
>>2696879 В английском это округление называется ещё half up в питоне оно доступно через decimal, но это невероятно медленный метод в десятки раз медленнее обычного раунда например.
>Арифметическое округление - это когда в сторону большего А разве в питухоне на так функцией round? Но не важно. Это ретардное округление. Нормальное округление - округление до четного, вен и даубт.
>>2697112 >округление до четного Это нишевое округление, нужное для всяких долгих вычислений. Если ты такие делаешь, то полностью должен понимать что у тебя и зачем. А питухон это в первую очередь скриптовый язык для макак, для простых гречневых людей, для школьников, для интерфейсов, для вот этого всего. По всей своей концепции там округление должно быть человеческое. Когда ты в интернет магазине сумму округляешь, или время - ты это всё делаешь именно half up, как в школе учили, а не до четного. Так и должно быть по-умолчанию.
В любом случае какие в питоне есть варианты для этого? Пока использую decimal, но он тормозной.
>>2697141 Языки программирования придуманы чтобы складывать числа сложно, поэтому не вижу проблемы. >Пока использую decimal, но он тормозной. Никаких вменяемых. Можно через формат с последующим конвертом во флоат, но это будет еще медленнее. Можешь написать свое округление на ситоне. Последний вариант, кстати, вероятно то, что тебе зайдет. Когда нужно было вычислять разные функции быстро, но не обязательно сверхточно, основные операции сделал сайтоновские и проблема решилась.
>>2697174 Питон даже округлить число не может по человечески. И даже могучая нейросеть какое-то говно советует, которое на 1.5 уже обсирается с порога. Дожили.
>>2697256 Поспрашивай ещё как по-человечески округлять. И передай ему ещё что с этим примером >>2697174 он обосрался, тупой тостер, такому боеголовками управлять не доверят.
>>2697292 Короче, проще написать самому то что нужно, вместо того чтобы ебаться с правильно поставленным запросом. Только если напишешь сам это будет 100%, а если будешь выёбываться и объяснять что нужно, то ещё не факт что получишь результат. И зачем всё это нужно? Вы реально копируете данные из одного файла в другой и получаете свои наносеки?
>>2697302 но ведь напечатать пол экрана кода очевидно не проще, чем написать десяток слов. а правильно ставить задачу это хороший скилл, и его нужно качать. как раньше был полезен скилл гугления
>>2697304 Код не надо печатать, можно копипастить и изменять. А вот правильно ставить задачу может занять пол-экрана. Ну ты понял мою претензию: зачем мне печатать тупые запросы к ИИ, если я могу сразу напечатать код? Как выяснить что быстрее и оптимальнее?
>>2697304 Скилл действительно хороший. Это просто суперскилл, я им так и не овладел. Краткость - сестра таланта. Лаконичиность. Тоже надо понимать что это относится только к людям. Люди должны понять лаконичность.
>>2698438 Игры на нём максимально тормозные. Для игорь учи экосистему (Андроид, Эпл). Один сейчас не вытянешь, разве что родишь ультраидею. зайди на какой-нибудь гамез.яндекс.ру — посмотри, что говноигры клепаются тысячами одним только яндексом. А в мире этих игрушек на два-три часа игры выходит миллионы. А ты над такой будешь ебаться год—два в одиночку. Чтобы пройти за два часа.
>>2698446 >Игры на нём максимально тормозные От чего тормоза? Я хочу сделать градострой с элементами экономики и общественного контроля. Cities: Skylines, один из ближайших примеров, теряет производительность от большого количества жителей, потому-что каждый из них материален и регулярно взаимодействует с частями твоего города, строит маршрут, меняет свою статистику.
>Для игорь учи экосистему (Андроид, Эпл) Естественно, я буду писать десктопную игру. И естественно не для заработка, а для себя. На винде экосистема это uwp, она ультра-тормозная. Или WinAPI, но это отдельный язык который нигде больше не нужен, и не для игр он.
>зайди на какой-нибудь гамез.яндекс.ру — посмотри, что говноигры клепаются тысячами одним только яндексом. А в мире этих игрушек на два-три часа игры выходит миллионы Именно поэтому я не собираюсь зарабатывать на геймдеве, но собираюсь зарабатывать кодингом, а полученные навыки применить для создания своей любимой игры.
>>2698438 >Если я начну его учить, то что меня ждёт?
всё будешь делать с нуля и решать проблемы движка хочешь без движка - возьми либу какую-нибудь. хочешь питоноподобное - учи годот. хочешь делать игры - юнити. хочешь пердолить свой бессмысленный говно-движок - добро пожаловать!
>>2698668 >всё будешь делать с нуля и решать проблемы движка "Всё" это что? Для базовых функций есть библиотеки, бери, комбинируй, добавь скрипты под нужные задачи и готово.
>>2698438 Неправильно написал. Зарабатывать деньги буду обычным кодингом, не геймдевом. Геймдев для души, под свои хотелки.
Почему многие считают, что Python является плохим языком программирования, учитывая его низкую производительность, непрактичность при разработке крупных проектов и медленную скорость исполнения?
>>2698564 >От чего тормоза? От того, что это не компилируемый язык, а интерпретируемый скрипт. По сути. Быстрые модули в нём написаны на C/C++.
>теряет производительность от большого количества жителей Питон тебе памяти сожрёт миллиард гигабайт. В нём управление памятью не очень. Буквально полтора инструмента, причём один из низ — сборщик мусора gc — работает автоматически и без вызовов.
На Питоне, бывает, пишут прототипы, а потом переписывают на быстром языке.
>>2699197 >Да, гои, я сделал ТОП (Не шутка) игру, но тут я понял, что пользователь у которого не установлено JRE просто не сможет в неё поиграть. Это ГГ.
>Да, гои, я сделал ТОП (Не шутка) игру, но тут я понял, что пользователь у которого не установлен NET Framework просто не сможет в неё поиграть. Это ГГ.
>Да, гои, я сделал ТОП (Не шутка) игру, но тут я понял, что пользователь у которого не установлен Microsoft Visual C++ 2015 Redistributable просто не сможет в неё поиграть. Это ГГ.
Сделал такую хрень в боте, таймер на выключение компа subprocess.Popen(f"shutdown /s /t {int(match.group(1))*60}") сброс таймера os.system("shutdown /a")
Простой команды узнать сколько осталось минут до выключения я так понял нет? Как считаете лучше реализовать, при запуске шатдауна сохранять время в переменную и вычитать его из актуального времени при запросе, как-то так?
>>2700145 Сама концепция "вката" порочна. Чтобы хотя бы иметь возможность стать погромистом - нужно изначально любить ковыряться во всем этом говне. Хорошая аналогия с профессией писателя. Ты можешь например вкатиться в писатели и написать рассказ про попаданцев, но если ты всю жизнь не увлекался писательством, с детства не сочинял хуйню, не записывал её в стол т.е. не любишь это дело, а пишешь просто чтобы заработать - то надолго тебя не хватит и качество твоих фанфиков будет ниже нуля. А через год ты вообще взвоешь.
Вкатывайся если тебе нравится сутками напролет писать и придумывать решения всяким задачам. позабыв про сон и еду.
>>2700154 Отчасти чаю, высираю такое же, но как раз с детства дрочил бейсики с паскалями, потом компьютерный класс с уклоном в айти - один день учились в универе, потом вуз.
В ойти то вкатываюсь, то выкатываюсь, сначала нравится дрочиться с решением задачки, а потом на месяцы похуизм. Потом гото1. Ебанутый настрой.
Братья и сестры, какое давление создает объем воды в 900 л., помещенный на высоту 3 метров от земли в трубке диаметром 25 мм., находящейся на уровне 1 метр от земли? Подскажите формулу расчета, пожалуйста.
>>2700154 >Чтобы хотя бы иметь возможность стать погромистом Нет, достаточно выдрочить паттерны, как в любом ремесле. Да, очень хорошим погромистом не стать, но в какой спецухе еще можно быть абсолютной посредственностью и лутать 150к через пару лет веслания.
>>2700118 >int(match.group(1))*60 Ёбнутый, что ли? Нельзя просто «60» написать?
>>2700118 >Как считаете лучше реализовать, при запуске шатдауна сохранять время в переменную и вычитать его из актуального времени при запросе, как-то так? Именно так.
>>2700509 Ну это однострочечники, обычно только начинающие учить Питон выделываются. тут код небольшой, всё понятно, но если будешь это в прод пихать, тебя могут силой (анально) принудить писать просто и понятно.
>>2700516 Это не просто однострочечники - это максимально дегенеративные. Скопирую свой высер из МВП треда: >А почему она это просто текстом не написала? Ну или на худой конец словарик не заюзала.. >Все кристально понятно. >Правда лишние скобки вокруг компрехеншонов для трех примеров - плевать, но как только у сисика-писика будет итерабль на хотя бы пару тысяч элементов, квадратные скобки вокруг выражения прилично удлинят процесс. >С этой нереальной лямбды (инфо) проигрываю в голосярий. >Я не знаю, этот пример можно долго разбирать. В своей дегенеративности он хорош.
>>2700509 На первом пике неправы оба постера. Аниме - не права в том что иронизирует, перед ним на самом деле нет ничего непонятного. Поехавшая селедка - не права в том, что насрала бесполезной хуетой. Т.е. она просто написала строку которая выводит "кудах я виликая праграмист_ка" и для этого нагородила выражений без смысла. Т.е. по её мнению вот эта одна строчка это какой-то высокий уровень кодинга, которым она выебывается публично. Вот это обстоятельство характеризует её с крайне негативной стороны - её уровень низок и она говно как личность, с таким человеком ты дел иметь не захочешь никогда.
Аноны, для функций внутри метода есть какие-нибудь ПЕП8 правила или просто правила хорошего написания таких функций, кроме конечно того, что такие функции вообше лучше не делать.
>>2701022 Хорошее правило писать их как можно меньше. Так как дебажить сложно, зачастую не теряется ни капли контекста если их вынести за пределы метода и сделать приватными методами в классе и так дальше. Особенно это касается тех случаев, когда функция никак не зависит от подаваемых аргументов или стейта. Если все-таки ситуация такая, что надо определять, то делай разбивку так, чтобы она возвращала довольно простой объект. У меня на проекте стоял линтер, который контролировал, чтобы выходная аннотация не было слишком сложной. В идеале это должен быть объект с низкой максимальной глубиной доступа. Если ты пытаешься просто разбить метод на смысловые блоки, то подумай о выносе логики за пределы функции, либо делай функции не очень длинными. Строк 10.
>>2701022 А что ты будешь делать с этой функцией дальше, зачем она тебе? Прямо внутри метода не знаю, внутри функций привычная вещь, в декораторах например по-определению есть.
На самом деле надо смотреть на архитектуру того, что ты делаешь. Может это не нужно вот совсем, там другие паттерны для этого используются.
>>2697244 Надо ещё не забывать, что по правилам 2.5 округляется к 3, а 3.5 к четырём. В общем в случае, когда ровно половина, округление идёт к чётному.
И это не извращение, а довольно разумная вещь.
реализовывать же такое самому как-то тупо, когда есть уже встроенная функция round(). Просто вот даже пробовать неохота, да ещё чтобы оптимально.
>>2701532 Ты в штаны насрал, советчик. Раунд округляет к четному, а анону надо к большему от нуля, о чем и была речь. Школьное человекопонятное округление, которое используется в быту, а значит и нужно для любых приложений и интерфейсов в питоне же доступно только в невероятно тормозной реализации через дасимал. Так что написать свою функцию округления должен каждый питухонец, а если ты этого ещё не делал значит ты нуб.
Когда мы используем ProcessPoolExecutor, то отправляемые функции не кешируются? А то у меня есть подозрение, что гораздо эффективнее юзать несколько процессов с while True внутри, которые будет слушать очередь и выполнять заранее предопределенную логику.
>>2700509 Мне понятно, но это хуйня. Можно вообще на одних байтах писать, но потом сам же будешь во всем этом говне ковыряться если возникнет ошибка, а другой вызвавшийся помочь программист даже читать не захочет.
>>2686473 (OP) Саппитонач, numpy.loadtxt отказывается читать больше 750 строк. Maxrows не выставлял, в документации написано что по умолчанию читает всё
>>2701834 numpy.loadtxt по умолчанию должен читать все строки из файла, поэтому ограничение в 750 строк выглядит неожиданным. Однако, возможно, есть другие факторы, которые могут повлиять на это поведение.
Проверьте следующие вещи:
Убедитесь, что файл, который вы пытаетесь прочитать, содержит больше 750 строк. Откройте файл в текстовом редакторе или проверьте его размер.
Убедитесь, что формат файла соответствует ожидаемому формату numpy.loadtxt. Эта функция предназначена для чтения текстовых файлов, в которых значения разделены пробелами, табуляцией или другим разделителем. Если файл использует другой формат или разделитель, вам может потребоваться использовать другую функцию или настроить параметры numpy.loadtxt соответствующим образом.
Проверьте, нет ли в файле строк, содержащих неожиданные символы или значения. Это может привести к проблемам при чтении с помощью numpy.loadtxt. Если есть такие строки, попробуйте удалить или пропустить их, чтобы проверить, как это повлияет на чтение файла.
Если проблема не решается, попробуйте предоставить больше информации о вашем коде и содержимом файла, чтобы я мог помочь вам более точно.
>>2701549 >Так что написать свою функцию округления должен каждый питухонец, а если ты этого ещё не делал значит ты нуб. бля, я нуб. реально за 10+ лет не приходилось писать конструкцию вида int(x + 0.5)
В чём проблема, ребяты, не могу взять в толк. код: https://onlinegdb.com/pNd0P_Jet Вкратце: создаём подключение, создаём кластер и коллекцию в монго. 1 тест: Пытаемся заносить значение в коллекцию - тест выполняется вполне себе хорошо. 2 тест: Проверяем, есть ли коллекция 'test_collection' во временной бд - AssertionError, т.к. на момент выполнения теста в бд нет ни одной коллекции. зы request.addfinalizer(finally_drop) на строке 26 подразумевает, что функция удаления коллекции должна исполняться исключительно после завершения тестов, но у меня подозрение, что функция отрабатывает после первого теста, но это неточно. Помогите разобраться, Аллахом молю.
Ребят кто может подсказать. Кароче я начал делать приложение с GUI на PyQT5. Сделал, кнопочки тыкаются скрипт выполняется. Меня спросили а какая у тебя архитектура приложения? А я вообще не понимаю, а реально какая она? У меня суть проги в том что загружаешь туда картинку и можно ей название дать и потом по названию найти. Там типа есть класс пикчи, который я крафтил в FileReader, передавал двум другим абобусам, а они это выводили на экран. Там json в оперативке. Потом можно скачать архив с картинками и там будет Json с ссылками на эти картинки чтобы потом опять можно было их загрузить в прогу. И вот какая у меня архитектура? БД ведь по сути нет, Json не БД же? Помогите новичку разобраться.
>>2702390 Верагодна чакалі тое што ты кажаш, але больш абстрактнымі тэрмінамі, кшталту MVC/MVP/MVVM. Сутнасць у тым каб падзяліць прыладу на лёгічныя часткі: калі змяняеш від, то не чапаеш дадзеныя.
У цябе json - мадель, а від там, дзе from PyQT5 import ...
>>2702586 Ну кажется суть уловил, но до конца так и не понял. Всё таки что за архитектура тогда получается? MVC/MVP/MVVM. Я читал об архитектуре и везде говорят, что она есть только у средних и крупных проектов, я ожидал что мой проект средний, а получается он маленький из-за отсутствия БД (если мы не считаем Json БД). Вот я и не могу понять, а есть ли вообще архитектура в моём случае?
Какой сейчас самый актуальный метод для прохождения всяких жс челленджей от cdn, которые без капчи? Помню, были какие-то патченные хромиумы, которые не палились.
>>2702787 Калі ты загадзя ня ведаў пра гэтыя канцэпты й не імкнуўся рэалізаваць дакладную архітэктуру, твая прылада не адпавядае ніводнай архітэктуры. Наступным разам для QT абірай архітэктуру MVP.
>>2703751 figure(dpi=9000) Ну и не забудь сделать фигсайз таким, что сможет выдержать всю мощь твоего dpi. figsize=(13.333, 7.5), dpi=360 Обычно самое то.
>>2704159 В 90-е питона толком не было. У меня в вузеке кореш устроился на только-только вышедшем питоне писать какую-то хуиту бухгалтерскую, за что получил погоняло на курсе соответствующее. Это 97-99 года. Затем он переполз на Джаву, вроде, а потом мы потерялись.
>>2704182 >калоязык для чумных фкриков из микрокоммьюнити Сейчас только размер коммьюнити поменялся, но если учитывать только IQ > 80, то, да, остался прежним, всё так и посейчас.
>>2704182 >Это был калоязык для чумных фкриков из микрокоммьюнити Типа раста? >Вторая ветка (2.0) вышла в 2000 году в конце. Ну ты же утверждал не то, что Питон стал языком для создания телеграм-ботов в последние годы, а то, что он им был ВСЕГДА, то есть и в 90-е годы, когда он был калоязыком. для чумных фкриков из микрокоммьюнити
>>2704168 Мне кажется до середины нулевых не было питона как такового, скорее использовали перл-пхп из скриптовых. Просто тренда такого не было, реально просто для чумных фриков. К концу нулевых он взлетел
Файлы то открываются, то не открываются. Вчера всё работало нормально. Сегодня файлы перестали открываться. Выдаёт такие ошибки: либо invalid argument, либо unexpected character (.py). Из нескольких вариантов решения проблемы, найденных в гугле, помог только один: переместить открываемый файл чисто в диск C:.
Но затем я провёл эксперимент (пикрелейтед) и охуел: Сделал три копии этого файла (print.py): • один поместил на директорию диска C: • второй — в папку с буквенным названием (abc) • третий — в папку с цифровым названием (1)
Результат: открывается только первый файл. Ни один файл, находящийся в какой-либо подпапке диска C:, сегодня не открывается (вчера открывался, и после этого никто за компьютером не работал и никаких других манипуляций с ним не производил).
Что за херня? Они будут открываться, как хотят, по настроению? Есть ли в этом поведении интерпретатора какой-то принцип? В чём он состоит?
>>2704223 >>2704231 Это тот шизофреник со справкой, который от треда ТРЕБОВАЛ, чтобы модули с кучей точек в названии у него импортировались БЫСТРАБЛЯ, потому что ЕМУ так удобнее.
>>2704260 Предлагаю судить о языке по его коммьюнити, а не по длине твоего членика. Даже не по синтаксису. А именно по людям, которые им пользуются как инструментом.
Что это за люди? Каков их уровень в среднем? Какие задачи они выполняют (а не инструмент, которым они эти задачи выполняют, и не какие задачи они МОГУТ выполнять этим инструментом)? Какие задачи выполняли, какие задачи перестали выполнять, куда движется тренд задач? В чём именно суть их задач? Не задач языка, а задач людей, использующих язык, повторюсь.
>>2704270 Задачи на си люди решают скорее вопреки, а не благодаря. Переход давно назрел, но приличной замены не наблюдается. Плюс слишком много возни с перекатом наличной кодовой базы. Возможно, с развитием гопоты это решится.
>>2704270 А какая разница? Если задачи востребованы и за них платят деньги - значит задачи пиздатые. Вот джаваскриптизеры вообще формы красят - значит ли это, что они не программисты? Нет, не значит, потому что красить формы тоже важная задача.
>>2704274 Дык, наличие библиотек заставляет пользовать ещё Фортран, Аду и Кобол, это известная тема.
Насчёт Си и перехода... В Питоне есть несколько вещей, которые Опоссум не делал ПРИНЦИПИАЛЬНО (типа тернарного оператора, case и так далее). И я вот этой хуйни с принципиальностью не понимаю. Хорошо, что его выкинули на почётную должность — есть шанс на развитие языка. Но не ранее, чем разберутся с управлением памятью и указателями.
>>2704275 >Вот джаваскриптизеры вообще формы красят - значит ли это, что они не программисты? Да. Они кодеры. Не программисты. Это как датасайентист-разметчик и математик нейросетей — две кардинально разные профессии, два разных образования, земля и небо, зарплата может отличаться в 1000 раз, но оба, типа, DS/ML.
>>2704275 >Нет, не значит, потому что красить формы тоже важная задача. Не спорю.
А теперь вернёмся к Питону. Что за задачи сейчас на нём решаются и как выглядит их классификация?
>>2704280 Ну так то case уже впилили. А так, у меня сложилось впечатление, что он очень болезненно относился к расширению синтаксиса, наличные кейворды обвешивали дополнительным функционалом в зависимости от контекста. И это при том, что был принципиально несовестимый переход на 3, там можно было развернуться и дохуя поломать и добавить-исправить, а заметных изменений минимум. Хотя с ленивизацией наличных средств удачно получилось, батя грит малацца.
>>2704287 >А теперь вернёмся к Питону. Что за задачи сейчас на нём решаются и как выглядит их классификация? Делали Б2Б беттинговую платформу, сейчас перешел в компанию, которая делает биллинг, еще было предложение в место, где систему мониторинга и управления для складских роботов пилят. мимо
>>2704287 Это замена перла. Решает примерно те же задачи и можно пилить говновеб, если уж совсем припрёт. Плюс, для него насрали либ учёных, чтобы не заморачиваться с изучениями языка. Сделал полтора хелловорлда и можно идти хуярить свои науки.
>>2704287 >Да. Они кодеры. Не программисты. Если это принципиально разные профессии, которые так же легко разграничить, как, например, профессию электрика и сантехника, то дай четкое определение для обеих профессий. В чем принципиальное отличие, какой круг задач решают, какой теоретический базис используют. Иначе это просто словоблудие для оправдание гейткиперства.
>>2704287 >А теперь вернёмся к Питону. Что за задачи сейчас на нём решаются и как выглядит их классификация? Ты лучше сначала сам сформулируй, какие задачи стоят перед ИТ в целом, классифицируй их как-нибудь. А уж там можно будет говорить, в каких питон работает, а в каких нет.
>>2705136 >Есть масса ниш, где питон в лидирующих позициях Ну да. Блокноты статистиков и анальщиков, а также, скрипт для домашнего применения по всякой текущей рутине.
>>2686473 (OP) Люди добрые подскажите пожалуйста. Мне нужно написать простенький код, который создаёт ГУИ, что бы можно было редактировать файлы экселя. Я хочу замутить привязку сочетаний клавиш к командам, что бы ими можно было пользоваться, даже если окно ГУИ не активно(не главное). Но для того, что бы иметь возможность использовать сочетания клавиш в таком режиме, мне нужно запустить код от имени администратора. И чёта я не могу понять как сделать мой mainloop(), который бы работал в функции, которая запускает код от имени администратора. В данный момент моя проблема такая - у меня всплывает окно о том, хочу ли я что бы питон вносил изменения в систему, а потом код сразу завершается. Я не могу понять, ЧЯДНТ. Памагите!
>>2705570 Но это в любом случае получается 2 разных процесса фактически. Как делать единую точку управления? Если я запустил сервер - я хочу и процесс дампа запустить. Если я остановил - я хочу и процесс остановить. Я хочу, чтобы они работали с одной бд, и настройки задавались в одном месте. Как такое делается?
Я себе голову сломал. Короче, есть задание, написать функцию которая возвращает процентную ставку, депозит и проценты. Я выполнил это на изи, минут за 15, но решил усложнить себе жизнь и попытался сделать так, чтобы выводило "год, года, лет", но у меня не получается сделать правильно. Типо, вместо "за 10 лет" выводит "за 10 год". Я знаю почему оно так выводит, но не могу подобрать правильный алгоритм. Может кто подскажет?
>>2705773 Потому что ты проверяешь сначала 1 в любом месте. Там надо endswith или как там. Лучше просто сдеать years % 10 == 1 Алсо, можно искать прямо в рендже, т.е. years in range(5, 21). И сделай нормальные отступы, что это за каша?
>>2705773 Не занимайся этим. Форматирование оставь фронту. Правильнее всего подключить либу, которая правильно умеет склонять слова, а не самому костылять.
Фух, все-таки разъебался. >>2705811 Не, вот правильный способ. Остаток от деления искомого числа на 10 всегда возвращает последнее число в последовательности этого числа. Так шо, спасибо за наводочку.
>>2705643 Библиотека выше буквально то, что тебе нужно, запускаешь из мейн треда указывая необходимые аргументы, можешь удалять таску когда угодно. Или сам запускаешь отдельный процесс и ставишь time.sleep на сутки
Как сделать так, чтобы приложение запускалось на ПК другого человека? Приложение работает локально, использует venv с библиотеками не последних версий, python 3.10.9 и должно запускаться как минимум на винде 10/11 (у меня 10). Я даже не знаю, как такое загуглить, и какие в принципе существуют способы.
>>2705945 Ну на 100 это последних два числа (внезапно), можно зделоть три ветки вместо четырех. Алсо, ввести переменную для одного принта вместо дохуя. Улучшать и улучшать, кароч, лет через десять допилишь до какой-то готовой либы. И печально, что ты не прислушался про спейсинг, какая-то яндекс-хуита бы тебя уже зарезала по бухтению линтера, как мы выяснили некоторое время назад.
>>2706070 >можно зделоть три ветки Нет, нельзя, потому что в ноль будет за пределами ранджа. А как задать переменную для одного принта, в таком случае, я даже не представляю.
>>2706238 В принципе, можно выкинуть 5,10, остальное ты уже покрыл и оно пойдёт в else в любом случае. С принтом делаешь "за {years} {end}." и в ифах только end присваиваешь.
Нужно ли читать банду четырех? Есть там что-то, чего можно простым опытом не наработать? Читать все-равно буду, но пока сосредоточился в основном на практике и документации, параллельно почитываю Лутца.
сап двач. такой вопрос. скоро закончу учить питон, буду знать обычные вещи - django, django REST, fastAPI, MySQL, bootstrap/html/css. Однако смотрю на вакансии, и ни одной вакансии на джуниора на питоне. Так вот что дальше делать то? Насколько тупо будет сейчас начать учить PHP/Laravel, сколько времени я на это еще потрачу? так то я бы хотел начать пилить для стима свою ВН на renpy
>>2706705 >ни одной вакансии на джуниора на питоне Размести объявление на авито и работка сама найдет. >Насколько тупо будет сейчас начать учить PHP/Laravel Ты это в любом случае должен знать, особенно если фронтенд. Быть программистом и не знать как разметки делать? >сколько времени я на это еще потрачу? Несколько месяцев, приблизительно.
Так я Python бэкендщик в основном, фронт я знаю только поверхностно, как с бутстрапа кривенько взять кнопки, навбары и прочее. Мне зачем нужно знать php? Тут либо пайтон, либо php. Хотя спасибо за совет с авито
>>2686473 (OP) Сделал генератор чисел Фибоначчи. Создал словарь с ними же, присвоил определения "четное\нечетное". Однако при выводе словаря выводятся не все числа, а лишь последнее. Помогите. капча: список
>>2707611 Радкі 15,16 >numbers = {} >numbers = fibo Ты што зрабіць намагаешся? спачатку пусты слоўнік, а потым замест яго ліст fibo. Лайно нейкае. Вось працуце https://www.online-python.com/yTfhKOaNAr
>>2707449 >>Насколько тупо будет сейчас начать учить PHP/Laravel >Ты это в любом случае должен знать, особенно если фронтенд. >Быть программистом и не знать как разметки делать? Омич полуёбок, скажи ты наркоман? я просто тоже где то там живу, могли бы вместе уёбывать наркотики.
>>2686473 (OP) Kivy, я ебал твою маму рот! Нет, фреймворк то пиздатейший, на самом деле (если исключить то, что документация у него говно и чтобы понять что-то надо читать исходник, а еще стандартные виджеты это посос и их надо допиливать до нужного тебе состояния. И что было им сложного написать отдельный класс для числовых полей, чтоб и с прокруткой мыши, а на стрелочки значения менялись, и чтоб с проверками блядь и со всеми ништяками? Он же намного проще чем текстовый).
Использую для Desktop.
Вопрос. Возможно ли как-то снизить нагрузку на процессор от анимаций? Одна ебаная анимашка сжирает под 40% моего ядра (а Python живет в одном из ядер, не распаралеллить). Да и 20 тоже жрут столько же. Как эта хуйня работает вообще, он че, весь экран перерисовывает, а не маленькую область с виджетом? Это ж пиздец.
>>2708110 Да про мультипроцессинг то понятно, но это не тот случай. Хули, мне в одном процессе рисовать, а в другом считать? Фреймворк так не работает.
>>2708129 Ну, почему неоптимальные? Меня устраивает все, кроме того что эта анимация дохуя жрет. Если допилить виджеты как мне надо, то моя программа (а она, блядь, большая) ест что процессора нихуя что памяти мегабайт 150, что сносно. Вот анимация только, сука такая.
>>2707817 Вообще, было бы заебись, будь Python типизированный. А всякая хуйня работающая с разными типами была бы как templates в C++. Да, есть type hinting, но это не совсем то.
А может, мы забиваем гвоздь телескопом? Я вот пишу большую программу графическую на Python. Тут все эти приколы динамической типизации на хуй не нужны и только мешают. А в скриптиках маленьких заебись...
>>2708145 типизация хороша только для простых типов, а вот когда тебе структуры надо делать, то вот нафиг, в традиционных компилируемых языках приходится изобретать адские системы наследований одних данных в другие. Ну его нафиг. Банальные задачи распаковки жсона в структуру превращаются в какие-то танцы с бубнами
Аноны, выручайте. Голову себе сломал, но нужен код, который выводил бы заданное кол-во различных символов умещая все по 10 за строчку и в 10 столбцов например «#»
>>2708921 Возможность неявного преобразования типов != слабая типизация. Ты же не хочешь сказать, что в Си++ слабая типизация, потому что там можно складывать инт и дабл? А в Джаве творятся вообще страшные вещи - там можно сложить строку и число - например "Hello" + 123 будет равно Hello123. И ничего, живет как-то до сих пор.
>>2709842 Ты, по-моему, путаешь статику и динамику. Типизация сильная только в том случае если нет тайпкастинга. Он есть - типизация слабая. Когда ты складываешь дабл с булем или интом - это литературно лакмусовая бумажка слабой типизации.
Оставим за скобками как таковую адекватность деления типизации на строгую и слабую и отсутствие адекватного определения для оси силы типизации.
Аноны, помогите с решением локальной задачи. Сам я не погромист, когда-то в школе немного занимался. Надо вытащить с хтмл кучу данных, выбрал питон и бюьтифулсуп.
Проблемы с тем, чтобы вытащить текст из каждого тега по отдельности - не возникло, но мне надо систематизировать информацию. Плюс я не пойму, как мне циклом в цикле пройтись. Логика такая: нахожу первый тег <div> с классом "col-lg-5", печатаю текст, который он содержит - "Огурцы". Далее, в этом же теге <div> ищу тег <span> с классом "d-none d-xl-inline", печатаю из него текст, потом ищу в ТОМ ЖЕ САМОМ теге <div> другой <span> и печатаю текст из него. Затем уже ищу другой тег <div> и повторяю процедуру. Нужно на выходе получить вот такой текст: Огурцы 15.80 19.15 Помидоры 17.10 33.51
Буду очень сильно благодарен, если не просто логику написания кода подскажете, а еще и кусками кода угостите
>>2710549 > Далее, в этом же теге <div> ищу тег <span> Судя по твоему примеру, они сиблинги Где-то ты объебался. Алсо, делай через селекторы, они универсальны в отличии от суповых велосипедов.
Как сделать рекурсивную функцию генератор? Есть объект, в котором есть данные и ссылка на предыдущий объект. И вот пока в объекте существует ссылка на предыдущий объект, нужно чтобы функция возвращала данные текущего объекта и залазила в предыдущий объект. Что сделать, чтобы функция get_lst работала правильно? Никак не доходит что я делаю не так.
class A: def __init__(self, link=None, string=''): self.data = 'test' + string # данные self.link = link # ссылка на предыдущий объект
q = A() w = A(q, '2') e = A(w, '3')
def get_lst(obj): if not obj.link: yield obj.data else: yield from get_lst(obj.link)
В вашем коде рекурсивная функция get_lst объявлена правильно, но вы забыли добавить отступы (indentation) для определения класса и функции. Кроме того, для работы генератора вам нужно использовать ключевое слово yield вместо yield from. Вот исправленный код:
class A: def __init__(self, link=None, string=''): self.data = 'test' + string # данные self.link = link # ссылка на предыдущий объект
def get_lst(obj): if not obj.link: yield obj.data else: yield obj.data yield from get_lst(obj.link)
q = A() w = A(q, '2') e = A(w, '3')
lst = [x for x in get_lst(e)] print(lst) # ['test3', 'test2', 'test']
В этом примере функция get_lst рекурсивно вызывает саму себя, пока в объекте link существует ссылка на предыдущий объект. Когда ссылка отсутствует, она возвращает данные текущего объекта. Затем список lst создается с использованием генератора get_lst, который содержит все данные из объектов цепочки. Результат выводится на экран и должен быть ['test3', 'test2', 'test'].
Сап. В тред призываются специалисты по МЛ. Есть простая игра-лабиринт. Нужно научить нейросеть проходить все поле, не врезаясь в стены и препятствие. Класс игры уже имеется (хуевый, но для начала пойдет), а с нейросетью беда. Что-то нагуглил, но как заставить это работать - хз. Код: https://pastebin.com/4LJH0t0S . Помогите, аноны, с меня нихуя
>>2710764 >>2710771 Само понятие джунов расхуярили и размыли двухнедельные курсы подготовки полоумных макак, после которых на рынок стала ломиться буквально толпа идиотов, думающих, что им сейчас по 300кк будут платить за красивые глазки. По сути, эти полупокеры полуджуны просто довели рынок до состояния что нужны либо рабы за еду (в микроколичествах), либо сразу милорды.
Ребят, нужно выучить основы питона за день максимум. Что посоветуете без воды и прочей хуйни? Мне нужно написать тг бота который будет тянуть инфу по апи с софтины. Т.е. много мне не нужно: Работа с числами и строками Циклы Массивы HTTP-запросы Работа с json Работа с файлами
Если есть какой-то мини курс без говняка который охватывает темы выше, а также знакомит с синтаксисом и особенностями языка - поделитесь плиз.
>>2710878 Чел, скажи пожалуйста, ты тупой? Я тебе в предыдущем посте написал, что деление на строгую и слабую - это крайне условное деление, по которому нет согласия. Позицию на оси строгой и слабой типизации ты как-либо точно определить никогда не сможешь. Возвращаясь к вопросу по Джаве. В Джаве типизация не строгая, потому что есть тайпкастинг. Разрешаю перекрыть статьей в вики, которая говорит, что у джэвокала строгая типизация. Любой язык где есть тайпкастинг, в особенности неявный - язык нестрогой типизации. Строгая типизация - это маняфантазия. Языков со строгой типизацией не существует.
В чем плюсы asyncio перед тредами, если они во время I/O операция так же отпускают контекст? В среднемелких проектах кто-то сильно парится о том, что система пару тысяч сокетов лишних сокетов с дескрипторами сожрет?
нужно оптимизировать алгоритм гаусса LU разложения без перестановки строк, чтобы учитывалось как можно меньше нулевых элементов. Нельзя использовать никакие библиотеки кроме numpy. структура матрицы прилагается к сообщению вместо звездочек число = 4 кроме диагонали главной, на ней: np.random.rand()*20+4
>>2711314 Наверно корутины в эвентлуп кинуть по расходам гораздо меньше, чем треды плодить, не? Если в твоего телеграм-бота будет долбиться 1000 человек, чтоб к фоточке хуй приделать, на каждый запрос будешь тред отдельный плодить и ждать переключения контекста каждые 5 мс?
>>2712093 Когда тред засыпает во время ожидания данных в сокете, то переключения на него не происходит. Единственная разница, что в случае asyncio они работают в неблокирующем режиме.
>>2712179 Если их не джойнить в основном потоке, то они не блокируют его: 1) если это io-задачи или сисколы (epoll/io_uring/etc), то gil опускается, блокировки нет, но переключения будут, когда данные появятся в сокете/буфере; 2) если это вызовы скомпилированного c/c++/go/rust-кода, то gil также опускается и также не блокирует основной и остальные потоки, кроме моментов исполнения байт-кода по запуску всего этого и сериализации данных в py-объекты при получении ответа; Если же это приделывание хуя через opencv какой-нибудь, где 50% кода внутри на питоне, то gil не даст им работать "параллельно", будут переключения между ними и будет конкуренция, вплоть до локов.
Если делать всё это через asyncio, то: 1) для io-задач и сисколов вместо 1+n потоков у нас 1 поток с n корутинами, блокировки нет, эвентлуп сам решает, когда ему читать данные из футур; 2) для вызова скомпилированного кода или cpu-задач это надо запускать в отдельном тред/процесс-пуле через run_in_executor, и тут уже в зависимости от ресурсов основной поток с эвентлупом может залочиться, но переключения также будут, если делать через тред-пул, поэтому неблокирующий режим у нас только в 1 случае.
Я думал, Питон — даунский язык для даунов. А тут волею судеб пришлось писать скрипты на Lua (не под игори) — хуясе йододефицитное мракобесие... Измазался в нём как запарафиненный разносчик параш в гонорейной больничке.
Это для тех полупокеров, кто генетически не способен осилить божественный Tcl?
>>2713748 но это же по идее должно вызывать обычный system-hotkey, а не system_hotkey310 хотя я так подумал, может это вообще не нужно? на самом деле основная ошибка, кторую я пытаюсь исправить - это AttributeError: module 'collections' has no attribute 'Iterable'
если заменить в system-hotkey.py import collections.abc всё равно продолжает давать ошибку AttributeError: module 'collections' has no attribute 'Iterable'
но если оставить import collections и добавить collections.Iterable = collections.abc.Iterable то модуль system_hotkey работает
как я понял, это потому что модуль collections.Iterable устарел и нужно использовать collections.abc.Iterable
Единственное, что я не понимаю, как работает эта связка из system-hotkey и system-hotkey310 1.0.5 Потому что в system-hotkey310 1.0.5 вообще нет .py файлов Там файлы, расширение которых я даже не могу посмотреть.
В контексте view, использование AnonymousUser() не является корректным способом установки анонимного пользователя в качестве автора поста.
Вместо этого, вы можете установить значение None для поля post.author, чтобы указать отсутствие аутентифицированного пользователя или автора поста.
Таким образом, если пользователь аутентифицирован, мы устанавливаем request.user в качестве автора поста. Если пользователь не аутентифицирован, мы устанавливаем None в качестве автора поста. Это соответствует требованиям модели, где поле author ожидает экземпляр модели User или None.
>>2706409 Нет. Подавляющее большинство попыток визуализировать код обвенчались крахом, если это не какая то узкоспециализированная хуйня вроде визуализации AST кода, но там то она сама по себе напрашивается. Из очевидных примеров, всякие UML визуализации ООП иерархий это говно говна, дети в яме с говном плюются говном, дебилка и дебил-генерал, аниме-манга. Тут вроде не ООП, но пример иллюстративный. https://www.youtube.com/watch?v=208K8EnSlB0
Аноны смотрите. 1) Я присваиваю первый лист к другому, окда. 2) Потом изменяю один лист, второй тоже меняется потому что это ссылочка, всё ожидаемо 3) Очищаю зачальный лист, а второй лист не меняется. Давно такое поведение сделали. я отчетливо помню что во втором Питухоне если всё вышеперечисленное повторить, то очистятся оба листа.
Вообще это пиздец, мало того что это неявное и очень важное поведение, так оно ещё и из версии в версию меняется. Сегодня у нас ссылочка. завтра не ссылочка, послезавтра гладиолус.
пишу на пыньтоне. на кутэ. как сделать, чтобы окно никогда не захватывало фокус? задача: написать некий оверлей, который поверх окна приложения (игры) будет постоянно находиться. и если курсор в игре попадет на этот оверлей, то все нажатия мыши должны продолжать регистрироваться в игре, не переключаясь на фокус окна оверлея. думаю понятно объяснил...
пробовал через widget.setAttribute(Qt.NoFocus) - не работает пробовал через widget.setWindowFlags(QtCore.Qt.WindowDoesNotAcceptFocus) - не работает
при чем оно как-то странно работает. когда курсор захватывает оверлей, он меняет свою иконку с игровой на системную, при этом объекты в игре при таком наведении все равно выделяются. но если нажать лкм, то взаимодействие с объектом не произойдет, вместо этого фокус переключится на оверлей и фпс в игре просядет (что подтверждает смену фокуса)
Вот скажите мне, синьёры. Вас вообще часто по работе заставляют заниматься всякой математической дрочью, типа рисованием спирали из цифр, всякими решениями комплексных уравнений, теорем Виета, Пуанкаре и т.д. Матан нужон или хуйня? Можно и без него маркизом стать? Новая капча, какая ирония.
>>2717526 Зависит от конкретной работы, где-то нужно где-то нет. В большинстве мест не нужно. Сеньорство это больше про обширность знаний что бы проект с от проектирования бд и архитектуры до деплоя и сбора метрик довести.
>>2717526 Чтобы заниматься, нужно знать, что оно существует, а там уж освежишь память. Тот же бинарный поиск простенький, но вряд ли ты его сходу придумаешь при решении такой задачи.
>>2717561 >>2717650 То есть, сеньор это в основном тот, кто не может даже банальный дешифратор без подгляделок придумать и написать, но зато знает что нужно делать, чтобы программа делала то, что нужно делать? Я правильно понял? Если так, то я получается тоже уже сеньор. >>2717878 А какой профиль? Я вот тоже, например, получил 5 в четверти по биологии в девятом классе.
какое питон дерьмище ебаное это просто пизда. сколько багов сука в миллиардах пакетов... постоянный блядь какой то wheel сбилдить не может блядь для рандомного пакета. синтаксис дерьма дерьма ебаного. что нибудь да отвалиться. pip слетел надо переустанавливать питона блядь. как это говно вообще взлетело сука нахуй? дегенеративная параша
>>2717961 >Я правильно понял? Если сможешь с нуля написать проект выбирая те или иные архитектурные решения и выбор технологий при этом имея достаточно глубокие знания в каждой из затронутых областей, то да, можешь лычку прикрепить.
/tests/test_issues.py::test_get_issue_parameters Failed: [undefined]aiohttp.client_exceptions.ClientConnectionError: Connection refused: GET /v2/issues/QUEUEONE-1?page=1&perPage=50 get_client = <aio_yatracker.base.BaseClient object at 0x7fc38f5e7ad0> get_primary_issue_id = 'QUEUEONE-1' . Что-то с URL? Потому что он собирается из ClientSession(base_url="https://api.tracker.yandex.net) и endpoint'a в методе, например .get(url="/v2/issues)
>>2717961 >А какой профиль? Ну как раз-таки биология и химия. Сейчас еще на сайд-проекте днокла по конструированию какого-то контура отвода тепла иногда что-то делаю. Но там довольно простые расчеты.
>>2718416 Из кода, который вы предоставили, я вижу несколько проблем:
Вам необходимо добавить отступы (табуляцию) для вложенных блоков кода, таких как циклы while и условные операторы if. В Python отступы играют важную роль в определении области действия блока кода.
В строке pygame.event == pygame.KEYDOWN и в последующих строках сравнение не выполняется правильно. Вместо pygame.event вы должны использовать event.type.
При проверке нажатия клавиш вместо pygame.event == pygame.K_w вы должны использовать event.key == pygame.K_w и так далее для остальных клавиш.
Операторы +=, -= используются неверно в строках изменения координат player_cords_x и player_cords_y. Правильные операторы для увеличения и уменьшения значения переменной на определенную величину это += и -=.
помогите затайпхинтить функцию, которая принимает тупль классов и возвращает тупль инстансов этих классов вот нерабочий пример: https://www.online-python.com/1OEmUS3pq0
сейчас я делаю так > а, б, в = функция(...)
потом насираю пустыми аннотациями > а: Пук > б: Среньк
и тогда пичарм начинает понимать и подсказывать мне поля > а.[пук_айди объем_пука химический_состав автор_мелодии ...]
в 3.11 ввели для этих целей TypeVarTuple, а понятно объяснить не объяснили. пайчарм только что обновил на 2023.1.2 (билд от May 17, 2023)
>>2719162 Метод set.add(element) использует хеширование для проверки наличия элемента во множестве. Внутри множества в Python используется хэш-таблица (hash table), которая позволяет эффективно проверять наличие элемента и добавлять новые элементы.
Вкратце, хэш-таблица является структурой данных, которая ассоциирует каждый элемент с его хэш-значением. При вызове метода add, Python вычисляет хэш-значение для элемента element и использует его для определения, в каком слоте хэш-таблицы должен находиться элемент. Затем происходит проверка, есть ли уже элемент с таким же хэш-значением в этом слоте. Если элемент уже присутствует, то он считается дублирующимся и не добавляется повторно.
>>2717263 Я не знаю, как там в ваших модных кьюти, но в ткинтере при инициализации фрейма есть параметр takefocus=False (или 0). Учитывая, что фреймворки не сильно отличаются, почитай документацию.
Что там по менеджменту зависимостей в Петухе, нынче? Для отдельных проектов юзаю поетри и пипенв. Чаще первый. Если задача сильно мелкая, то и venv пойдет. Но часто возникает нужда пользоваться средой не для какого-то проекта, а для одного типа задач. Тут два варианта - конда и докер. Докер часто оказывается оверкиллом для прикладных задач, ну и в целом в один момент возникает слишком дохрена раздельных проектов, чтобы докером можно было комфортно пользоваться с бухты барахты. Конда - другая история. Довольно удобное переключение между средми и довольно быстрый запил енвов с нуля с последующей довольно гибкой конфигурацией. Но разрабы конды - сраные дегенераты, которые годами игнорируют проблемы с дебильным разрешением версий. Плюс челики работают крайне халтурно. Мамба кое-как решает проблему, но поскольку является надстройкой над кондой, иногда упирается в те же проблемы.
В общем, анончик, посоветуй чем сейчас принято менеджить проекты и отдельные среды.
Добрый день, кто-нибудь реализовывал ветку комментариев в Django? Мне было бы достаточно всего одной ветки, чтобы внутри родительского комментария можно было делать реплай на другие реплаи, без сдвига. Но не могу додуматься как это можно сделать. У меня есть два цикла, в первом цикле я вывожу все родительские комментарии, и для каждого родительского комментария вывожу реплаи на него. Но как рядом с реплаями на комментарии вывести реплаи на реплаи? {% for comment in post.post_comments.all %} {{comment}} {% for reply in comment.replies.all %} {{reply}} {% endfor %} {% endfor %} вот так схематично выглядит код. Если есть у кого реализации веток комментариев, может покажете свои, был бы очень рад
будет ли ocr работать быстрее, если создать кастомную модель на ограниченном количестве данных? скажем, мне надо распознать текст только в 1 месте, в нем постоянно один и тот же шрифт, один и тот же цвет, один и тот же задний фон.
>>2686473 (OP) Всем привет. На работа попросили сделать бота, а я никогда не занимался не то что ботами, а даже простейшим программированием. Нашел на ютубе уроки по созданию ботов и все вроде норм но тут потребовали чтобы кнопки были прямо в чате. Поменял ReplyKeyboardMarkup на InlineKeyboardButton и уже обрадовался но эта хуйня не работает. Можете подсказать как просто кнопки поменять из меню в чат и все? TypeError: InlineKeyboardMarkup.__init__() got an unexpected keyword argument 'resize_keyboard'
>>2720426 Я нашёл решение, если кому интересно, то в цикле где отображаются реплаи я сделал рекурсивный include html файла, куда скопировал код для реплаев, и замкнул рекурсию
Предыдущий:
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://goonlinetools.com/snapshot/share/ - для листингов, без регистрации, но с капчей
#######################################
Вопросы-ответы:
— С чего начать изучать питон?
У питона намного лучше официальная документация, чем у большинства других языков. Есть там и учебное пособие для начинающих: https://docs.python.org/3/tutorial/introduction.html , неофициальный перевод на русский язык: https://digitology.tech/docs/python_3/tutorial/introduction.html (для питона версии 3.8, но разницы почти нет)
— Какие книги считаются лучшими?
На слуху чаще всего Лутц, но там очень много воды. Ещё на слуху Марк Саммерфильд, Эл Свейгарт "Автоматизация рутинных задач с помощью python". Эти книги рекомендуют чаще всего, но книги довольно старые, а питон развивается.
— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0
— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать даже для версий 1.x, т.к. принципы остаются теми же. Но лучше хотя бы с версии 2.0, слишком много мелких изменений в базе.
— Какие веб-фреймворки стоит учить в начале двадцатых?
Что бы не говорили, Джанго живее всех живых и умирать не собирается (и Django REST Framework), очень перспективный асинхронный FastAPI, асинхронный AioHTTP. Flask ещё где-то используется, но уже legacy. Прочие фреймворки или у нас экзотика, или это вымирающее легаси как Торнадо.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но частично переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Ролик на американском языке про многопоточность и асинхронность, построение своего event loop с нуля, помогает понять, как устроена асинхронность внутри: https://www.youtube.com/watch?v=MCs5OvhV9S4
— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется
— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
старая версия шапки, треды 90-148 и ранее: https://dumpz.org/bASGKD8cCFDf
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
текущий исходник: https://goonlinetools.com/snapshot/code/#8gd2g1snu3l8i26k0bc6k9