Вы видите копию треда, сохраненную 28 марта 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
ЧАВО: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat актуальность примерно 2015 года
Книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem
Очень много книжек: https://drive.google.com/drive/folders/13YaFijvuH4dtv-PjUKVWLQ7ZIqXIfCLK <-- похоже ссылка больше не работает, а жаль
Автоматизация рутинных задач ч.2 - https://anonymousfiles.io/3CBCoy1o/ <-- тут только одна книжка. Ради неё держать ссылку в шапке неразумно.
Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться
#######################################
Вопросы-ответы:
А стоит ли читать Лутца, том номер 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/ (нужно знать ангельский или уметь пользоваться переводчиком)
Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
Шапка: https://dumpz.org/b37erFzCnRmW
Чем занимаетесь на работах?
К примеру, автотесты.
Есть еще парсинг/обработка данных, для последующей визуализации и т.п.
Некоторые организации пишут десктопные приложения на пистоне.
Знакомый в Киеве занимается обслуживанием аппаратов, которые продают кофе/чай/конфеты и т.п., там внутри крутится штука на пистоне которая подключается к данным(линупс, данные в файле) от купюроприёмника и их обрабатывает. Никогда бы не подумал.
Какие инструменты можно использовать? tkinder наверное это если графически все представлять, но можно и в консоли, не критично. как организовать хранение бд с вопросами и ответами, и как сделать в конце вывод правильных и неправильных ответов?
Что почитать про архитектуру программ? Пишу все в процедурном остиле, функция функция функция и тп. Куча повторяющегося кода и т.п.
>процедурном остиле, функция функция функция
прочитай про императивщину и функциональщину для начала
Питухон еще не закопали?
неужели нужно было сувать все файлы проекта в /venv папку или они итак уже находятся в виртуальной среде и так как на скрине тоже покатит?
По идее ctrl+c - это KeyboardInterrupt, поэтому должно
Нет, это логические операции.
Так, минуточку, что там в правом верхнем углу?.. ах ты ж бля!
>Ты бэкенд-логику то сначала напиши
На самом деле здесь надо определиться в первую очередь с платформой. Или оконное GUI, или CEF-python, или просто через браузер.
Я бы наверное рекомендовал через браузер делать.
Логика несложная, сравнимо с демо приложением из Джанги, голосовалки. Я такое делал, даже более сложное, на джанге.
Логика проста, в момент старта теста создаёшь запись в БД "экзамен такой-то, там имя, фамилия, и текстовое поле, в котором хранится порядок вопросов и поле для сделанных ответов". Во время теста ходишь по страницам, где номер страницы = номер ответа в выборке. С каждой страницы сохраняешь данные ответа. Потом, на странице проверки экзамена выводишь все эти вопросы, ответы и считаешь сумму.
Есть несколько мелких нюансов, но задача реально простая и учебная. Не на алгоритмы, а на инфраструктуру, как страницу показать, как ответ от пользователя получить, как сессии делать, как записывать что-то в БД и т.п.
Есть большое направление по ИИ, есть по OpenCV. Ещё современная тема - асинхронные сервисы на asyncio, сетевые в первую очередь, это модно делать или на питоне, или на node.js и видимо go ещё.
После импорта вылезла вот такая ебень (это потому что я не активировал виртуальную среду venv, только вот в чем загвоздка - а как ее из консоли pycharm-то активировать?..). Как нормально работать с проектом Django из pycharm'овской консоли?
блин, как всегда, как только задашь или решишь задать вопрос кому-то, так сразу сам находишь решение. Независимо от того, сколько до этого бился над задачей
https://dumpz.org/bqyrfCbEPA9t
Откуда у тебя куча повторяющегося кода, если ты все выносишь в функции?
Пример кода было бы неплохо, а то не очень понятно, о чем ты
в директории виртуального окружения ищи activate
например venv/Scripts/activate
для венды activate.bat
для линухи source ./activate
жиза
Воу-воу, палехче. Не сувай никаких файлов проекта в /venv папку. Её вообще можно отдельно положить.
Что скажете про этот курс ?
Нет. И for/while/if/else/try/except - тоже.
Какие-то противоречивые мнения о нем.
Есть подозрение, что виртуальное окружение всего лишь переопределяет переменные окружения относящиеся к питону. Для подробностей посмотри файл bin/activate
Для языка не критично, но на винде больше проблем с pip install, например, ну и серверные приложения все равно на линухе крутятся
Аноны. Такой вопрос. Допустим, я написал софтинку на 2000 строк, достаточно удобную, и хочу выложить её людям. Как сделать так, чтобы кто-то потом не начал её использовать в коммеррческих целях?
Там по программе работе с серверной частью, вроде, процентов пятнадцать посвящено, поэтому странно.
Всем привет
Новичок в треде, учу питон, пару месяцев назад закатывался к вам за советом
Нынче нужен практический совет
Есть текстовый файл, его изменять не нужно, нужно отредактировать его и сохранить новым файлом.
f.open("filename(это исходный файл, его не надо менять)", "r")
lines = f.readlines()
f.close()
f.open("название нового файла(это новый файл, полученный путем каких-то действий над исходным)", "w")
for line in lines:
Тут мы цикл
f.close()
И этот кусок кода работает
Но если я в одном скрипте хочу сделать так, чтобы создавалось два и более файлов (ну, с первоначальным файлом делалось несколько действий, каждое в новый файл), то ничего не работает, как я не извертывался
Подскажите, можно ли это реализовать в рамках одного скрипта, и если да, то как?
https://help.github.com/en/github/creating-cloning-and-archiving-repositories/licensing-a-repository
Смотри там список лицензий и выбирай, какая тебе про душе.
Честным словом они помогают. Даже в штатах до сих пор спорят, признаются ли такие лицензии в суде, т.к. прецедента нет.
Это практически и есть весь код
Все же, чтобы все сложилось в единую картину, смогу скинуть только через пару часов
Как я вижу у джавы плюс это возможность фриланса. В моём случае можно помогать другу писать говняные мобильные приложения.
Можно ли как-то использовать знание питона для получения выгоды, кроме как написания скриптов для себя?
Хочу вкатываться в программирование, что-то писал раньше, но прям совсем обезьяний код. И думаю вкатываться либо через пайтон, либо через джаву. Вкатывание для меня это осмотреться что и как происходит в программировании, освоить базу, которую дают программистам норм ВУЗов на 1-2 курсе и потом понять нравиться мне выбранный язык и вакансии по нему или нет. Я если, что писал сайтики, крипты и прогал контроллеры, но что такое ООП представляю смутно.
Без оформления,без ничего,только надо сделать в консоле питона
Так и в чем у тебя проблема, кроме того, что код всратый-непитонячий и что ты срезом можешь удалить не только перенос строки, но и один символ текста?
> Но если я в одном скрипте хочу сделать так, чтобы создавалось два и более файлов (ну, с первоначальным файлом делалось несколько действий, каждое в новый файл), то ничего не работает, как я не извертывался
Что именно? Если ты всем файлам даешь имя:
time = datetime.datetime.today().strftime("%d.%m.%Y")
то ты просто будешь затирать файлы, так как у них всех будет одно и то же имя "textfile_27.01.2020".
И нормально ли, что ты пропускаешь строки, в которых нет 'description'?
А так вот более причесанный вариант твоего кода: https://pastebin.com/yQrvDPZL
Написать экспортер.
Да, написано криво, но я только недавно встал на тропу питона
В любом случае спс за "причесывание", буду двигаться дальше
Вопрос был в следующем: если посмотреть мой код(говнокод), то он состоит логически (хз, говорят ли так прогеры) из двух вызовов текста. Первый раз мы вызываем текст из файла и помещаем его в память (там даже параметр r, вызываем для чтения). Второй раз мы применяем к этому тексту, который в памяти, проводим с ним некоторые операции (в данном случае это игнорирование строк из файла без дескрипшна, да, это нормально), и сохраняем результат в новый текстовый файл (w значит, что запись начнется с первой строки)
Вопрос в следующем: как в одном скрипте сделать несколько независимых друг от друга операций с первоначальным текстом, каждая из которых не связана друг с другом, и с сохранением в отдельный файл? Или это проще сделать кучкой скриптов?
Да , кстати, насчёт названия: придумал гениальный ход добавить часы и минуты.
Пара вопросов:
1) from datetime import datetime: в чем отличие от моего просто import datetime
2)начиная со строки 10 не работает код (
3) синтаксис интересный. Смотри, получается, если я хочу сделать другое, не связанное действие с первоначальным текстом, я Открываю под другим названием?
ну, это будет выглядеть так
with open("название" , "w") as f2_out
, И для каждого свой lines to save?
4) та же строка lines to save:
Тут условие if описывает, что если строка подпадает под условие наличия в ней match_str, то с ней делается действие
А как туда же прикрутить, например, фишку, с которой остальные строки мы тоже добавляем, только не изменяем?
Новый синтаксис - это хорошо, но, похоже, я слишком привык к своему костыльному написанию (внутренней логике) и приходится спрашивать даже мелочи, ибо в моей логике их нет
И спс тебе
>1) from datetime import datetime: в чем отличие от моего просто import datetime
В первом случае ты выгружаешь в глобальное питонячье пространство имён сущность datetime из модуля datetime. Во втором же случае ты просто выгружаешь сам модуль datetime в глобальное пространство имён. И эти операции, как ты понимаешь, не эквивалентны.
from pymouse import PyMouseEvent
class Click(PyMouseEvent):
____def __init__(self):
________PyMouseEvent.__init__(self)
________self.CLICKS = 0
____def click(self, x, y, button, press):
________if button == 1:
____________if press:
________________self.CLICKS += 1
Click().run()
точнее
from pymouse import PyMouseEvent
class Click(PyMouseEvent):
____def __init__(self):
________PyMouseEvent.__init__(self)
________self.CLICKS = 0
____def click(self, x, y, button, press):
________if button == 1:
____________if press:
________________self.CLICKS += 1
________________print(self.CLICKS)
Click().run()
Думаю что проблема тут:
with open('disable.html', 'w', encoding='utf-8') as f:
f.write(result.text)
В хтмл charset=windows-1251, а у меня установлено 'utf-8', ибо при установке 'cp1251' питон жидко обсирается и вываливает 'charmap' codec can't encode characters in position 1399-1404: character maps to <undefined>.
Если используешь requests, то возможно твой result.text не угадал кодировку. Попробуй принудительно указать.
Так оно и оказалось, реквестс тянул в ISO 8859-1. Ебучие кодировки, нахуй они нужны то блядь, лишние палки в колеса.
>>584540
Я зделял.
https://pastebin.com/AgcWj7yr
Получилось немного костыльно, зато понятно и работает (на каждый чих создаёт нужный файл, операции делает как надо)
Выношу на суд общества, если у общества будет время
Из примечательного: у меня не получилось задать имя файла как f"text{time}.txt", питон неистово ругался на эту строку
> Из примечательного: у меня не получилось задать имя файла как f"text{time}.txt", питон неистово ругался на эту строку
У тебя питон меньше 3.6?
x = 10
y = 6
print(function_i_need(x, y))
Вывод:
[0, 1, 1, 2, 3, 3, 4, 5, 5, 6]
И чем лучше снимать экран? Я помню под винду было 25 разных решений и я так и не разобрался, какое самое лучшее
Дело-то не в настройках конкретного проекта, надо запустить venv в консоли...
Не понял, что тебе надо? Объясни нормально. Если у тебя пайчарм то в настройках проекта есть интерпретатор, там ты и создаёшь/выбираешь окружение и навешиваешь какие нужно библиотеки. Потом запуская программу оно автоматом запустит через нужную венв. Если просто в консоли то всё как обычно должно быть, сначала адрес полный до файла Python в твоей венв потом адресс полный до скрипта. На винде давно не сидел, но это не может не работать.
Кароч, послушав кулсторей от друзей разработчиков, которые травят истории, что автоматизаторы куа денег гребут больше рядовых разрабов решил попробовать перекатиться в куа автоматизаторы. Стал выбирать между джавой и пистоном. В куа чатиках пишут что пистон проще, да и везде блять пишут что пистон проще. Вот и пришел кароч к вам. Что скажете? как вам план мой? Есть здесь куа автоматизаторы? Поведайте путь к успеху. Счас начал читать укус питона, ведь его ДАЖЕ В НАСА ЧИТАЮТ!
Что дальше? После укуса пистона смотреть? И самый тупой вопрос, что мне блять автоматизировать? На работе онли мобилки на свифте. По хорошему надо было бы свифт учить, но пистон более универсален как по мне и вакансий в атоматизации в разы больше для пистона.
Еще проблема, что я совершенно не понимаю что мне писать на пистоне? Ну, как проект выбрать в рамках учебного? Во фронте было все просто, есть этанной муви серчер и пилишь этот мувисерчер. Деркаего апишку с фильмами и отрисовываешь карточки. А на пистоне что мне писать, вообще не ебу эти бэкендерские дела.
Хуй знает. У нас в галере куа пишут на котлине тесты
Есть 400 файлов с именами xxx000.yyy где 000 это числа от 000 до 400 (т.е. просто по порядку номера добавочные)
Есть в этой же папке скрипт питона script.py
который берет только по одному файлу вида xxx.yyy
и конвертит его в другой out.zzz и закрывается.
Помоги набрасать автоматизацию как эти все файлы пробросить не вручную через этот скрипт а это переименовать по одному,сконвертить,ждать окончания выполнения скрипта (окно закрывается) переименовать out.zzz в out000.zzz и желательно удаления xxx000 т.е. xxx т.к. следующий 001 будет переименоваться в xxx для скрипта.
Впринципе исходники могут затираться они не нужны будут
Как реализовать ожидание выпонения скрипта я хз
Файлы разные по весу думал по времени но наверно не правильно
Пробовал запускать скрипт из ДОСа запустился но зависает и\или не выполняется,итогового файла нет.
У меня блять не один ебаный пример с этой книги не работает. Почему я должен воевать с синтаксисом САМОГО ДРУЖЕЛЮБНОГО языка?
почему я блять зажимаю command option L, а эта мразь не форматирует мне код нормально
Может, иде ещё и код за тебя писать должна?
Так ебать напиши твиттер. Вот тебе учебный проект. Кстати, пиздатый тренажер в яндекс практикуме. Там бесплатные уроки прям дают небольшое представление о бэкенде и джанге. Решается всё за 4-6 часов.
Ебать ты тупой)))))))))) Удаляй нахуй иде и питон. Не твое это))))))))
Вот у меня допустим есть мини сайтик на фласке и телеграм приложение(не бот), суть его в том, что это приложение собирает некоторое кол-во сообщений с разных моих чятиков и делает с ними всякие интересные штуки, выводя с помощью plotly красивые графики на сайт
Если я правильно все понимаю, то сграбленые данные хранятся в session файле вместе с моими апи айди и хешем, т.е это работает только для конкретно моего телеграм аккаунта. "Проект" пока что расположен на локалке
А теперь вопрос, можно ли как-то из этого сделать сервис и для других людей, чтобы они каким-то образом могли авторизоватся и для себя тоже парсить переписку каким-нибудь ботом, работающим с моим сайтом?
Ну смотри. Есть два варианта:
1. Ты используешь бота. Бот приглашается в беседу, парсит сообщения и пишет статистику по доступным ему чатикам.
2. Ты используешь токен пользователя не уверен, что это не запрещено ToS, но поебать и соответственно видишь лишь переписку текущего пользователя.
Во втором случае чтобы получить сообщения всех переписок другого пользователя тебе придется взять его токен, т.е. получить полный доступ к аккаунту. Я не думаю что пользователей это устроит.
Можешь написать скрипт, который бы парсил переписку текущего пользователя, чтобы тот прогонял его на своей локальной машине я реально не ебу как это работать должно, может через полноценную авторизацию в консольке, после чего полученный файл отправлял тебе на сервер, а там он бы разжевывался и строил графики.
Можно
Антон, оцени. Возможно стоит добавить в шапку свежую книгу для вкатывальщиков.
https://www.slitherintopython.com/
Для начала пообщайся с товарищами из МЛ тренда, у них там тоже не каждый день весело.
Если с математикой все ок - пиздуй в МЛ лучше.
>Как реализовать ожидание выпонения скрипта я хз
Запускай этот script.py через os.system(), тогда твой скрипт будет ждать его выполнения.
Ты бы хоть показал что ты там накидал и как примерно твой script.py выглядит. Может его можно просто импортировать и использовать по-человечески.
Сколько же можно этих книг для нулевых в питоне...
>что ты там накидал
вся проблема в том что самое умное тут слово для меня это скрипт и в программировании я нуль.
мне бы и батника хватило только немогу в языки.
Покажи как ты запускаешь script.py для одного файла. Попробую сделать, если работать на заставят.
Есть какие-нибудь нормальные гайды по созданию ботов для телеги на python
Хочу запилить телеграмм-бота, который будет парсить инфу об определенных юзерах из вк по моей указке. Надо ли создавать отдельное приложение в вк для этого помимо приложения для телеги? Или можно будет простыми get-запросами (другие и не нужны) напрямую общаться с вконтактом, даже без токенов?..
Ошибку бы хоть запостил.
Вангую, он не может достучаться до api телеги, так как телега заблокирована. Юзай прокси.
>В Sublime есть какой нибудь плагин, чтобы можно было переходить на определение функции в библиотеке, стандартной либо же скачанной?
anaconda
>быстро открыть файл и что то написать чтобы проверить
Для этого удобней обычный repl питона или jupyter notebook.
А вабще пайшарм для этого есть. ctrl+выбираешь функцию - он тебя наа её доки перекидывает.
Создаёшь новую вкладку "тестирование" и тестируешь в ней мелкие скриптики с переключением в один клик. И не надо с никакими плаинами ебаться, всё из коробки работает. И репл тоже доступен в один клик
В шарме еще можно только 1 проект активным держать, это вообще пиздец. Что за тестирование, в смысле новая вкладка?.
>У меня всё чётко работает без лагов. i7 + 16 Гб рам + ссд.
У меня начинает подлагивать под конец дня когда строк кода далеко за 1000, но ниразу не мешает работать. Там подлагивания заключаются в том что он начинает индикацию свою с задержкой рисовать, или вроде того. Тже ш7 4ведра и ссд
У меня таких больших файлов не было.
И ты уверен, что это норма столько строк на один файл? Звучит не очень чисто. Не легаси лапша ли у тебя?
Я вабще ньюфаг. Накатал сейчас программу с гуями на 1800 строк с целью потом сконвертировать её при помощи пайинсталлера в экзе Я вабще незнаю, подбирает ли пайинсталлер импортируемые нештатные модули?. А шо, так нельзя было чтоли?
> Я вабще незнаю, подбирает ли пайинсталлер импортируемые нештатные модули?.
Что-то конвертирующее в ехе точно умеет. Сам я ничего в ехе не собирал. Погугли.
> А шо, так нельзя было чтоли?
Ну, нежелательно.
Хотя если ты новый и сейчас цель просто написать, то пофиг.
>Хотя если ты новый и сейчас цель просто написать, то пофиг.
Была цель написать сложный для меня проект, который бы стабильно работал и выполнял возложенные функции.
Я, на самом деле, не понимаю суть распила на разные файлы. На пути к нынешней версии в прогамме очень много всего переделывал, расширял, и каждый раз когда изменения становились достаточно глобальными - просто создавал новый файл, копировал туда всё содержимое, и уже в него вносил серьёзные изменения. Таким образом у меня сейчас имеется около 26 версий получившихся на пути разработки, от начальной до нынешнего состояния.
Как это всё делается, если речь идёт о проекте из нескольких файлов? Создавать новый каталог с файлами проекта?
Так же как и в десятичной системе - крупные числа (тоесть единицы) наперёд, более мелкие назад
Питон говно
> Была цель написать сложный для меня проект, который бы стабильно работал и выполнял возложенные функции.
И какой профит? Полезнее в принципе учиться делать хорошо и правильно, читая литературу и так далее.
Ну, и хотя бы частично тестами тебе бы не помешало бы всё обложить, что сможешь, если у тебя там уже 26 итераций прошло. Нет гарантий, что ты что-то не ломаешь каждый раз. Плюс ты сразу можешь ставить себе задачу, делать для тест, а затем писать код, который сможет его пройти.
> Я, на самом деле, не понимаю суть распила на разные файлы.
Так это одно из множества правил. Их много разных. У всего свои обоснования.
При этом ты можешь посмотреть исходники декстопных/мобильных прог на каком-нибудь С# или джаве. Даже у небольших может быть десяток файлов запросто.
Алсо, у тебя форма одна? Какой-нибудь Делфи вот для каждой формы имел по два файла (в одном сама форма, а в другой код), если мне изменяет память + ещё был основной файл, в котором форма нужная создавалась и там же можно было обработать аргументы, который переданы через командную строку.
> На пути к нынешней версии в прогамме очень много всего переделывал, расширял, и каждый раз когда изменения становились достаточно глобальными - просто создавал новый файл, копировал туда всё содержимое, и уже в него вносил серьёзные изменения. Таким образом у меня сейчас имеется около 26 версий получившихся на пути разработки, от начальной до нынешнего состояния.
> Как это всё делается, если речь идёт о проекте из нескольких файлов? Создавать новый каталог с файлами проекта?
Начни юзать гит. Так это и делается. Пускай даже всё в одну ветку. В итоге ты всегда сможешь увидеть какие-то ты делал изменения (например, удобно смотреть через sublime merge, хотя можно и через консоль, но это менее удобно, если тем более много правок) в каком коммите и всегда сможешь увидеть какой у тебя код был на какой момент времени, сделав на него чекаут. Плюс можно, к примеру, сделать фичеветку для теста идей, в ней смело хуярить изменения и если поймёшь, что не нужно или не то, то просто снесёшь её. Или наоборот смержишь её в мастер, если будет успех.
> Была цель написать сложный для меня проект, который бы стабильно работал и выполнял возложенные функции.
И какой профит? Полезнее в принципе учиться делать хорошо и правильно, читая литературу и так далее.
Ну, и хотя бы частично тестами тебе бы не помешало бы всё обложить, что сможешь, если у тебя там уже 26 итераций прошло. Нет гарантий, что ты что-то не ломаешь каждый раз. Плюс ты сразу можешь ставить себе задачу, делать для тест, а затем писать код, который сможет его пройти.
> Я, на самом деле, не понимаю суть распила на разные файлы.
Так это одно из множества правил. Их много разных. У всего свои обоснования.
При этом ты можешь посмотреть исходники декстопных/мобильных прог на каком-нибудь С# или джаве. Даже у небольших может быть десяток файлов запросто.
Алсо, у тебя форма одна? Какой-нибудь Делфи вот для каждой формы имел по два файла (в одном сама форма, а в другой код), если мне изменяет память + ещё был основной файл, в котором форма нужная создавалась и там же можно было обработать аргументы, который переданы через командную строку.
> На пути к нынешней версии в прогамме очень много всего переделывал, расширял, и каждый раз когда изменения становились достаточно глобальными - просто создавал новый файл, копировал туда всё содержимое, и уже в него вносил серьёзные изменения. Таким образом у меня сейчас имеется около 26 версий получившихся на пути разработки, от начальной до нынешнего состояния.
> Как это всё делается, если речь идёт о проекте из нескольких файлов? Создавать новый каталог с файлами проекта?
Начни юзать гит. Так это и делается. Пускай даже всё в одну ветку. В итоге ты всегда сможешь увидеть какие-то ты делал изменения (например, удобно смотреть через sublime merge, хотя можно и через консоль, но это менее удобно, если тем более много правок) в каком коммите и всегда сможешь увидеть какой у тебя код был на какой момент времени, сделав на него чекаут. Плюс можно, к примеру, сделать фичеветку для теста идей, в ней смело хуярить изменения и если поймёшь, что не нужно или не то, то просто снесёшь её. Или наоборот смержишь её в мастер, если будет успех.
Это когда очевидно, что сначала единицы, а потом нули. А если кому-то не очевидно, он может проверить перебором.
Мистер, вы чего?
>>585409
В общем интересен вопрос построения композиции вк-приложения. Варианты:
1. В вк только фронт. Юзер общается с ботом в вк, но сам бот обращается к сторонним сервака и даже не трогает сам вк
2. Фронт на стороннем ресурсе (телеграмм, например), а запросы идут в вк. Телеграмм-бот парсит странички в вк и отдает результаты юзеру
3. И то и другое в вк. Тут без комментариев
Эти 3 варианта как-то отличаются в технологическом плане? Или везде обязательно необходим ебучий вк-токен и регистрация приложения в вк?.. Зачем это делает в случае номер 2 например?
>И какой профит? Полезнее в принципе учиться делать хорошо и правильно
Возможно, буду всё переделывать и разбирать свои ошибки.
>Начни юзать гит. Так это и делается. Пускай даже всё в одну ветку. В итоге ты всегда сможешь увидеть какие-то ты делал изменения
Да, вот с этим хотел разобраться
https://githowto.com/ru простой гайд.
>>585823
Ну, это точно должен быть не один файл, по идее. Есть же книги по PyQT. Посмотри там или ещё где, как люди это делают.
>https://githowto.com/ru простой гайд.
Спасибо анон, но насколько я знаю, у пайшарма встроенно это всё должно быть, не?
https://docs.djangoproject.com/en/3.0/topics/auth/customizing/#extending-the-existing-user-model
вывел в форму необходимые поля, после отправки формы орет на 'Client' object has no attribute 'set_password', шо еще нужно было сделать?
Джанго использует WSGI?.. А Фласк?
contacts = [{'name': 'Alice', 'phone': '899900002233', 'dob': '21.01.1999'}, {'name': 'Bob', 'phone': '88005553535', 'dob': '01.01.1999'},...{}]
Размер заранее неизвестен(динамический, элементы добавляются пользователем).
Нужно вывести его элементы в виде:
Имя: Alice
Телефон: 899900002233
Дата рождения: 21.01.1999
Имя: Bob
Телефон: 88005553535
Дата рождения: 01.01.1999
...
и т. д.
Пытаюсь реализовать это так:
def contact_list_output():
print('\nВывод списка контактов...\n')
for x in contacts.index():
print('\nИмя: {0} \nТелефон: {1} \nДата рождения: {2} \n\n'.format(contacts[x]['name'], contacts[x]['phone'], contacts[x]['dob']))
Но питону не нравится.
Подскажите как правильно?
Основные операции он умеет точно. Но гит он за тебя не поставит и не настроит, полагаю. Так что гайд тебе нужно хотя бы частично пройти, по идее. Плюс настроить правильно при установке его, если у тебя винда, выбрав в качестве консольной решения гит баш + чтобы ты получал переносы /r/n, а отдавал /n (и то, и то в виндовом инсталлере выбирается).
>>585876
> .index():
Шо это такое? Убери. По идее, должно заработать и все остальное, вроде, норм.
Двачую, нихуя непонятно. Werkzeug это не wsgi? Если это оно, то зачем ещё один мидлвэр? Зачем нужны вообще сервера типо нгинкса и апача, если деплоить можно и так?
мимо
Точно. В x у тебя словарь и есть. То есть нужно просто x["name"] писать и так далее. Когда у тебя цикл for x in список, то тебе в x при каждой итерации идёт не индекс, а само значение элемента списка.
Это вообще никак не связано. REST - стиль построения апишки на сервере, язык тут не при чём, да и апишки может не быть вообще. WSGI - это про то, как именно питон должен взаимодействовать с веб-сервером, типа Apache или uwsgi, чтобы связать http-запросы из внешнего мира с приложением на питоне. Во фласке да, WSGI.
>>585892
Он же сам пишет при запуске, что годится только для разработки, для продакшена он не заточен: не делает каких-то проверок, настраивается слабо, статику разраёт неэффективно. А вот Nginx с этим справляется получше.
А зачем это все эти костыли понапридумывали, и что мешало написать полноценный веб-сервер на питоне, не ебу. Может, дело в GIL, но тогда хз, что мешает создавать подпроцессы. Может, дело в том, что питон тупо медленнее сишки, а авторы веб-серверов хотят максимальной производительности любой ценой.
Какие костыли? WSGI это ИНТЕРФЕЙС, он должен быть, чтобы разрабы меньше ебали себе мозг
Меньше ебали мозг? То есть написать:
app.run()
сложнее, чем
- создать wsgi.py
- установить uwsgi
- настроить его
- написать скрипт для его запуска
???
Я запилил скрипт на питоне для обработки картинок, который изначально планировал использовать в шиндовс. Но сейчас нужно запилить его на сайт (пикрелейтед), чтобы он работал прямо там.
В шиндовсе скрипт получает доступ к файлам и сохраняет их при помощи пути с использованием двойных бекслешей (\\).
Мой вопрос в том, какой формат пути используется на сервере? Я правильно понимаю что там нужно один слеш (/)?
Скрипт по идее будет запускаться через php, если это имеет значение.
from wsgiref.simple_server import make_server, demo_app
httpd = make_server('', 8000, demo_app)
httpd.serve_forever()
всосал?
Спасибо!
Ну разумеется, эмбеддер-сервер для разработки есть во фласке из коробки. Вот только для прода он не годится.
> simple
Один человек как-то сказал, что на проде лучше избегать технологий, имеющих в названии слова "simple", "quick" и подобные.
from wsgiref.complex_server import make_server, demo_app
httpd = make_server('', 8000, demo_app)
httpd.serve_forever()
Анон. я вот начал думать о разбитии на несколько файлов, и... Получается, чтобы это было реализуемо, классы должны быть абсолютно независимыми и отвязанными от остальных элементов программы?
А у меня получается так, 5 основных классов: две формы UI, один основной обработчик (который является PyQt-тредом), один класс объекта хранящего в себе все сохраняемые настройки программы, и, соответственно, сохраняющий/загружающий настройки, один класс uart объекта, с методами касаающимися UART (соединение, отключение, отправка команд, ошибка).
Так вот суть вопроса в чём: все классы у меня вышли НЕ независимыми, и работают с объектами соседних клаассов.
Например если UART долбится в ошибку - он работает с формами UI через объекты класса. При открытии второго окна - оно блокирует часть элементов первого окна, через объект класса первого окна. Часть изменений в UIокнах так же напрямую обращааются к объекту класса настроек, для сохранения. Так же абсолютно все классы черпают настройки из переменной хранящей их в объекте класса настроек. ИТД. Всё очень плотно взаимосвязанно. И по-сути, я использую классы как удобные контейнеры, с целью избежать использование глобальных переменных и упростить доступ к различным функциям - такой подход, наверное, к ООП не относится?
Тоесть какие варианты тут растащить всё это на разные файлы:
-Или переписывать таким образом, чтобы классы не работали с объектами соседних классов напрямую, но в таком случае придётся пилить какой-то единый фоновый обработчик, который в лупе чекает кучу переменных ежесекундно, и обеспечивает связь между объектами классов. Но это по-моему пиздец, и расточительство ресурсов, постоянная вычислительная нагрузка в холостую.
-Или при созаании объектов классов передавать объекты соседдних классов в параметрах - так вабще можно делать? Но один хуй даже так придётся немного переделывать структуру программы.
В общем то в голове каша образовалась.
Если дописываешь чей-то проект и там все в кемелкейсе, то тоже так называешь, только не забывай морщиться. Если по своей инициативе делаешь такие названия в новом проекте, то тебе будут пиздить цепями велосипедными.
Мне лень понимать, что ты там имел в виду, но какой-то из разрабов питона сказал, что если тебе нужно написать программу, то ты сначала напиши библиотеку, которая решает проблему твоей программы, а сама программа выродится в общение с интерфейсом библиотеки.
А у тебя, судя по всему сильная связанность между компонентами, и это плохо.
>Но это по-моему пиздец, и расточительство ресурсов, постоянная вычислительная нагрузка в холостую.
Во всяких эджайл-практиках в целом и в питоне в частности за преждевременные оптимизации ставят на колени на гречку.
>библиотеку, которая решает проблему твоей программы
Именно так я и делал. Сначала написал класс для работы с ком-портом, класс обработки. А уже в процессе сборки всего этого воедино образовались связи между ними
>созаании объектов классов передавать объекты соседдних классов в параметрах
А что смущает? Сохраняешь ссылки на связанные объекты внутри объекта и вызываешь их методы.
>Но один хуй даже так придётся немного переделывать структуру программы.
Разве там много придется изменять, в поле схоронил и вызывай через селф
self.govno = Govno()
def srat(self):
return self.govno.out()
Во, то что нужно. Так более энтерпрайзно.
Желательно, результат получить в виде функции и знать все переменные
Наверняка есть готовая либа для этого, это называется символьные вычисления. И в плюсах тоже наверняка есть.
Но если хочешь вручную, тебе нужно написать парсер (гугли метод рекурсивного спуска), который сгенерирует AST, и написать функцию-вычислитель, которой передашь это дерево и контекст с переменными в виде словаря, а в функции пройтись по этому дереву, заменяя переменные на значения и вычисляя.
Вот есть у меня мой скрипт.py, я должен его отдать php-сту, который заведует сайтом, чтобы он его там разместил и подключил.
А что делать с не встроенными библиотеками? Я создал requirements.txt, его можно как-то автоматически установить, или php-ст сам это сделает?
Да ладно, неужели на больших проектах используют строго андерксоры? Это же как минимум делает стены кода на процентов 10-15 более трудночитаемыми.
>А что смущает? Сохраняешь ссылки на связанные объекты внутри объекта и вызываешь их методы.
Смущает очерёдность их создания, и связать таким образом (передавая ссылки) все со всеми не выйдет. Т.к. на момент создания первого объекта остальные ещё не будут созданны.
Или через сеттерр это делать...
А ещё, я этого не знаю, если передаёшь обект допустим Item в параметрах объекту класса, он сохраняет его в self - он точно сохраняет только ссылку? и имеет ли такая ссылка обратную связь, тоесть если менять self.item - изменится ли изначальная item? Впрочем, это легко проверить, чем я сейчас и займусь.
Ну вот допустим, такой метод развязки реализуем, можно будет распилить проект по разным классам. а будет ли это правильно? Является ли такой подход объектнго ориентированым?
>связать таким образом (передавая ссылки) все со всеми не выйдет.
Как вариант создать главный объект со ссылками на все другие и общаться через него, такой-то Ультразорд. Но есть подозрение, что если у тебя объекты так сильно связаны, то тебя сначала стоит разобраться с этим, разбить на классы немного иначе, например. А то превратишь свой бардак в объектно-ориентированный бардак, толку мало будет.
>разбить на классы немного иначе, например
Ну вот тут хуй знает, как это сделать я ведь ньюфаг, а в целом структура приложения получилась крайне сложная. Там проблема в том, что куча процессов (скажем, до 5 штук) может выполняться параллельно (потому что такие процессы, как работа с компортом, требует ожидания, а UI при любом ожидании зависает), частично они связываются друг с другом через переменные, местами обращаются напрямую друг другу во избежание пложения сущностей и раздутия кода с кучей дублирований и функционально схожих объектов.
В общем на самом деле писать что-то сложное для самоучки видимо слишком сложно, и неплохо бы иметь наставника, который в момент, когда оступаешься не туда тебе на это указывает.
А какие есть программы, чтобы можно было удобно рисовать блок-схемы? Может схему начерчу, и понятнее станет как это можно переделать
Вот твой ком-порт самая же простая часть по "отчуждению", скажем так. Любые взаимодействия с ним только через его методы. Кто-то что-то хочет от ком-порта - пусть вызывает его метод. Все переменные связанные с ним храни только в самом объекте. И уж точно класс ком-порта не должен что-то там блокировать в UI, не его это забота.
>А какие есть программы, чтобы можно было удобно рисовать блок-схемы?
Для блок-схем какой-нибудь draw.io попробуй, но тебе тут скорее UML диаграмма нужна.
Паттерн посетитель
>Да ладно, неужели на больших проектах используют строго андерксоры?
Да, используют. Пойди на гитхаб и посмотри.
>Вот твой ком-порт самая же простая часть по "отчуждению", скажем так. Любые взаимодействия с ним только через его методы. Кто-то что-то хочет от ком-порта - пусть вызывает его метод
Именно так я и писал изначально класс ком-порта. Я даже больше скажу, я начал писать программу с UI и с класса ком-порта. А потом оказалось, что от него в обязательном порядке нужна обратная связь, а это ожидание. Ожидание несовместимо с UI, потому компорт уехал в треддинг. В треддинге обратная связь ввиде return отсутствует, только через... Забыл как называется, можно события в PyQt создавать, но это всё не очень удобно, хотя я частично и ипользую такой способ. Но суть то в том, что с ком-портом взаимодействует не только UI. потому у ком-порта появились переменные отображающие его состояния, и из других классов и модулей работа с компортом стала выглядеть так:
sp.send(b'msg')
while sp.busy:
----time.sleep(0.1)
И вот тут уже получается что куча переменных sp жёстко прописанны в других классах... Ну да, можно эти переменные выдавать методами класса - но так ведь код раздуется до невероятных масштабов, а суть не изменится. Хотя постой, сам serialport так же зжестко прописан в других классах как объект ккласса - sp. И если делать другие классы независимыми - получается, sp Туда надо передавать в параметрах?
Далее, при возникновении ошибки по компорту компорт у меня сам меняет часть состояний элементов окон через переменные их объектов, пришёл я к этому опять же в процессе разработки, изначально так не планировалось, но вышло так, что без этого необходимо сущности плодить - тут во-первых отсутствие чёткой обратной связи, во-вторых куча разных состояний, которые удобнее учесть в одном месте оказалось...
В общем я прям хз.
>>586210
os.sys(r'c:\путь к файлу')
os.spawnv(os.P_DETACH, r'c:\путь', ['-аргумент 1', '-аргумент2'])
Шик, хоть где-то книжки в довольно большом сборнике лежат
Анон, пара тупых вопросов. Почему функция
>>>math.pow(3, 2)
Так называется? Возведение в степень это же "Exponentiation" на инглише.
И вопрос по Косинусу
>>>math.cos(0)
Это косинус? Почему вбиваю
>>>math.cos(0)
Дает результат не "-1", а это:
-0.59846006905785809
бамп вопросу
Благодарю, шарящий анон! Добра
Если бы ты сделал requirements.txt так, как это обычно делают:
pip freeze requirements.txt
То ты бы знал, что эти зависимости устанавливаются через:
pip install -r requirements.txt
Это если нужно посчитать. Возможно, тебе другое надо, хз.
>Но суть то в том, что с ком-портом взаимодействует не только UI
Твой объект ком-порта выполняет некоторые функции: отправляет запрос, получается ответ. Естественно он это делает не для своего удовольствия, поэтому существуют сигналы. Ты определяешь сигналы, например, "данные получены" и "ошибка по таймауту", а кто их там будет получать и что с этим будет делать - ком-порту похуй.
Объект UI, как и остальные интересующиеся, должен слушать события и уже сам решать, например, если "данные получены", то отображать данные, если "ошибка" - блокировать элемент. Отсюда заодно становится очевидна очередность создания: кому похуй тот и первый. И да, объекту UI так же должно быть похуй кто еще слушает сигналы ком-порта.
>куча переменных sp жёстко прописанны в других классах
Да не так уж жестко. Ты же обращаешься к полям объекта через переменную sp. Тут проблемы могут начаться, если ты внезапно захочешь заменить объект ком-порта на, допустим, объект Modbus, у которого поля отличаются, тогда придется переписывать и страдать.
Как в вашем питоне присвоить переменной значение элемента массива так, чтоб переменная не становилась массивом?:
О блин, не видел что ты ответил.
> Естественно он это делает не для своего удовольствия, поэтому существуют сигналы.
Можно поподробнее, о каких сигналах речь?
> как и остальные интересующиеся, должен слушать события
Слушать события - имеется ввиду, что в данном случае надо там запустить какие-то циклы, которые будут чекать состояния? На каждое состояния объекта ком-порта должны реагировать практически все остальные объекты
Не кидайте тапками, котаны. Я за помощью пришёл. Программиостом быть не собираюсь - но очень бы облегчил себе жизнь, научившись хотя бы на банальном уровне программировать на Питончике. Цели и задачи описал выше: аналитика, парсинг, визуализация.
Помогите, анончики, вкатиться. Посоветуйте, прошу, какие-нибудь онлайн сервисы для обучения, годные мануалы. Чтобы в кратчайшие сроки освоить язык на базовом уровне.
Спасибо заранее всем откликнувшимся.
Ананасы, пятый час утра..
https://dumpz.org/cY6D9dWGhtZE
Вот откуда берутся всё эти:
soup.find, find_all, td.find, links.append, text.split и тд?
Откуда? Я умом более-менее вкуриваю конструкцию - но я не могу понять, где блядь мне найти "словарь языка"? Я ассоциировал программирование с изучением иностранного языка: учишь слова, слова увязываешь в предложения, предложения в абзацы и в итоге имеешь полный текст. Здесь, блядь, я вообще нихуя не могу понять - что и откуда берётся.
Тоже самое с визуализацией данных: https://medium.com/nuances-of-programming/5-простых-способов-визуализации-данных-на-python-с-кодом-e0053808c83d
Там вообще другие "команды" - где мне это всё выучить? Откуда они берутся? Где, блядь, найти, "словарь языка"?
Пожалуйста, помогите. Я правда пытаюсь разобраться и вкатиться...
Привыкай. Это называется библиотека. В каждой библиотеке книжки на своем уникальном суржике. Но есть государственная библиотека имени Гвидо Ван Россума https://docs.python.org/3 . Прочитай сначала букварь на официальном государственном языке https://docs.python.org/3/tutorial/index.html
Страдал тут кто-нибудь тоже из-за чересчур высокого интеллекта?
>Можно поподробнее, о каких сигналах речь?
В pyqt есть сигналы и слоты. Сигнал, считай, тоже самое что и событие. Объект генерирует сигнал, другие объекты могут подписываться на этот сигнал с помощью слота и запускать обработчик события. Вместе с сигналом можно передавать и данные.
>надо там запустить какие-то циклы, которые будут чекать состояния?
Все уже написано за тебя. Тебе нужно сделать .emit() в отправителе и .connect() в всех получателях. Или что-то вроде этого.
Не одному. Фласк нечего учить, но из коробки почти ничего нет, и потом приходится либо велосипедить, либо использовать расширения. В джанге всё есть, учить заебёшься, но использовать потом легче. А ещё у меня джанга ассоциируется с пхп.
На css, как вариант
Не, ну предел должен быть. Сам питон и сопутствующее это в том числе и для себя изучаю, мне сам язык нравится. А уж ради работы придётся засучить рукава и ковыряться в джанге.
За сколько реально выучить Пайтон, при условии, что это первый ЯП?
Кто-нибудь курсы проходил какие-нибудь? Видео мануалы?
>Страдал тут кто-нибудь тоже из-за чересчур высокого интеллекта?
Хуя самомнение. Ты просто довнич, который не способен разобраться в простеньком фреймворке и которому кажется, что он может сделать лучше сам (не может).
Есть freecodecamp Но ты должен пообещать задонатить в организации Woman who code или Black woman who code
>>587266
>>587241
>>587201
>>587197
>>587184
>>587085
>>586713
>>586712
magnet:?xt=urn:btih:dba3f14b1efdaa1784e87b42df60fd87cc2b3302&dn=%D0%9A%D0%BE%D1%80%D0%BD%D0%B5%D0%B5%D0%B2%20-%20%D0%9A%D1%83%D1%80%D1%81%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%BD%D0%B0%20Python%203.6%20%282019%29&tr=http%3A%2F%2Fbt2.t-ru.org%2Fann&tr=http%3A%2F%2Fretracker.local%2Fannounce
magnet:?xt=urn:btih:607ea8b5df4fc07a692ee1cf2b6ff5934af83883&dn=%D0%9B%D1%83%D1%82%D1%86%20%D0%9C.%20-%20%D0%98%D0%B7%D1%83%D1%87%D0%B0%D0%B5%D0%BC%20Python,%20%D1%82%D0%BE%D0%BC%201,%205-%D0%B5%20%D0%B8%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20-%202019.pdf&tr=http%3A%2F%2Fbt3.t-ru.org%2Fann&tr=http%3A%2F%2Fretracker.local%2Fannounce
Накидывайте ещё. Шапку нужно обновлять и дополнять.
Из торрентов годное тольео это. Если знаете - кидайте.
На сервере свой venv создаёшь и ставишь пакеты из requirements.txt туда pip install -r requirements.txt.
Что это вообще значит? Типа залить исходники всего кода пакетов из твоего венва? Как минимум, он будет занимать лишнее место в гите. Как максимум,
код пакетов может, хотя я этого и не гарантирую, отличаться на разных ос. Или что ещё ты туда собрался заливать?
Выдохни, поехавший, лол.
Гит - репозиторий кода, а не интерпретатора.
Если ты кодил на винде и хочу запуститься на линуксах, чем мне поможет твой интерпретатор?
Не кросплатформенно. И окружения не хранят где то, а собирают на месте. Иначе заебешься все варианты окружений хранить. Я уже не говорю что каждому требуются свои настройки окружений, а кто то вообще захочет гонять на дефолтном интерпретаторе, поставив туда нужные либы.
>>587534
>может
Не может, а будет.
def mamkuebal(input_list):
for item in input_list:
name = item["name"]
phone = item["phone"]
dob = item["dob"]
print(f"{name}\n{phone}\n{dob}")
сейчас бы по iterable через range(len()) итерироваться, лалки
Собираюсь вкатиться в питон, но я криворукий мудак, каких ещё свет не видывал. Появилась острая необходимость освоить скилл, который в перспективе будет актуален, и позволит фармить средства. Я выбрал питон.
Сегодня посмотрел этот ваш «питон за час» и практически (вообще) нихуя не понял.
Питонач, стоит ли мне вкатиться, если из стартовых ресурсов у меня только упорство и усидчивость. Получится ли обрести скилл если я в этой теме даже не ноль, а блять просто не существует меня.
Спасибо.
конечно, могу для начала посоветовать лекции МФТИ и Олега Молчанова на Ютюбе, ну и справочник по питону, чтобы подглядывать команды и синтаксис
>Появилась острая необходимость освоить скилл, который в перспективе будет актуален, и позволит фармить средства.
Прям так взяла и появилась? Мамке надоело что на шее сидишь, лол?
А если серьёзно, ты какую то хуйню спрашиваешь. "Стоит ли вкатываться? Я упорный и усидчивый, но ничего не знаю." Да хуй тебя знает, стоит тебе вкатываться, или нет.
Можешь изучить веб-дизайн. Если еще до кучи изучишь верстку, то сможешь фармить бабло быстрее чем с питоном, потому что в проге для зарабатывания бабла кроме питона еще требуется 100500 других технологий.
Дизайн начинай учить копированием десятков существующих вебсайтов где-нибудь в попошопе. Читай блоги дизайнеров. Смотри ютуп.
Технически - похуй.
Практически - с функцией надо обращаться как с функцией, иначе анализаторы кода проебут все твои косяки, переменная переопределится без предупреждения, функцию не будет видно вне текущего скоупа, тот кто будет рефакторить охуеет всё это дерьмо разгребать, а тимлид хуем по лбу настучит.
>функцию не будет видно вне текущего скоупа
Она ведь в любом случае видна в скопе, где ее объявили?
мимо
Ваше мнение?
Звёздочку убери.
>Ниже вы найдете примеры задач, которые пройдете ближе к концу курса. Разумеется, все темы, которые необходимы для их решения, есть в курсе.
>задачи уровня пятой лабы хирьянова
есть функция с переменным кол-вом аргументов, неименованными и именоваными(хешами)
функция прибавляет каунт ко всем аргументам по очереди и возвращает конечный каунт как сумму всех аргументов
я питон не знаю
Я натыкался на изучение Java в браузерной игре. А по Python ничего не нашёл.
Обучающиеся и матёрые, накидайте ссылок на годноту.
Спасибо.
>>587292
Тебе отдельно, Анон.
Danke
Думаю, что ты пидор епта!
Джанго фор герлс, будто специально для тебя, принцесса
А так питон простой достаточно, учить его приятно, всякие игры не особо и нужны
Да чет мелко.
Давайте дистрибутив бубунты с предустановленным интерпретатором и хеллоувордом на ГИТ заливать.
Тогда надо и железо как-то доставлять, вдруг твоя бубунта не взлетит на моем из-за архитектурной несовместимости
Как нормальный человек - это как?
Посоветуй - скажу спасибо.
>>587961
Благодарю, аноныч. Посмотрю.
>>588135
КАК его учить? Если ты вообще в программирование не умеешь.
КАК вкатываться? Я посмотрел видео на ютубе, статьи и бегло книги проскроллил - там всё для тех, кто уже кодит. И везде пишут "приветствуются имеющиеся навыки программирования на других языках". А я не умею вообще. Хочу вкатиться. Не для работы, блядь. Я ничей хлеб не отнимаю. Для себя - мне нужна аналитика, парсинг и сравнение данных, вывод их в графики и таблицы.
Где и как мне в кратчайшие сроки научиться кодить? У меня времени ваще нихуя нет - я и так тут ночью в тред писал - гуглил с трёх до пяти утра...
Спасибо всем откликнувшимся.
> Давайте дистрибутив бубунты с предустановленным интерпретатором и хеллоувордом на ГИТ заливать.
Для этого есть всякие докерхабы как раз.
И всё на гит.
Внки только. Ничего больше адекватного не пишется.
Пишешь на Питоне под ARM чтоле?
>Как нормальный человек - это как?
Книги, справка, решение задач.
>бегло книги проскроллил - там всё для тех, кто уже кодит
У меня проблема как раз в обратном - очень много книг тебе начинают с нуля рассказывать самые основы, будто ты вчера начал код писать.
>мне нужна аналитика, парсинг и сравнение данных, вывод их в графики и таблицы
Это такая тема, которая ещё и математику требует.
В общем, ищи книгу или курсы, которые тебе будут понятны, и просто делай. Вначале что-то простое.
Визуальные новеллы на Ren'Py.
"Нормальных" нет, и не ищи. Даже на жабе для десктопов только майнкрафт и ещё парочка. Конечно, есть игровые движки на питоне, но далеко на них не уехать.
Многие паттерны там неюзабельны в принципе
ну ты и говноед. иди в офис работать
ну модуль рандом в помощь.... метод рандом чуз из всех твоих ответов в массиве если правильны то увеливывая на один и выходи из цикла если не правлиный удаляешь то снова в это массив идешь...то предварительной удаляешь тот ответ что пользователь ввел
джанго вроде в пачарме проф версси мб из-за этого
лайк
там пиздаый курс есть у челика в ухе сережка
олег молчанов глянь видос на ютубе
ну через for можно сделать ты главное название файла меняй через {}{}.format() а то ты паходу затераешь его
>переделай скрипт под .exe
это то я переделаю, но так же я и сырцы выложу.
А вабще, эти экзешки, которые генерирует пайинсталлер - это разве не контейнеры? Тоесть их разве нельзя извлечь и получить содержимое?
ну к железу можно твой скрипт приклеить
хз о чем ты я читаю байт оф питон ...
Бля, от души братан, дай бог здоровья
Объясните простыми словами, что такое миграции у баз данных? Я гуглил и нашёл только про миграцию у джанго, и это, как я понял, просто работа джанговской орм.
От контекста зависит.
У кого то перенос с одного диска на другой - миграция.
Но в основном подразумевается перенос с изменениями в платформе.
>curl.setopt(curl.URL, cyrillic_url)
>UnicodeEncodeError: 'ascii' codec can't encode characters in position 87-91: ordinal not in range(128)
Нахуй иди даун тупой
https://habr.com/ru/post/342906/
дошёл до момента с интерполяцией, и не пойму, к чему он её применяет. что на графике есть A, что на графике есть B и что есть t
Аноны, математики, я правильно понял?
Ещё, кстати, вопрос: какими инструментами такую информацию визуализируют на питоне? Чтобы, например, список наиболее часто употребляемых слов выводить в круговую диаграмму какую-нибудь или просто графиком показывать.
Я работаю за 100к в месяц, но вообще не в области программирования, менеджер по оптовым продажам.
Щас читаю укус питона и паралельно учусь кодить.
Вопрос, в какой момент я смогу расчитывать на зп >200к? Кому и за что столько платят?
Я планирую поменять специальность, вкатываюсь по маленьку. Кто знает распишите этапы становления до гуру питона, и зоны ответственности с градацией зп.
Локация планирую поменять на питер, пишу из мухосрани
>Я работаю за 100к в месяц, но вообще не в области программирования, менеджер по оптовым продажам.
>Щас читаю укус питона и паралельно учусь кодить.
>Вопрос, в какой момент я смогу расчитывать на зп >200к?
Объективно - перестань тратить время на пистон и сделайся манагером за 200к.
На рынке сейчас полно "вайтишников" готовые годами работать за миску супа ради опыта. На что же рассчитываешь ты? Не веришь мне? Почитай истории вкатывальщиков анонов (тут иногда бывают такие треды) и сделай выводы только не истории от курсов по яп
Или ещё можешь попробовать влошиться в обучение от Яндекса. Но даже они, при ценах их программ (от 100к) не обещают вообще никакой карьеры.
Спс.
Мне как раз предлагают должность управляющего в моей сети, с переездом в другой город и зп 150. Я отказался потому что понял что хочу применить управленческие навыки в айти, для чего собственно придется туда вкатываться с нуля.
>>590010
В айти перспектив для роста больше, я точно решил вкатываться туда, пусть даже это займет 4 года.
Всем добра в этом уютном тредике
> отказался потому что понял что хочу применить управленческие навыки в айти, для чего собственно придется туда вкатываться с нуля.
Ты смотри, вкатывальщиков то берут, но отсутствие технического образования - один красный флаг, а менеджерский/гуманитарный опыт работы вместо технического - второй.
Зачем тебе питон, иди сразу погонщиком макак.
Убеди в этом хрюш.
Потому что не может быть волков больше чем овец. При таком соотношении они меняются местами. Тупая ты пизда.
Пиздец и я это должен был по умоланию знать что ли. Сука чем профельнее человечешко тем больше его чсв, не зря эту мразь давят до рабского отупения.
Спс кстати забыл сказать, спасибо
Я делаю обычно но не получается, хуйню какую то выводит
0 < c
Так и делал похоже хуйня была в самих условиях
Отцы, всем привет
Есть один скрипт
Он даже работает
pastebin.com/4zvWYnJW
Коротко в чем суть: скрипт берёт из стороннего файла переменную (ip адрес) и делает с ним злодеяния (действия, описанные в скрипте)
Формат записи в этом файле(который с переменными читай адресами) каждый следующий адрес с новой строки
И все работаено как только адрес неправильного формата или просто хотя бы пустая строка, то все, работа скрипта ломается
Подскажите, как запилить так, чтобы если вдруг случалась ошибка, он не закрывался целиком, а просто выдавал сообщение об ошибке и продолжал работу дальше
Идеальный вариант, чтобы он выдавал сообщение об ошибке в отдельный файл, но это так
Что я делал
Пробовал прикрутить конструкцию трай ексцепт, внезапно стало работать лучше, у меня сразу же ошибка вылетает при некорректном вводе, к не через секунд 10
Вот, собственно
Асинхронщину и датапроцессинг на кафке пидорю
>Мне одному Flask показался намного проще Джанго в освоении
Во фласке нет ничего, это микрофреймворк, естественно он проще будет.
Всё верно. Пили в трай эксцепт, это исключает остановку из-за ошибки.
> внезапно стало работать лучше,
Значит не к тому куску кода применяешь.
Далее, добавь какие-нибудь проверочные условия для проверрки каждой прочитаной строки.
Можешь даже изучить модуль re, импортировать весь текст из файла целиком, а не построчно, а потом при помощи re накидать допустим все допустимые/коррректные адреса из текста в список, с которым уже работать
Знаю базу, понимаю как работают функции классы объекты ссылки атрибуты методы, кароче принцип понимаю.
Когда открываю какой нить проект, база понятна вся и смотря потом документацию в целом понятно что происходит.
Но если открыть исходники какого то модуля, то там черт ногу сломит, какие то декораторы функций декораторов, бесконечные __init_xyizalupa__, вообще не понимаю что к чему.
Да хуй знает.
Пока легаси не посадят разгребать - никак.
Ну или можно попытаться вписаться в открытые проекты на gitlab и пытаться пилить фичи.
Спасибо, src.bug подошло, но вылезли другие ошибки , придется ставить всё-таки 2-й питон
Предположим я активирую виртуальное окружение после создания папки своего проекта. После virtualenv venv происходит пикрил. Чем это мне грозит и как жить дальше? Последующие команды не являются внутренней или внешней командой, исполняемой программой или пакетным файлом. Если что у меня шиндоу 7, еще я ярый противник любых обновлений оси.
https://ru.stackoverflow.com/questions/1036474/Не-создается-виртуальное-окружение-на-windows-10
> Я антипрививочник
Всем похуй.
По поводу ексцепта: там вот это должно быть, чтобы работало?
# except IOError as e:
# print(e.errno)
# print(e)
Это похоже на правду?
Добавить проверочные условия: какой формат?
Типа он проверяет строку, которую мы вводим, и если она не формат, то выплевывает ошибку и следующую пихает? Или проверяет скрипт (его отработку)? Я просто думал над вторым вариантом, так как ошибка же в теории может быть не тоько из-за некорректного ввода на вход.
А так будетк акой-никакой контроль входа программы
Про модуль re погуглю.
Спасибо!
Есть два списка:
old_items = [1, 2, 2, 3, 3, 4]
new_indexes = [5, 6, 7, 8]
Нужно получить результат:
new_items = [5, 6, 6, 7, 7, 8]
Значения только из цифр, они отсортированы в обоих изначальных списках. Как бы это поудачнее без нескольких циклов сделать? Спасибо!
new_items = new_indexes.copy()
new_items.insert(1, new_items[1])
new_items.insert(-2, new_items[-2])
idx = 0
result=[]
curr = old[0]
for i in old:
If i !=curr:
idx+=1
curr =i
result.append(new[idx])
Проверку на indexerror приделай только.
Какие ашипки то?
Спасибо, сделал уже так:
old_items = [1, 1, 2, 3, 3, 4]
new_items = [5, 6, 7, 8]
unique_items = set(items)
replace_dict = dict(zip(unique_items, new_items))
new_items = [replace_dict[p] for p in items]
>set(items)
>p in items
Благодаря твоей великолепной naming convention, никто теперь не узнает, что ты имел в виду.
В чём должна быть?
Вот как во всех этих ботах и сайтах реализуют очереди? Все, что я нагуглил, это то, что есть стандартная библиотека queue, но это, как я понял, просто реализация структуры, мне интересно, как этим вообще пользоваться. Типа юзер жмет на кнопку и ему пишет, что он в очереди. А как сделать саму эту обработку очереди? Нужно делать отдельный поток/процесс и там цикл, который постоянно проверяет таблицу в бд, которая типа очередь или есть что-то проще?
Так-то у него вообще знаки в разные стороны.
>Благодаря твоей великолепной naming convention
Поправил
old_items = [1, 1, 2, 3, 3, 4]
new_items = [5, 6, 7, 8]
unique_items = set(old_items)
replace_dict = dict(zip(unique_items, new_items))
new_items = [replace_dict[p] for p in old_items]
На первой схеме k > n*m слева подрисуй ещё.
Пишет [winerror2] не удаётся найти указанный файл: 'we2.png' -> 'zamena0.png
Import of
I=0
For file in os.listdir("D:\Test"):
New_file_name = Zamena0.png{}.png.format(I)
Os.rename(file,new_file_name)
I+=1
Пытаюсь сделать скрипт чтобы изменять имена файлов в папке.
Попробовал запустить не пучармом, а idle и все заработало. Почему?
>>591131
У меня стойкое ощущение, что я использую конструкцию try except неправильно. Вернее, что сама конструкция неправильная
Пробовал со значениями pass raise (и ещё кучу других глупостей вычитал в интернетах
Конструкцию я использую между строкой with pexpect.spawn(.......) as ssh:
То, что после двоеточия, в конструкцию не беру, хотя и брать пробовал
Есть какой-нибудь способ полегче сохранить работу скрипта?
Сохранить работу - в смысле если ругается, пусть выводит сообщение, но продолжает дальше перебирать переменные.
Хотя вы Шарите, зря я очевидные вещи пишу
Покажи как ты его используешь. Что там вообще может не получится, ловишь исключение, выдаешь сообщение об ошибке и идешь дальше.
pastebin.com/tfnU3PYw
Кажись понял. Буду изучать. Единственное, я не знаю: трай эксперт нужно включить между всей функцией
with pexpect.spawn('ssh {}@{}'.format(user, ip)) as ssh:
ssh.expect('[Pp]assword')
ssh.sendline(password)
ssh.expect('>$')
ssh.sendline('screen-length 0 tempor')
ssh.expect('>$')
ssh.sendline('display interface description ')
ssh.expect('>$')
Тут вопрос, и.к. технически ошибка случается после первой строки (как только устройство не может подключиться к другому устройству)
Понял, буду разбираться
Ебать, круто!!! Работает!
Правда, у меня теперь все адреса улетают в ошибку, даже правильные
Но я уверен, это я там что-то накосячил
Спасибо тебе!
Первый не полный ты хуйню нарисовал
>for x in list:
>x=1
Значения копируются, есть ли возможность чтобы значения не копировались? Или в питоне ссылок или какого-то другого способа нет и у меня вариант только использовать индексы?
>for x in range(len(list):
>list[x]=1
Видишь в цикле переменную list? Это список
Видишь в цикле переменную x? Это то куда в цикле копируются значения из списка
А мне не надо чтобы значения копировались, надо получать их по ссылке
Да, первым вариантом ты не сможешь изменить значения элементов. Используй второй, но не с range(len)) а с enumerate
А зачем мне тогда enumerate? Типо использовать ключи только тогда когда мне нужно будет изменить оригинал а в остальном просто как и обычно использовать сам элемент?
>А зачем мне тогда enumerate?
Потому что это в духе питона. Если сам элемент не нужен, можешь _ вместо него поставить.
Список засовываешь в конец списка, если ты хочешь элементы первого списка прикрепить к элементам второго списка, тебе нужен extend()
>2 дня в питоне
Thank
Теперь уже я спрошу, в цикле создаю объекты моего класса, но какого-то чёрта новый созданный объект по умолчанию имеет данные предыдущего объекта, что за хуйня?
Неправильно создаешь.
В том, как это должно работать. Вот типа эта очередь заполняется, а как из нее всё выходить должно? Нужно ли для этого какой-то отдельный поток делать или всё в одном умещается? Где вообще посмотреть на то, как оно в реале выглядит, потому что примеры в интернетах показывают только как ее сделать в интерактивной оболочке и поиграться с ней там же.
Потому что это в духе питона.
Двачую.
Двоч, как запоминать всяки особенности языка, методы и т.д , особенно когда только недавно начал учить и на тебя вываливается куча информации ?
а) Применять в своих скриптах, которые пишешь по ходу обучения
б) Пересказывать самому себе что успел изучиь за день.
Собственно есть 2 приложухи.
В одном из них папка с "родительским шаблоном" типа base.html
лежит так: <приложение_говно>.templates.base
Создал шаблон на вход с именем login.html во втором приложении.
лежит: <приложение_моча>.templates.login
Пытаюсь в base.html прописать ссылку вида: <a href="{% url ...%}">
шлет нахуй и выдает ошибку .
Так вот вопрос: Как прально указать эту ссылку на шаблон "login",
который лежит во втором приложении.
тАМ по условию, если пользователЬ еще не зареган, ему должно отрисовывать шаблон login.html.
.
У меня есть три массива осей x,y,z
Как нарисовать график линий уровня matplotlib?
Поиграться с настройками блэка и понять что это важно.
Сюда же стоит добавить isort.
Юзают его и на больших и на мелких(ведь они тожет могут стать большими).
>PEP8
Надо знать, что это, но на собесах не спрашивают тонкости оформления кода.
Таки скажи, что юзаешь Black и вопросы отпадут.
>Black - это только для больших проектов
Вкусовщина, но я бы сказал что для любого, где больше одного человека.
Хочу немного сменить область сейчас разработчик БД, на питоне писал всякую хуйню типо айрфлоу дагов для ETL, но этот опыт вполне себе укладывается в коммерческую разработку.
Что нужно, чтобы вкатиться в разработку каких-нибудь веб-сервисов за 1к долларов в дс? Сейчас знаю питон на уровне - прочитал вчера про дескриптор.
>сейчас разработчик БД
Всмыле? И ни на чем не кодил? Только дизайн БД и SQL?
>типо айрфлоу дагов для ETL
Опыт с AWS вообще какой?
Может тебе лучше в архитектора целиться?
>Всмыле? И ни на чем не кодил? Только дизайн БД и SQL?
Кодил всякие процедуры, функции, триггеры.
>Опыт с AWS вообще какой?
Никакого
>Может тебе лучше в архитектора целиться?
Нет, у меня не так много опыта
Ну, сначала иди кодить за еду куда-угодно, через год возьмут в приличное место.
Кстати, сколько лет?
Разработка БД это плюс.
>Ну, сначала иди кодить за еду куда-угодно
Мне сейчас 90к платят, я вумный, не хотелось бы работать за еду
Вполне норм. Но в студенческие обучалки поздновато вписываться.
Впрочем, при наличии усердия все должно получится, тем более опыт с БД говорит о том, что голова на месте.
Удачи.
Ну, другой вариант - искать места, где основной скилл - базы данных (за который тебя возьмут), но кодить тоже придется. Но тут зависит от везения - подвернется такое место, или нет. Может и годами не подварачиваться.
псиб
Нахуя тебе собранное? Учи кусками, чтобы между каждым был результат. Вот первое что можешь сделать это базовый питон, потом есть на канале sentdex всякие практические курсы, там что-нибудь пройди. Пройди на степике курс по статистике от института биоинформатики.
Выделяешь строки, C-x TAB, дальше стрелочками куда тебе нужно.
[code]
def __contains__(self, item):
return item.id in list(self.values_list("id", flat=True))
[/code]
Да чо вы все в эти книги уткнулись? Берешь практику и делаешь, параллельно читая книжку по алгоритмам. Неужели не ясно изначально, что чтением книг ты свой скилл в программировании не прокачаешь?
мимо-сеньор-помидор(нет)
Я читаю книги, слушаю лекции и параллельно решаю задачи с проекта эйлера(и матан вместе с этим подтягиваю и пока решаю ищу конкретные детали того как решать некоторые проблемы). Я просто не понимаю как инаяе я могу научиться делать бОльшие проекты, будет просто костыльная хуйня ведь
А ещё ты насмотрелся Хауди Хо
Итак, если я хочу заниматься датасайенсом мне нужно просто открыть код нейронки и начать его построчно разбирать?
Я думаю, аноны выше хотели сказать, чтоб ты поставил себе задачу и искал способы её решить
Так вообще кто-нибудь пишет? Особенно странно выглядит конструкция на третьей.
Первое и второе точно. Третье всрато выглядят из-за короткой строчки index, но это дело привычки, думаю. Своего рода компромисс, я к кодстайлу не питон на работе тоже не сразу привыкнул.
Да.
Можно, я проверял. Но мб это зависит ещё от того, как именно ты получаешь exe из файла py
А не хочешь import paramiko?
print(max(a, b, c))
Условия таковы что всегда есть одно число из трёх которое больше. В чем проблема ?
Простой сайт:
Сделай сайт с видосиками и картинками. Просто главная страница с лентой, где по одному видео, картинке.
Загружаешь просто чтением с жд, куда ты ручками предварительно все положил. Ну стили добавь чтобы выглядело приятно.
(Используй все таки django или хотя бы flask)
Сложный сайт:
Тоже самое но добавь:
1. Регистрация (можешь взять дефолтную джанго, но добавь свои странички)
2. Возможность добавить картинку/видео.
3. Система лайков.
4 Система подписки на юзера.
5. Отправка писем (+ без нее ты не сделаешь регистрацию), например при новом посте у юзера из твоих подписок.
6. Отправка писем, загрузка картинок не должны влиять на бизнес процесс.
7. Добавь логирование всех действий, всех ошибок.
8. Комменты еще прикрути.
На простое задание у тебя неделя. На сложное + месяц.
Я в треде сижу, так что тут и отписывайся о результатах. Сайт запусти на серваке, сюда скинешь.
Посчитать площади фигур из заданных параметров.
Расписал три блока, первый работает исправно, что не так с остальными двумя? Изначально ведь задается просто название, в связи с чем должен начинать работать блок. Но что то не так у меня видимо с синтаксисом?
Ув. Боги пайтона, памагити
Всё-таки фигуные скобки более очевидны новичкам.
да я уже понял, там пи на квадрат радиуса, поменял
Сяп за ответ. А если у меня несколько связанных файлов, можно ли это как-то завести?
Я хочу добавить в джангу телеграм бота. Бот задает запрос, лезет в базу, на основе данных из базы задает следующий вопрос. И так несколько раз. Как хранить состояние этого замечательного общения, если я ввел данные, и получив очередной вопрос от бота, решил, например, поспать недельку. Как сделать так, чтобы бот при моем возвращении понял, что это продолжение именно с последней точки, а не начало нового диалога?
cookies
Сохранять историю диалога в базу с привязкой к юзеру, очевидно.
Один он ничего не возвращает, там уравнение и если оно истинно то возвращает True
Enjoy your UNIX.
Не буду спорить с тобой о семантике, пусть будет как ты сказал.
Истинное уравнение "b < a" возвращает True. А теперь определи истинность выражения "True > c". Что больше?
Я извиняюсь, я не он, но не пойму к чему ты клонишь?
Выражение 'if x > a > c:' рабочее и повсеместно используемое, и конструкция похожа на ту, что он употреблял
Я думаю он просто пиздит про гарантированно разные входные числа в условии.
Такого не может быть сначала знаки выполняются потом if у них разный приоритет.
>>593341
>>593333
>>593329
Да похоже я пиздобол
Там нет такого условия более того в разборе задачи вот такое предложение есть:
Если одно число больше либо равно двух остальных, то оно является максимумом из трех.
Простите великодушно, но если они могут быть равны как тогда может быть большее число ? А в этой задаче всегда должен быть ответ...один из трех там нет варианта равенства чисел в ответе.
>одинаково
Нет, не одинаково, очевидно если a и b равны, то вывод разный будет, ты мог для приличия хоть записать одинаково, а не просто else.
Про что спорят ниже дебичи я не понимаю, просто открываем документацию:
>Comparisons can be chained arbitrarily, e.g., x < y <= z is equivalent to x < y and y <= z, except that y is evaluated only once (but in both cases z is not evaluated at all when x < y is found to be false).
>Formally, if a, b, c, …, y, z are expressions and op1, op2, …, opN are comparison operators, then a op1 b op2 c ... y opN z is equivalent to a op1 b and b op2 c and ... y opN z, except that each expression is evaluated at most once.
>Note that a op1 b op2 c doesn’t imply any kind of comparison between a and c, so that, e.g., x < y > z is perfectly legal (though perhaps not pretty).
за неделю я не успею. я ж работаю еще.
Давай месяц. Я хоть в проге и не полный ноль, не далеко отошел. И с питоном только знакомлюсь.
Тебе помощь предлагают БЕСПЛАТНО, так ты за дедлайн поторговаться решил? Сказано неделю, значит неделю. И тестами покрыть не забудь.
Ты имеешь ввиду несколько связанных py файлов? Если да, то можно. Преобразуй в exe файл, в котором main. Все особенное э остальное ему нужное само подцепится.
Создание ботов довольно потное занятие, с парсингом проще и рынок понятнее.
Ты проверяешь вхождение элемента в список list?.. В каком месте это будет быстро?
Как вкатиться в программирование? Как понять программирование? Как научиться программировать на Python?
Ты не поверишь, но многие здесь убеждены в обратном, что кодеры норм, а линуксоиды - токсичная сволочь.
Как вкатиться? Научиться гуглить. Если всё плохо, и книги не заходят, можно начать с курсов и видосиков на ютубе.
Да как раз нихуя. Однажды надоела винда, в игры не играю и подался к линуксоидам. Спросил у них - мне сразу разжевали что к чему ваще на лайтах - вот, лечу уже не первый год на линухе в хуй не дую.
Решил начать кодить. Блядь не для работы - для себя. Автоматизировать действия. Блядь, я тупо захотел, что бы мой бот моему кенту всратые пикчи слал, рандомный интервал и тд. Таблицы по работе сравнивать. Данные парсить научиться. Заебался копипастить с сайтов значения.
Понял, что надо вкатываться - читал и нихуя не понял. Обратился в пару сообществ с просто тупыми вопросами - с чего начать, как вкатываться, кодить не умею, с матаном не дружу - всратый гуманитарий. Блядь, везде пиздец какие - то блядь я хлеб у них отнимать буду, то кодинг это для избранных и тд.
Я читал статьи, видосы смотрел - я не могу понять, как взять и начать кодить.
Вот как? Как мне написать тот же бот для начала или скрипт, который логинится под моей телегой или через telegram-cli будет другану моему всрототянок слать раз в час оллтайм. Вот как это в скрипте написать и где прочитать и где научиться. Переменные я умею объявлять, логичекие операции тоже. Остальное нихуя не понимаю. Про парсинг - вообще пиздец. Даже html выучил уже и сайты в редакторе понимаю...
Организовать связь между процессами или потоками
=(( пожалей несчастную макаку тестировщика
какой же охуенный дружелюбный язык для начинающих. Код не работает потому что прост пробел забыл)))000
Ты дэбил или да?
Прогеры дружелюбны к начинающим прогерам. Но до начинающего прогера от нулевого чела очень большой путь.
Вкатывальщики обычно не те, кому программирование интересно, а те, кто считает, что на этом много бабла можно поднять. А само программирование их похуй. Отношение соответствующее.
Сокеты нужны совсем для других целей, не замена urllib. Если ты программируешь сети, то понимать их желательно. Но тогда ты одними сокетами не обойдёшься, ещё придётся многопоточное программирование осваивать. Или асинхронное, то там своя библиотека для работы с сокетами.
Блядь, анон. Я всегда заранее говорил, что это для меня.
Один хуй шлют нахуй.
Вот что я делают не так?
Сейчас три часа ночи - я всё ещё пытаюсь освоить питон.
Вот, я пробую парсить сайт:
import requests
BASE_URL='https://www.rbc.ru/'
r = requests.get(BASE_URL)
И он мне выдаёт HTML.
Я проверял через print()
Но мне нах он не нужен - я хочу чистые значения, прочитал про формат JSON. Добавляю код:
parsed_json = r.json()
pprint(r.json[0])
И всё, блядь Всё рушится нахуй и сыплет ошибками:
Traceback (most recent call last):
File "test.py", line 7, in <module>
parsed_json = r.json()
File "/home/user/.local/lib/python3.6/site-packages/requests/models.py", line 897, in json
return complexjson.loads(self.text, kwargs)
File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Как мне это всё понимать? Как пофиксить? Где искать причину? Как мне правильнее изучать язык? Блядь, если вдруг кто думает, что я тут бабки зарабатывать хочу - повторяюсь: НЕТ!
Моя задача проста: автоматизация рутинных действий, парсинг сайтов, сравнение информации, работа с ней и в идеале - построение графиков.
Блядь, анон. Я всегда заранее говорил, что это для меня.
Один хуй шлют нахуй.
Вот что я делают не так?
Сейчас три часа ночи - я всё ещё пытаюсь освоить питон.
Вот, я пробую парсить сайт:
import requests
BASE_URL='https://www.rbc.ru/'
r = requests.get(BASE_URL)
И он мне выдаёт HTML.
Я проверял через print()
Но мне нах он не нужен - я хочу чистые значения, прочитал про формат JSON. Добавляю код:
parsed_json = r.json()
pprint(r.json[0])
И всё, блядь Всё рушится нахуй и сыплет ошибками:
Traceback (most recent call last):
File "test.py", line 7, in <module>
parsed_json = r.json()
File "/home/user/.local/lib/python3.6/site-packages/requests/models.py", line 897, in json
return complexjson.loads(self.text, kwargs)
File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Как мне это всё понимать? Как пофиксить? Где искать причину? Как мне правильнее изучать язык? Блядь, если вдруг кто думает, что я тут бабки зарабатывать хочу - повторяюсь: НЕТ!
Моя задача проста: автоматизация рутинных действий, парсинг сайтов, сравнение информации, работа с ней и в идеале - построение графиков.
Блядь, это троллинг такой? Деньги заплати программисту и будут тебе "чистые значения"
Охуенно ты пытаешься парсить.
HTML страница не является жсоном. Её нежно парсить с помощью bs4 или других аналогов. Гугли гайды по нему или качай книги по скрапингу на питоне с торрентов.
>Код не работает потому что прост пробел забыл)))000
Да внатуре. Странно, что в 2020м году программа не понимает, что ты от нее хочешь, когда "прост забываешь" следовать правилам написания кода. Давно пора уже придумать ЯП, где достаточно написать "Do pizdato", и все работает. Причём надо чтоб "Do pesdato" и все остальное тоже воспринималось без ошибок
Когда уже запилят среду, где можно хрюкнуть или рыгнуть в микрофон и прога сама тебе составит ТЗ со всеми допусками?
Зависит от ресурса, от вопроса, от миллиона других факторов. Кому-то нравится отвечать каждый день на вопросы уровня "Какую книжку почитать?", а кто-то устает от этого, некоторые даже срываются и пишут тебе какой ты нехороший.
Вот ты, например, >>593934
Не знаешь как это все работает, но хочешь чтобы всё и сразу. Многие уже по твоим вопросам оценивают, так сказать, расстояние от тебя до решения и понимают, что тебя проще на хуй послать с твоим хотелками.
>Моя задача проста
Это смотря как оценивать. Для меня это сложная задача, в частности зная, что такие сайты любят постоянно немного изменять верстку, я бы даже браться не стал.
(версия 2.2)
Залупой верблюжьей по губе себе проведи. Хуёлинг.
З.Ы. Вот про таких животных и речь. Либо ржать будут, либо хуйню городить.
>>593954
Я пытаюсь так, как могу. И учусь тоже так, как могу. Собственно, повторюсь - целей заработать на этом бабло у меня нет. Единственное, в чём я непоколебимо уверен - первичные знания кодинга облегчат мне жыснь. Я выбрал Python. Теперь пытаюсь сам себе сформулировать и поставить задачи, решая которые я буду вкатываться в язык.
>>593954
>HTML страница не является жсоном
Это я понимаю. HTML я тоже немного подучил.
Проверял работу через print(r.content) и r.text. Он мне в консоль возвращал вывод html страницы. С тегами и тд. Нахуй они мне нужны? Я хочу научиться извлекать нужные мне данные для последующей работы с ними. Сортировка, составление таблиц, аналитика, визуализация и тд.
Сколько времени требуется на обучение подобным скиллам? Если я так на каждой второй строчке буду спотыкаться - это же пиздец..
И, аноны, заебали - выжмите из себя пару советов. Хуле вы такие жадные. Помогите вкатиться и сократить время освоения программирования. Спасибо.
>>593955
Подскажи название, пожалуйста.
>>594047
>Не знаешь как это все работает, но хочешь чтобы всё и сразу.
Где мне посмотреть, как это всё работает? Хуева туча форматов, нюансов. Неужели для своих задач в программирование человеку, далёкому от IT не вкатиться на лайтах?
>>594047
>Многие уже по твоим вопросам оценивают, так сказать, расстояние от тебя до решения и понимают, что тебя проще на хуй послать с твоим хотелками.
Блядь, ну я же никого не прошу за меня решить задачу. В ЭТОМ ВСЯ РАЗНИЦА. Я пытаюсь её решить сам и вкатиться в язык сам. Мои вопросы для программистов звучат глупо и смешно и вместо того, чтобы поржать и направить в нужном направлении - тупо шлют на хуй и на говно исходят. Да я бы и сам поржал над собой, когда прокачал бы скилл. Да вот как прокачивать? Лекции МФТИ смотрю - в матан вообще не умею, пытаюсь разобраться, напрягаю мозг. Даже конспект веду, лол..
>>594047
> Для меня это сложная задача, в частности зная, что такие сайты любят постоянно немного изменять верстку, я бы даже браться не стал.
Ну так разные сайты. Поэтому я и html изучаю попутно. Чтобы, в зависимости от задачи, я для себя парсил данные с различных нужных мне сайтов, приводил их к удобному формату и дальше работал с ними. И не важно, это будет аналитика ЦБ РФ, какая-то выжимка тематических новостей или парсинг выпускаемой конкурентами продукции и их цен. Да пофиг. Захочу - ваще весь двач спарсю себе и буду дрочить от радости - моё дело. Научиться хочу..
До сих пор не могу понять, как работать с каптчами. Как парсить, если сайт логин\пароль требует. Мне это интересно. Но я не обладаю знаниями и большим количеством свободного времени - поэтому ночами и сижу. Но мне кажется, что я не там копаю, не с того начал и вообще неправильно подошёл к процессу. А когда задаю вопросы - все ржут, вместо того, чтобы просто подсказать. Ну или рассказать, как сами вкатывались.
Залупой верблюжьей по губе себе проведи. Хуёлинг.
З.Ы. Вот про таких животных и речь. Либо ржать будут, либо хуйню городить.
>>593954
Я пытаюсь так, как могу. И учусь тоже так, как могу. Собственно, повторюсь - целей заработать на этом бабло у меня нет. Единственное, в чём я непоколебимо уверен - первичные знания кодинга облегчат мне жыснь. Я выбрал Python. Теперь пытаюсь сам себе сформулировать и поставить задачи, решая которые я буду вкатываться в язык.
>>593954
>HTML страница не является жсоном
Это я понимаю. HTML я тоже немного подучил.
Проверял работу через print(r.content) и r.text. Он мне в консоль возвращал вывод html страницы. С тегами и тд. Нахуй они мне нужны? Я хочу научиться извлекать нужные мне данные для последующей работы с ними. Сортировка, составление таблиц, аналитика, визуализация и тд.
Сколько времени требуется на обучение подобным скиллам? Если я так на каждой второй строчке буду спотыкаться - это же пиздец..
И, аноны, заебали - выжмите из себя пару советов. Хуле вы такие жадные. Помогите вкатиться и сократить время освоения программирования. Спасибо.
>>593955
Подскажи название, пожалуйста.
>>594047
>Не знаешь как это все работает, но хочешь чтобы всё и сразу.
Где мне посмотреть, как это всё работает? Хуева туча форматов, нюансов. Неужели для своих задач в программирование человеку, далёкому от IT не вкатиться на лайтах?
>>594047
>Многие уже по твоим вопросам оценивают, так сказать, расстояние от тебя до решения и понимают, что тебя проще на хуй послать с твоим хотелками.
Блядь, ну я же никого не прошу за меня решить задачу. В ЭТОМ ВСЯ РАЗНИЦА. Я пытаюсь её решить сам и вкатиться в язык сам. Мои вопросы для программистов звучат глупо и смешно и вместо того, чтобы поржать и направить в нужном направлении - тупо шлют на хуй и на говно исходят. Да я бы и сам поржал над собой, когда прокачал бы скилл. Да вот как прокачивать? Лекции МФТИ смотрю - в матан вообще не умею, пытаюсь разобраться, напрягаю мозг. Даже конспект веду, лол..
>>594047
> Для меня это сложная задача, в частности зная, что такие сайты любят постоянно немного изменять верстку, я бы даже браться не стал.
Ну так разные сайты. Поэтому я и html изучаю попутно. Чтобы, в зависимости от задачи, я для себя парсил данные с различных нужных мне сайтов, приводил их к удобному формату и дальше работал с ними. И не важно, это будет аналитика ЦБ РФ, какая-то выжимка тематических новостей или парсинг выпускаемой конкурентами продукции и их цен. Да пофиг. Захочу - ваще весь двач спарсю себе и буду дрочить от радости - моё дело. Научиться хочу..
До сих пор не могу понять, как работать с каптчами. Как парсить, если сайт логин\пароль требует. Мне это интересно. Но я не обладаю знаниями и большим количеством свободного времени - поэтому ночами и сижу. Но мне кажется, что я не там копаю, не с того начал и вообще неправильно подошёл к процессу. А когда задаю вопросы - все ржут, вместо того, чтобы просто подсказать. Ну или рассказать, как сами вкатывались.
так есть же такой язык. JavaScript называется
>До сих пор не могу понять, как работать с каптчами
Каптча, обычно, это просто картинка:
1. Скачиваешь эту картинку
2. Распознаешь ее любым доступным способом: своей распознавалкой на нейроночке, сервисом распознавания, ну или глазами, наконец
3. Распознанную надпись отправляешь post-запросом(вместе с данными формы или отдельно, смотря как устроено все в конкретном случае) на url, который ты можешь подсмотреть через консоль разработчика в браузере.
>Как парсить, если сайт логин\пароль требует.
Создаешь в requests сессию, отправляешь логин и пароль post-запросом на определенный url, в ответ сервер выдаст тебе нужные идентификаторы(куки, токены и тому подобное). После этого можешь запрашивать нужные тебе страницы.
Перед тем как парсить сайт, сначала погугли, есть ли у сайта API - это все упростит, так как с API обычно есть документация.
>А когда задаю вопросы - все ржут, вместо того, чтобы просто подсказать.
Потому что это звучит как "Мне нужно перевезти через границу 20 тонн прекурсоров в фуре. Лицензии нет, водительских прав нет, стою возле химического завода, охранник не пускает. Посоветуйте что почитать, чтобы вкатиться в фармацевтику?"
Хм, вьюха называется В ТОЧНОСТИ так же. Заменил на прямую ссылку - работает. Но все равно не врубаюсь почему такое определение url не катит
А ты namespace в url.py для вьюхи определил? Там где .as_view(namespace='govno')
>Да вот как прокачивать? Лекции МФТИ смотрю - в матан вообще не умею, пытаюсь разобраться, напрягаю мозг. Даже конспект веду, лол..
Откуда там матан вообще?
Ты главное практические задания все прорешивай
Ну вот загугли Automate the boring stuff. Никакого матана, самые азы, показывают сделанные за тебя велосипеды, чтобы не пришлось изобретать заново (и да, про либы для парсинга там тоже есть) и учат пользоваться. Все в инете бесплатно лежит. А там уже поймёшь, что более хардкорное смотреть.
Если я правильно намерял с помощью timeit - это в 24 раза быстрее, чем проверять вхождение в QuerySet в текущей реализации.
Поискать парсер формул или написать свой.
Всё равно не понятно
>except that each expression is evaluated at most once.
Что это ? А во втором случае что дважды блять ?
Я плох в английском хотите сказать это значит что это выражение :
b < a > c равносильно (b < a ) > c
Это значит, что выражение b < a > c равносильно b < a and a > c, за исключением того, что a вычисляется только один раз.
>за исключением того, что a вычисляется только один раз.
Я не понимаю вот этого, прости пожалуйста
Сначала выполняется a < b потом a > c если не так то как может Питон который выполняет операции слева направо выполнить эту серию ?
Или в этом случае он выполняет операции как бы в равном приоритете учитывая всё выражение полностью ??
На месте a может быть выражение. Если ставить and, то это выражение два раза будет вычисляться
Тогда это было бы равным но второй ответ правильный а первый нет>>592953
https://informatics.msk.ru/mod/statements/view3.php?id=276&chapterid=294#1
Спасибо тебе большое, анон. Про каптчу - я +- понял и юмор твой оценил:
>своей распознавалкой на нейроночке
Мне бы для начала просто в парсинг, аналитику и визуализацию(построение графиков) вкатиться, лол.
Хотя да - нейросети меня безумно интересуют. Практического применения для себя я пока не вижу - просто интересно, как это всё работает. Как можно обучать машинный код. Очень интересно. Вкатываюсь потихоньку. Надеюсь, что я не полный дегер. Проблемы с математикой - даже элементарную не знаю.Когда начинает лектор про степени, корни, числители и тд - блядь, даже стыдно становится: ни-ху-я не понимаю, школу люто проёбывал.. Ну, ничего, буду и её учить.
>Потому что это звучит как "Мне нужно перевезти через границу 20 тонн прекурсоров в фуре. Лицензии нет, водительских прав нет, стою возле химического завода, охранник не пускает. Посоветуйте что почитать, чтобы вкатиться в фармацевтику?"
У тебя классные сравнения. Я серьёзно.
Но, опять же - если даже отталкиваться от твоего сравнения - почему, блядь, так сложно сказать вместо троллинга: анон, да ты охуел! Разгружай нухуй свою фуру и пиздуй сдавать на права. Потом лицензию на перевозку получи. На всё про всё у тебя уйдёт 6 месяцев. А потом уже припиздовывай обратно и побазарим про то, как прекурсоры через границу провести.
Ну, как-то так, если в сравнения. Ведь ваще нихуя конкретики нет.
Я до сих пор не понимаю, сколько мне понадобится времени для прокачки знания до выполнения задач моего уровня. За месяц эвридея управлюсь или ваще не вариант?
Я сейчас читаю вот эту книгу: https://market.yandex.ru/product--geddis-t-nachinaem-programmirovat-na-python/560202048
Вроде заходит. С синтаксисом потихоньку разбираюсь. Правда, не очень запоминаю язык. Стараюсь практиковаться потихоньку. PyCharm себе скачал.
Думаю, что я не так уж безнадёжен. Может что и получится.
>>594278
>Automate the boring stuff
Благодарю тебя. Уже загуглил. Буду читать.
>сколько мне понадобится времени для прокачки знания
>так сложно сказать вместо троллинга
Можешь еще почитать про правило 10000 часов, другие прогнозы сложно давать.
Читай свою книгу, делай работу, повышай/понижай сложность задачек по своим ощущениям, решай реальные проблемы с помщью своих программ, так и овладеешь инструментом, как и в любом другом деле. В конце концов поступи в универ на кодера и туси с другими задротами.
Ты единственный, кто просто адекватно взял и рассказал про обучение кодингу. Спасибо тебе, анон. И удачи во всём.
> В конце концов поступи в универ на кодера и туси с другими задротами
Не вариант, я уже старый. Да и времени нет. Основная работа отнимает. Хочу документалистику для себя снимать - так уже четвёртый год на режиссуру поступить не могу, т.н. времени совсем нет. Тот же Питон приходится ночами осваивать. А так - поступил бы. С радостью. Вопросы бы преподу задавал.
Я хотел нанять репетитора. Но что-то цены в край охуевшие. Питону обучаться в ДС 1200р час. Да я разорюсь нахуй. Лучше за 1200р куплю книгу себе и буду читать. Но живое обучение было бы очень кстати. Жаль нет всяких годичных обучалок по вечерам пару раз в неделю
.
Мак. Изначально стоит питон 2.7 версии, поставил 3.8.1. Как мне убедиться/понять что я юзаю нужный мне питон, лол.
В пичарме когда создаю проект по умолчанию стоит питон 2.7, мне надо каждый раз переключать?
в правом нижнем углу
В гуях это делается длительным зажатием пимпы "отправить" и дальнейшим выбором времени.
120тык за 100 часов, а это считай полноценный курс универский + добавь свое самостоятельное обучение и выполнение дз. В итоге выйдет под 300 часов. А это уже можно идти работать. Так что 120к не выглядят такой уж большой суммой
Я не хочу работать. Я хочу для себя. Вот и учу потихоньку. Если есть советы - буду признателен.
1) Анон, а можно ли заработать первые деньги (небольшие, разумеется), овладев лишь одним Питоном?
Это полноценный язык, или он только учеными/вкатывальщиками используется?
2) И такой вопрос, второй пик. Что подразумевается под "проектом"? Например, я научусь погромировать на Питоне. Создам собственный аудио-плеер для себя. Это нужно грузить на гитхаб и показывать работодателю? Или что имеется в виду?
>Создам собственный аудио-плеер для себя.
Это наверно на С++ делается, но я думаю, вы поняли суть вопроса
засунь всё в бесконечный цикл while True: ... для выхода куда нить break прикрепи в этом цикле
учи модуль рандом что фразы рандомно кидало...
Use googol
Вы видите копию треда, сохраненную 28 марта 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.