Тред, посвящённый языку программирования Питон, #80Предыдущий >>1594623 (OP)ЧАВО: 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/ (нужно знать ангельский или уметь пользоваться переводчиком)Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
Скопирую вопрос из предыдущего треда.Вкатываюсь в Python из другого языка.Въебал (за неделю, кек) этот ваш Dive into Python 3. Нудно, скучно, дохуя воды. Дайте что-то поинтересней. Чтобы побольше замыканий и итераторов и поменьше парсинга xml-я.
Повторю вопрос из прошлого тредаАноны, есть сервер на Джанго, хотел реализовать отправку писем для подтверждения регистрации асинхронно, первым делом подумал о Селери, т.к. необходимо будет сделать еще несколько крон-задач. Но с другой стороны почему бы не перенести это все на asyncio, сделав для крон-задач несколько бесконечных асинхронных функций (чтобы не ебаться с Селери и менеджером для нее). Будет ли это выгоднее по производительности, особенно если учесть что в асинхронные функции надо будет пихать вызов синхронных для работы с БД?
Как перенести правильно строковой литерал на следущую линию? Имеется ввиду, что не используя обратный слэш \. Правильно я понимаю, что только путём разбиения лоитерала на части и конкатенацией "+" внутри круглых скобок?
Реально ли найти работу джуниора питониста в ДС?Сейчас решил проклацать резюме своих потенциальных конкурентов, и у каждого опыт во фрилансе и ссылка на гит? Как повысить свои шансы?
Если у функции, например, 3 входных переменные, но теоретически, может быть передано 2, можно написать def fun(a, b, c=None) ?
>>1604591Я ведь вполне серьёзно.Вакансий джуна питониста в ДС на данный момент < 10, резюме джунов питонистов > 60. Что делать то?
>>1604600Вот из-за этой хуйни я год назад решил начать искать первую работу, открыл хедхантер и понял, что пора отсюда бежать в другие языки, пока не поздно.
>>1604600А я в опыт работы вписал какую-то ноунейм рогаикопытаНа гитхабе у меня только васянский бот для телеги (там чуть ли не хелоуворлд логика) и приложение на фласке. Точнее даже не приложение, а скорее его каркас - 2 странички, размеченные бутстрапом, орм для бдшки (менее 100 строк) и ajax запрос, который должен менять данные из бд на страничке(но на деле он нихуя не работает). А, ещё докер файл, который должен заливать бота на херокуИ даже на такое "резюме" мне на 10 рандом кликов пришло 3 отклика, одна местная галера (по гуглу пробил их номер) несколько раз пыталась меня вызвонить. Офк я никому не ответил, потому что я параноик аутист шизоид и вообще очень боюсь идти на реальное собеседование, ибо вдруг меня там обоссут и правильно сделают
>>1604706У нас в вакухе было требование начальных умений работы с вебом, типа что такое куки, знаешь из чего состоит ответ/запрос http (достаточно было ответить, про базовые хедеры типа метода, адреса и кода). У многих все очень плохо с этим было.
Как в sqlite составить запрос, который содержит как переменные так и константы?Это можно за один присест сделать?
>>1604722cursor.execute("select * from mytable where a = 5 and b = ? and c = ? and d = 20", (10, 15))
>>1604723Можно ещё несколько вопросов?Почему искали именно джуна? Как его обучение происходило? У него есть ВО? Какой у него примерно лвл был? Что-то помимо знаний http проверял? Какие вопросы по питону задавал, если задавал? Мб SQL/алгоритмы/фреймворк в требованиях/сокеты/асинхронщина? Гит смотрел? Больше джунов не ищите?
>>1604730>Почему искали именно джуна? Нужно было на сайд-проект человека найти, и дать в помощь одному мидлу.>Как его обучение происходило?Он просто дает не особо сложные задания и примерные пути решения, а джун гуглит как это конкретно реализовать, потом проходит код ревью, как все и вносит правки>У него есть ВО? ВО еще получает, вроде говорил толи про заочку, то ли про дистанционку, главное, что работе это не мешает>Какой у него примерно лвл был?На тот момент 21, сейчас вроде 22 уже>Что-то помимо знаний http проверял? Какие вопросы по питону задавал, если задавал? Мб SQL/алгоритмы/фреймворк в требованиях/сокеты/асинхронщина?Базовые питонячьи вопросы, можешь посмотреть в любом видосе про это, ну и гит, умение пользоваться любыми асинхронными веб-фреймворками и драйверами для бд, на это тестовое было, на прототипе базой была монга, но она как плюс шла, еще базовое умение пользоваться rabbitmq, но это тоже как плюс (никто из собеседуемых их не юзал, да и мы не особо ожидали, так что похуй) >Гит смотрел?Только тестовое, лабы и потенциально спизженные проекты у нас никому не интересны были>Больше джунов не ищите?Нетinb4: Зачем вы спрашиваете не джунские вещи у джунаА вдруг прокнет, это шло как плюс, а не как основное требование
>>1604742Хз где оно лежит, да и было это примерно год назад.Что то вроде простого сервиса с http-крудом (и как плюс умением подсасывать данные из реббита) с умением работать с асинхронщиной (и проверкой на всякие рейс кондишены, хотя его завалили)
>>1604377>особенно если учесть что в асинхронные функции надо будет пихать вызов синхронных для работы с БД?Ты не можешь делать синхронный вызов в асинхронном коде, он тебе залочит всё исполнение. У тебя или запрос к БД должен быть асинхронным, есть либы для этого, или тебе надо треды-процессы использовать.
>>1604716> требование начальных умений работы с вебом, типа что такое куки, знаешь из чего состоит ответ/запрос http (достаточно было ответить, про базовые хедеры типа метода, адреса и кода). У многих все очень плохо с этим было.Забавно, работаю с вебом, этого не знаю.
>>1604377>Будет ли это выгоднее по производительностиНет, большинство использует Celery.>чтобы не ебаться с Селери и менеджером для нееТам и ебатся не надо. По мне так проще чём asyncio и aiohttp>в асинхронные функции надо будет пихать вызов синхронных для работы с БДИзбегай такой хуйни. Отправку писем можно просто реализовать через сигналы и в них вызывать Celery таски.
>>1604690Мне кажется, тебя могли бы взять. На не сильно большую ЗП. >>1604742> У тебя есть возможность кинуть мне ваше тестовое на почту?Зачем ему такой дианон? Вот реальный список тестовых и там есть питон, хотя никто не мешает другие тестовые тоже на нём сделать, если хочешь:https://github.com/Hexlet/ru-test-assignments
>>1604773>А я в опыт работы вписал какую-то ноунейм рогаикопытасдается мне так тоже стоило сделать -_-
Написал скрипт, есть внешние либы которые надо установить через pip.Как мне теперь "задеплоить" скрипт другу, чтобы просто запустил и все (у него уже есть интерпретатор и у него винда)? Писать какие-то bat файлы?Как вообще в мире питона делаете скрипты переносимыми?
>>1604934>Писать какие-то bat файлы?Да.>Как вообще в мире питона делаете скрипты переносимыми?Через пакетный менеджер.
>>1604934>Как вообще в мире питона делаете скрипты переносимыми?Virtual environmentpip freeze -> pip install -r requirements.txt
>>1604954>>1604959Херня какая-то, пойду на котлине перепишу.Не ожидал что такие костыли у питона, даже у js проще.
>>1604991Да все это костыли (тем более саппорт до 3.7), да и зачем мне его экзешником пугать, там скрипт в 200 строк (хотя jar тоже непонятен).Я уже насторожился когда мне сказали накатить virtevn. Неужели нет пакетного менеджера который просто делает вендор папку?
>>1604999Нашел костыль, может кому пригодиться:https://stackoverflow.com/questions/18812614/embedding-a-python-library-in-my-own-package
>>1605007Но фиг знает скомпилировано там или нет.Еще подергал pipenv, он хоть и не ставит в ту же папку, но автоматом тянет с инета пакеты, если их нет.
Во-первых, анонимус, ты мне не рассказывай, что делать, а то я тебе скажу, куда идти.Во-вторых, основная проблема питона как раз в сфере применения. Для скриптинга этот язык слишком сложен, не может быть в скриптах ни ООП, ни функциональщины, ни прочего такого, ибо скрипт больше чем на 200 строк – это уже не скрипт, а ООП в программе менее чем на 2000 строк – это бессмысленный выпендрёж. При этом язык исходно именно скриптовой, но об этом питонисты ухитряются забывать. За что и должны умереть от поноса.Если нужен язык для скриптинга (или как основа для DSL, это вторая и последняя ниша для интерпретируемых языков) – то это Tcl. Единственный из скриптовых, имеющий внутреннюю логику. Все остальные, что я видел – состоят из лоскутов.Если же нужен язык общего назначения – то он обязан быть полностью статически компилируемым, точка, всё, все свободны. Любые элементы интерпретации в языке общего назначения – хамство в отношении пользователей.https://www.linux.org.ru/news/opensource/15404578?cid=15433700
>>1605071>основная проблема питона как раз в сфере примененияТут как раз никакой пробемы нет. Можешь применять как хочешь - можешь микроконтроллеры программировать, можешь софт пилить, можешь сайты писать, можешь скрипты, что хочешь то и делаешь. >не может быть в скриптах ни ООПА тебя кто-то палкой бьёт и заставляет ООП пилить? Пайтон может быть как объектно ориентированным так и процедурно-ориентированным
>>1605071>Если же нужен язык общего назначения – то он обязан быть полностью статически компилируемым, точка, всё, все свободны.Какой-то беспруфный пук у него
Недавно начал вкатываться, вопрос возможно глупый. Пользуюсь PyCharm. В туториалах устанавливают модули через pip, но мне этого недостаточно, нужно ещё устанавливать в самой среде разработки. Но я же могу устанавливать их сразу через PyCharm, без pip. Какой профит тогда даёт установка через pip? Почему во всех туториалах делают через него? В чём вообще отличие установки через IDE и через pip?
>>1605234IDE(т.е PyCharm в твоём случае) и CPython(интерпритатор питона) это две разные программы. Если ты поставишь PyCharm, но не поставишь CPython - не сможешь ничего разрабатывать, т.к для запуска программ нужен интерпритатор. Pip это пакетный менеджер входящий в состав дистрибутива CPython. Т.е установить пакет ты сможешь только в сам Cpython(это если опустить подробности о виртуальных окружениях). А в IDE ничего не ставится. Это просто среда разработки
>>1605307>Т.е установить пакет ты сможешь только в сам Cpython(это если опустить подробности о виртуальных окружениях). А в IDE ничего не ставится. Это просто среда разработкиЯ говорю о действиях на пикрелейтед. Как я понимаю, это и есть установка в интерпретатор или нет?.После установки через pip всё равно приходится выполнять эти действия. Так и должно быть или я неправильно пользуюсь самим pip?
>>1605234>Почему во всех туториалах делают через него?Потому что не все пользуются ПайШармом, дают универсальный метод.
>>1605357Но этот "универсальный метод" мне ничего не даёт. Повторю вопрос - так и должно быть или я неправильно пользуюсь самим pip?
>>1605360Ты даун чтоли? Ты можешь ставить через PIP можешь ставить через Пайшарм - результат один и тот же. Пип - универальный метод для всех. Через пайшарм - удобный метод для тех кто использует пайшарм.Вот и всё
>>1605362Нет, не даун. Повторюсь ещё раз - установка через pip ничего не даёт, всё равно приходится лезть в настройки ide. Отсюда и вытекают мои вопросы.Возможно, я неправильно работаю с pip и поэтому возникают траблы.
>>1605234>В туториалах устанавливают модули через pip, но мне этого недостаточно, нужно ещё устанавливать в самой среде разработки.Пайчарм создает тебе виртуальное окружение, чистое от внешних пакетов, чтобы не засорять систему (если ты конечно не выбираешь наследование главного интерпритатора без создания виртуалки). Можешь ставить точно так же через пип в пайчарме, просто выбрав вкладку терминал внизу
Пасаны душители змей, расскажите пожалуйста, что такое разрез функции яркости изображения (монохромное 256 цветов) и как его построить (желательно в matplotlib)?
Может кто-то работал с telethon'ом? Допустим, я хочу спарсить все свои чятики в телеге и сохранить их в бд для последующего анализа. В принципе все работет, но пугает жидкая производительность; 80к сообщений и 2.5к юзеров парсится аж целых 15 минут(только часть данных). Это нормальная ситуация для телетона и/или пистона в целом? Или я просто наговнокодил? практикую питон пару недельhttps://pastebin.com/TFt5nLAE
Простой вопрос по регуляркам, мне строка приходит с "\r\n", разве этот символ "$" не должен регулярить любые окончания строк? И как тогда быть если нужен универсальный вариант?a=re.search("[-\w.]+/[-\w.]+$", "HTTP/1.1 200 OK\r\nDate: Mon, 01 Feb 2020 00 GMT\r\nContent-Type: application/x-shockwave-flash\r\nContent-Length: 100", flags = re.MULTILINE)
>>16057251. Какой конец строки? Они везде разные \r\n - в windows, \r - в Apple, \n - в Linux2. Сука, это не html а header response
>>1605739Вот этот пример из Django url dispatcher должен навести тебя на мысль насчет применимости $ в регулярках
>>1605764Я уже давно решил свою проблему, поэтому я просто пошлю тебя дауна не отличающего html от http заголовков нахуй, закрою двач, и останусь при своей мысли что разработчики регулярок дауны, т.к. смысл от этого шаблона "конца строки" - "$" если он просто регулярит не конец строки как это пишут на каждом гавносайте, а просто символ "\n", в то время как конец строки на каждой системе может быть разным.
Пиздец какой-то соевый. Есть вообще внятный гайд, как этот ваш пистон нормально на убунте поставить, причем так, чтобы это не было набором разрозненных не связанных между собой установок неизвестно чего? Как ставить разные версии, как переключаться между ними?
Привет питонисты, учу питон джва года, до сих пор не разбираюсь в стандартной библиотеке, много ли я теряю? Часто в стековерфлоу вижу как из нее вытаскивают нереально чоткие готовые решения, будто тот сайт и не нужен, но при всем этом могу самостоятельно реализовать большинство тех штук. Более опытные питонисты - вы ставя перед собой какую-то задачу, в голове представляете, какую функцию возьмете из библиотеки или всё так же делаете велосипеды?
>>1605813Ага, а версия какая была, такая и остается. Куда и что установилось и как это вообще использовать, непонятно.
>>1605817А вообще есть ли такие люди которые ее прям наизусть знают или не стоит тратить много времени на ее изучение?
>>1605836Можешь знать только названия модулей и что там примерно находится а можешь знать только основные
Решил начать с изучения основ, зашел в туториал, а оттуда проследовал по ссылке на онлайн курс. Говоря начистоту, порой охуеваю от выполнения практических заданий. Мало практики, в то время как информация порой подается очень сжато. Походу для закрепления придется дополнительно видео по пройденному материалу смотреть. У меня аж глаза закатываются от мысли, сколько еще потребуется учить, чтобы хоть на самую чмошную должность претендовать. Сколько у вас времени на обучение ушло? Да и вообще, расскажите пожалуйста по какому принципу учебный процесс выстраивали.
>>1604249 (OP)И снова более презентабельный вид шапки вкидываю сюдаhttps://dumpz.org/bqyrfCbEPA9tОП - ты пидор, кста
Блять. Вот объясните мне. Чому в пейтоне нет требования ставить ; в конце строки, а в запросах postgreSQL - обязательно? Почему эта хуета не выдаёт никаких ошибок, выполняет insert, но игнорит select? Сука. Гвоздь вбить в голову тем макакам кто это написал.
>>1606033Потому что сука, postgreSQL это отдельная сущность, и чтобы не было недопониманий, питон учитывает все правила postgreSQL.
Если нужно конвертнуть лист из объектов одного типа в лист одноразмерных тюплов, какой встроенной функцией это делается? Грубо говоря, если бы нужно было разбить [1, 2, 3, 4, ... N] на [(1, 2), (3, 4) ... (N, N+1)].В принципе, понятно, как это сделать и через list comprehension, но так же, наверное, неэффективно, потому что создаётся новый лист? Или это в любом случае лучше, чем обращаться ко встроенным функциям, учитывая, что интерпретатору их нужно парсить, и там ещё всякие объекты внутри создаются?
Аноны, мне 38 лет (почти), собираюсь переехать из своего Мухосранска в ДС2, опыта в программировании имею почти ноль.Скучная предыстория:Молодость как-то слишком быстро пролетела, бездарно и бессмысленно, оставив после себя частично тёплые и приятные воспоминания, частично кринжовые. Неоконченная вышка, работы разнорабочими/продавцами (чтобы не мешало развлекаться), привели меня на обочину жизни для уебанов без компетенций, на которых в приличном месте посмотрят и обойдут, отведя взгляд, чтобы не выдать жалость, граничащую с лёгким отвращением. Работать принеси-подаем-продаваном надоело и не смогу (так как руководители уже на 10 лет моложе и я ощущаю стыд), решил изучить за полгода какой-нибудь язык программирования и заниматься фрилансом, совмещая это с поиском нормальной конторы, подсосавшись к которой можно импрувить скилл и зп, выполняя не раковые задачки.Недавно у Усачева увидел рекламу skillbox'a, посмотрел их видео-интенсив по программированию, и понял, что из всего перечисленного мне интереснее всего питон (из-за близости к машинному обучению, нейронным сетям, а так же реализации одной своей давней затеи по приложению, которое сделает всем хорошо). Но из-за ведущего, который похож на тётку с рынка, мимо которой не пройдёшь без доёба в стиле "Подходи примеряй смотри, это лучше, самое выгодное и дешёвое. Не хочешь? Я тебе скидку дам, никому не давала - тебе дам!", у них я заниматься не хочу. Похоже на вытягивание бабла, особенно с их беспроцентной рассрочкойПрочёл ЧаВо в шапке, нашёл там ссылки на книги, зарубежные курсы-аналоги скиллбокса (ну то есть скиллбокс их аналог). Беспокоюсь, что с моей аддиктивностью к прокрастинации и играм только по книгам вывезти я не смогу, часто буду отвлекаться, быстро надоест.Предполагаю, что если купить курс обучения в каком-нибудь юдасити/кодеакадеми етц., поможет мне встать на рельсы и более безболезненно вкатиться и вспомнить счастье ощущения "потока".Где лучше это сделать? Интересует в идеале такой курс, на котором за указанный промежуток времени я научусь всему необходимому, наберусь практики и смогу сразу стать макакой, которой дадут за бананы, которых хватить на оплату хаты и еды, писать простенький код, постепенно повышая градус.Или эти курсы это чушь и либо я беру себя за яйца, удаляю Зуму Делюкс и читаю книги, либо иду за прилавок магазина канцелярии? Так как времени у меня меньше чем у других, то интересует более оптимальный способ достижения Джуниора (или как там это у вас называется).
>>1606108Анон, пайтон - это модный язык для стартапов и подростков, на нем не очень много работы, а то, что есть - уж точно не на фрилансе. Если на то пошло, я бы посоветовал тебе брать яица в зубы, и иучть html,css,js и вкатываться во фронт. Начни с хтмл академии
>>1606108То есть, ты в 20 лет не смог нормально учиться. Сейчас тебе почти 40, и, судя по всему, ты не занимался интеллектуальной деятельностью всю свою жизнь.С чего ты решил, что программирование - это твое? Думаешь, это очень легко? Думаешь, каждый мимо- васян сможет вкатится на свои 200+к? Ты же понимаешь, что программистам платят не просто так. Объясни пожалуйста свою логику. А я ниже приведу набор базовых скиллов, необходимых для пайтон джуниора:- Python и Django - безусловно, ООП, хотя бы примерное представление о потернах, возможно, асинхронщина;- HTML,CSS,JS на уровне хотя бы сверстать простую форму;- SQL и знание основ PostgreeSQL;- Основы работы линхса (то есть, тебе придется ставить себе убунту);- гит+ к этому ко всему хоть какие-то проекты, хотя бы сраный блог.Как-то так. Очень тебя прошу, почему ты решил именно в программирование, а не, незнаю, стать гиперактивным дворником?Погугли курсы лерн пайтон. Они учат человека год, и после этого говорят, что еще нужно будет поучиться самостоятельно около года, что бы претендовать на позицию джуна. Два года. Делай выводы.
>>1604934В общем, я реально переписал на котлин и засунул все в jar (fat), ну и написал строчку в батник чтобы просто кликал и запускал.Я не реально не понял поинт, почему для питона надо писать еще один скрипт (с инсталлами pip и virtenv).котлин, потому что там готовые расширения для работы со строками
>>1606142Да уж, не окончить институт, не заниматься умственной работой в течение 20 лет после школы и пытаться теперь вкатиться в кодинг - это сомнительный эксперимент.>>1606108Ты вообще когда-нибудь программировал хоть на чём-нибудь?Или даже так - сможешь на единичном круге показать косинус сорока пяти градусов?
>>1606185Нахуя ему твой косинус? >>1606108У тебя неправильный подход, вот это вот "минимальный путь до джуна" не работает. Просто подумай, что хочешь делать и начинай. Дальше изучай конкретно уже. Твоя цель -- способность делать что-то реальное и рабочее, а не мифический путь до устройства на работу. Представь, что ты хочешь быть плотником, например, но вакансий "ученик плотника" просто не существует. Вообще. Только сразу плотник, чтобы с первого дня влился в работу, чтобы в одно ебало вырезал детали под шкафы. Чтобы тебя взяли, тебе нужно, как не странно, уметь делать шкафы. А не просто какие-то азы работы с инструментами и как-то раз в деревне сколотить стул.
>>1606045так каждый запрос - одна строка. Почему не добавлять ; если её нет, на автомате, в библиотеке?
>>1606128Понял, хтмл/цсс не дропнуть. Фронтенд, сайты... не особенно лежит к этому. Но значит начинать надо действительно с хтмл академи.>>1606142>То есть, ты в 20 лет не смог нормально учиться. Сейчас тебе почти 40, и, судя по всему, ты не занимался интеллектуальной деятельностью всю свою жизнь.>С чего ты решил, что программирование - это твое? Думаешь, это очень легко? Думаешь, каждый мимо- васян сможет вкатится на свои 200+к?Потому что раньше это интересовало, все эти 20 лет периодически возникало ощущение, знаешь... как будто очень хочется порешать какую-нибудь задачку, как в школе, доказать сложную теорему, додуматься как написать требуемый алгоритм (на паскале, лол).Потому что все эти годы я тупил и так и не понял, что есть моё, не развиваясь в каком-то направлении, кидаясь от одного к другому и дропая это в начале, ведь времени ещё много, найдётся что-то другое... Были лишь отдельные порывы в изучении программирования, которые оказывались слишком неявными, чтобы я начал этим заниматься (ну и лень, прокрастинация и т.п.), когда понимал сколько тем надо объять (как написанный тобою набор базовых скиллов), то не понимал с чего начать, это также пугало и отталкивало в итоге.Сейчас пересматриваю Доктора Хауса и его врачам до 30 лет и это очень пугает и расстраивает, ведь они специалисты в свои 27 лет, а я на 10 лет старше и я никто. Я понимаю что есть миллионы васянов, которые и в 40, и в 50 работают условно дворниками/продавцами/таксистами и не парятся, и это нормально. Но я в своём мироощущении не могу видеть себя таким же. Когда работаешь в одном месте, ничего не меняется, то привыкаешь к этому уютненькому болоту и взгляд затуманивается, а сейчас время необходимых перемен и я понимаю что не могу дальше так и что надо что-то менять. Не хочется в 55 (если доживу) понимать что я могу только перебиваться на низкооплачиваемых работах, что мне необходимо работать (таскать мешки, приехав к 7 утра, чтобы 30-летний начальник не уволил) несмотря на состояние здоровья, иначе нечем будет заплатить за жизнь и что нет накоплений, так как с такой зарплатой особо не пооткладываешь.Поэтому я хочу ещё раз попытаться. А учитывая относительное хикканство, нелюдимость и болезни, которые копятся после 30 и особенно невроз - вижу в ИТ единственное спасение.А, да, ещё я знаю, что мне оченьохуенно интересна профессия бизнес-аналитика. Так вышло что был период, когда я работал в компании,, занимаясь поддержкой клиентов, и у меня была возможность предлагать идеи по оптимизации работы компании, это доставляло реальный кайф, все эти мутки с бизнесс-процессами, диаграммы Исикавы и т.п. Но место это я по глупости потерял, а сам изучать эту профессию не стал, так как там список необходимых знаний был страшнее чем ты описал для джуниора.>>1606185Программировал на паскале, немного С++ да и всё. Но программировал так давно и так немного, что вряд ли стоит брать это в расчёт. >Или даже так - сможешь на единичном круге показать косинус сорока пяти градусов?Я уже не помню что такое косинус, лол. А так, вряд ли там что-то невозможное, надеюсь что я не настолько отупел.>>1606210>Просто подумай, что хочешь делать и начинай. Дальше изучай конкретно уже.Всю жизнь такой подход не работал, хотя сейчас понимаю, что так и надо было наверное, не забрасывая когда не знаешь что конкретно делать. Сейчас я поэтому и спрашивал про курсы, потому что хочу оптимизировать процесс обучения, чтобы не потратить полгода на изучение книг/направлений, которые окажутся бесполезными.Судя по вашим ответам и тому что читал раньше, мне скорее стоит пиздовать в тестирование, а после - пытаться вкатываться в то что интересно, в частности Питон, например. Чтобы решить свою задачу - за минимальный промежуток времени получить необходимые компетенции для работы на фрилансе/какой-то компании и дальше развиваться в этом направлении.Просто сейчас такой период времени, когда я стою на распутье и важно сделать правильный выбор и по полной топить в него, так как это скорее всего последний шанс, поэтому и наивно надеюсь найти какой-то четкий путь.В любом случае, спасибо за ответы, аноны!
>>1606154Не надо ещё один скрипт писать, не слушай их, можно через импорт стандартных библиотек pip и os напилить всё в одном скрипте
>>1605581Может быть срез? Преобразуем значит цветное изображение в оттенки серого - получаем матрицу яркостей, делается это посредством skimage (для работы с изображениями как с массивами)
>>1606295Поздно, уже переписал. Честно говоря разочаровал меня питон, хотел его как швейцарский ножик себе заюзать.
>>1606322Но с другой стороны - если ты хорошо знаешь другой язык - то зачем тебе питон!!!! Тут разве что обилие либов - главный плюс, и всё.
>>1606282Сапсамому 27, плавно вкатываюсь с помощью курсов. Правда решил, что могу осилить ds или аналитику
>>1606380Мне 30, с прошлой весны вкатываюсь в питон, но перспективы пока так же кажутся туманными. Так же как тот 38-анон нелюблю веб-программирование, и стараюсь обходить стороной. Как реализовать себя пока так и не понял. Думаю поступить на курсы с трудоустройством в финале, знакомый работает в такой контрое в ДС, говорит что если пайтон - то это или бигдата или безопасность.А мне на самом деле интереснее всего было бы что-то ближе к железу, микроконтроллеры программировать на сях, или что-то такое - но тут, я уверен, я бы не осилил, потому туда не суюсь.
>>1606388от яндекса>>1606386ну вот, надеюсь не обосрусь, а то из-за основной работы времени почти нет
>>1606380О, мне тоже 27. Плохо, что слишком поздно очухался, по хорошему надо было ещё года три назад начинать. Но кто знал? Все у нас ни как у людей.
>>1606398я сейчас в консалте, и зарплата довольно высокая, но начинаю выгорать, так что лучше сейчас начать готовить свою жопу к смену работы
Как это можно сделать поакуратнее? Т.е. без e = boole = boolfor a in my_list: if a.name == aa.name: e = True breakif e != True: my_list.append(aa)
>>1606440Или можешь получить список имён, и уже потом проверять на вхождение. По мне так самый пиздатый способ делать со словарями, т.к. они работают быстро и не требуют дополнительных процедур. Но я ньюфаг-вкатывальщик, и могу ошибаться.
>>1606282Какая стена текста. Анон, не нужно тебе программирование, вкатывайся во что-то другое, базарю. Стань баристой там.
>>1606282>Анон, с чего ты решил, что в 40 сможешь стать программистом и получать свои 100+к?>Ну это, епта, бля, а хули, я всегда хотел че-то там порешать, туда сюда, хуе мое, вот бля, и решилясн.
Нагляднао отобразить область определения для dialСап серпентарий, есть ли диалы с индикацией для PyQt ?Вот по типу того что на пикриле. Причём такая индикация, чтобы не зависела от значения выставленного самим диалом.Также подозреваю что это можно сделать через notches, но тогда нужно сделать так чтобы шкала не растягивалась каждый раз во всю окружность диала. Если так, то откуда брать косметику для диала - ибо хочу сделать индикацию цветной.
>>1606398>>1606380Лол, что за волна 27 летних? Мне тоже 27, начал недавно учить питон, правда не сказать, что ничем не занимался до этого, последние 5 лет работаю 3д десигнером в геймдеве, но люто заебало это дрочево полигончиков/текстур, и все больше хочется умственной деятельности. Надеюсь еще не слишком поздно. Полгода назад пробовал изучать плюсы, но началась депрессия и плохо организовал подход к обучению, взял на себя слишком много, сейчас взялся серьезнее с более спланированной программой, надеюсь смогу куда-то с этим вырулить.
>>1606683>Лол, что за волна 27 летних?Это тот возраст, когда ты еще можешь понять, что дальнейшего развития карьеры не будет и ты можешь еще успеть в последний вагон
>>1606388Что скажешь насчёт их курсов? Написано что за 6 месяцев ты из простого Васяна сможешь эволюционировать в макаку, при должных усилиях. Ну и на фрилансах не пропадёшь и сможешь найти работу.Звучит как идеальный вариант, есть подводные?
>>1606799>>1606686Блед, аноны, хотите сказать что в 30 (через пару месяцев 31) меня джуном никуда не возьмут?
>>1606108Я бы посоветовал 1с, пхп, фронт. Это области с самым большим количеством вакансий. (Про фронт не уверен)
>>1606810Мне кажется это некоторое преувеличение, всем похуй на всех, что знаешь, за то и платят. У нас на работе как-то работала тетка на вид лет под 70, я понятия не имею что она там делала, но точно работала программистом и её взяли только за скилл, хотя половина офиса около 20 лет, никого это не волновало. Опять же, на том же ютубчике дохуя историй когда кабанчики с улицы впервые в жизни начинали писать код в 30 и уже к 35 были помидорами и шарили во всем что нужно. Мне кажется тут дело исключительно в твоём интересе и упоротости. Потому что если тебе это не доставляет удовольствия само по себе, то я не знаю как протерпеть этот этап с HelloWorld > Первые заработанные деньги, и вот тут наверняка многие и передумывают.
>>1607066Мне кажется проще в питон вкатиться, а если уж потом приспичит то в плюсы. Иначе там с одним только синтаксисом ебнешься
>>1606423>Как это можно сделать поакуратнее? Тебе вхождения считать надо? Потому что вообще это задача для defaultdict, но это "продвинутый" способ считать.>>1606434Если ты в питоне развешиваешь флаги, то надо задуматься, что возможно что-то не так. На твоей картинке всё связанное с е надо вообще убрать и if not e:заменить на else:>>1606492А вот тут хорошо.
>>1606282>ведь они специалисты в свои 27 лет, а я на 10 лет старше и я никто.Чувак, это называется "кризис среднего возраста". я сам твоего возраста, точнее чуть-чуть большеНе уверен, что я тебя утешу, но именно в разработку с твоим послужным списком очень тяжело вкатиться. К тебе другие требования и на тебя иначе будут смотреть. Тебе в любом случае надо понимать, как устроены IT-технологии. Реально мозг разработчика формируется годами.Ты или ботаешь эти темы, потому что тебе это интересно, всякие алгоритмы, структуры и т.п., и через какое-то время реально скорее несколько лет твой мозг необратимо меняется. Я так проходил, но это началось лет в 15, но я на это залип. Или ты решаешь скриптами какие-то свои практическим маленькие задачки, и потом дозреваешь до того, чтобы начать программировать серьёзно. Ни первого, ни второго у тебя вроде нет.Мой тебе совет - начни с админской части. Это всегда полезно, и здесь нормально и дедам работать. Тебе надо освоить IT инфраструктуру, как что настраивать, сети и т.п., а квалификация может расти до небес, если ей заниматься. Из админов на ура перекатываются и в прогеры, кому хочется. При этом админам тоже нормально платят, и мозги надо в тонусе держать. Для личного развития тебе правильно посоветовали HTML/CSS/JS. Это полезно уметь и понимать. Это полезно, чтобы мозги перестроить в сторону программирования. А JS вообще очень серьёзный язык, на нём можно реально что угодно сделать, если твой уровень позволяет, на node.js скорее.
>>1607411Двачую этого. АДМИНЬ@АВТОМАТИЗИРУЙ питоном@ИЗУЧАЙ htmlcssjs@ЧЕРЕЗ ПАРУ ЛЕТ ВОЗЬМЕШЬСЯ ЗА docker@ТЕПЕРЬ ТЫ МОДНЫЙ ДЕД-devops@ЭЙЧАРКИ ТЕКУТ, СТРАШНЕНЬКИЕ 20lvl ПРОГРАММИСТКИ СМОТРЯТ С УВАЖЕНИЕМ И НЕМНОГО ВОЖДЕЛЕЮТ@ВЧЕРАШНИЕ ШКОЛЬНИКИ БОЯТСЯ И ОБРАЩАЮТСЯ ТОЛЬКО "НА ВЫ"@НИКАКОГО БУГУРТАРассказывай, что начал делать уже прямо сейчас, пердед
Раз тут все равно не питон обсуждают. Куда попробовать вкатиться: в бек на питоне или в андроид. Где больше вакансий? У меня 27-30 летние кореша во фронтивкатились. А я прошел сs50 и введение в css/html и эта верстка на меня такую тоску накинула, что хотелось бы ей по минимуму заниматься.Андроид мне больше нравится, но боюсь жопу порвать об джаву. А питон мне вроде понравился внешне.
>>1607502>Где больше вакансий?...Посмотри в интернете, чеЛично я уже месяц мониторю вакансии в своем Минске и на джуна без опыта коммерческой разработки пока ничего не появлялось. Меня уже даже на руби приглашали, но я им ТЗ подзавалил немножко, т.к. с руби не связывался никогда. Но вот хочу на питоне писать, а я никому не нужен, по моему похуй куда, тут как повезет, вот мой приятель один питонистом еще пол-года назад устраивался, так, говорит, вакансий полно было...
Несколько тредов назад выкладывали переиздание Automate the boring stuff with python, не могу найти.Нужен формат epub, поделитесь у кого есть. Спасибо.
>>1607411Бтв сам 27+1 хочу вкатиться в питон. Но у меня образование высшее связанное с айти, и на прошлой работе которую дропнул быдлокодил на с#, asp.net приложения небольшие всякие. Немного шарю в бд, js, css, html, т.к. приходилось пердолиться с этим иногда. Но при этом у меня все не очень с алгоритмами, сортировками и О нотациями, т.к. быдлокодил через гугление so и документации фреймворка с примерами, но при этом я точно знаю, что могу почти любую задачу, немного погуглив, хоть как-то высрать, чтобы оно работала. Сейчас хочу реализовать пару тестовых, тг бота может какого, выложить на гитхаб, подтянуть алгоритмы, и особенности питона, и пробовать идти на джуна. Знающий анон, что может еще посоветовать?
>>1607632upd. На пайтоне писал для себя всякие небольшие скрипты для автоматизации и прочего.Желание вкатиться имеется в бэкенд
Итерирую в цикле список, если во время итерации удалять элементы этого списка, то некоторые следующие элементы списка пропускаются. Как удалять элементы списка во время итерации? Какой наиболее удобный способ?
>>1607628> Несколько тредов назад выкладывали переиздание Automate the boring stuff with python, не могу найти.В одной из шапок был он. Чекай.
>>1607173На твоей картинке всё связанное с е надо вообще убрать и>if not e:>заменить на>else:Не понимаю. зачем? e = False - это и есть моё условие для If, которое я пишу как if not E. (not E) = (e = False)Нет смысла добавлять туда секцию Else, т.к. тогда придётся пилить пустую (с pass) секцию If.Последняя строка там да, неправильная:if not name in mylist, правильно было бы if name not in mylist>Тебе вхождения считать надо? Нет, у него список содержащий объекты класса. Вот ему надо определить, входит линовый объект класса в список с объектами класса по переменным класса с именем.
>>1607707В шапке pdfВот, нашел https://anonymousfiles.io/jlauaOZW/ - epubhttps://anonymousfiles.io/GvOxX0Dd/ - emobi
>>1607730>Не понимаю. зачем?Чтобы флаг вообще был не нужен. Зачем создавать сущность е, если без неё можно обойтись совершенно без жертв? >Нет смысла добавлять туда секцию Else, т.к. тогда придётся пилить пустую (с pass) секцию If.В питоне есть else для for.
>>1604249 (OP)Планирую небольшой сайт на Django, одна из фич - он будет автоматически подгружать картинку со стороннего ресурса в ответ на определенные действия юзера, картинка будет храниться до нескольких дней. Как и где мне лучше хранить изображения?..
Как сделать так, чтобы Decimal(7.999999999999999999999999) + Decimal(2.999999999999999999999999) выводило 10.999999999999999999999998, а не 11?
>>1607940Создаешь модель с полем FileField. В общем-то и все. В этой же модели создаешь поле срока хранения файла и ссылку на юзера. Даже не знаю, что тут еще подсказать.
>>1607411Спасибо.В администрирование ещё страшнее лезть, ибо там много разных тем надо объять.Буду учить HTML/CSS/JS, подумаю насчёт Яндекс.Практикума на data scientist (там 20 часов на пробу есть), потому что это выглядит очень интересно для меня.Из всего сказанного я понял что в моём случае никак за полгода не добиться мало-мальских фрилансов на еду и квартиру. Придётся искать обычную работу и вкладываться в пару лет обучения, чтобы суметь дальше вкатиться.
Cап программач, мне нужно передать команду в открытое окно с командной строкой с помощью пайтона.(Например написать ipconfig)Как это сделать, только без лишней хуйни и попроще плз? Я так понимаю надо как-то присосаться к процессу с помощью subproces и каким-то методом можно просто передать команду.
>>1608115Если в уже открытое, то посмотри pyautogui, может и подойдет, но он тупо будет эмулировать ввод с клавиатуры, как я понимаю. Ты бы подробнее описал чего ты в результате хочешь получить, может тебе подскажут вариант попроще.
>>1608130ну можно и не в открытое. pyautogui не подходит, хочу что бы это все в фоне происходило и не вылазило на экран.конкретно хочу что бы мой сервер террарии(который запускается в командной строке) перезагружался по команде раз в 2 часа, и перед этим еще несколько команд с сообщением о перезагрузке отправлял.
>>1608130>>1608115>>1608193то есть допустим я руками открываю cmd.exe и пишу туда ipconfig.либо в уже открытое окно пишу ipconfig хочу что бы тоже самое делал пайтон вместо меня и все это в фоне происходило
Ну чтож, сделол свое первое тестовое задание на должность джуна (или даже трейни, судя по: "склепать на джанге динамическую форму"), надеюсь не обоссут!ну или обоссут, но хотя бы ответят
>>1608169Нехуйско так звезды должны сойтись.Я первую свою работу так и нашел, чисто случайно наткнулся на апворке на работу от товарища из москвы.Но попробовать можно, хули нет?
>>1607475Открыл HH, вакансий как грязи. Требования часто очень умеренные, если сравнивать с программированием.Если ты хочешь, чтобы тебя взяли, когда ты ничего не умеешь и никогда в ИТ не работал, да ещё сразу платили много бабла, там 100 тыщ, то нет, этого не будет. Но в админстве уровень, когда ты уже можешь делать что-то полезное, чтобы тебя можно было брать на работу и платить, НАМНОГО ниже, чем в разработке. И намного лояльнее относятся к дедам.
>>1608204subprocess.Popen("ipconfig", shell=True, stdout=subprocess.PIPE).stdout.read().decode(ENCODING))))
Блядь, что за ебал её рука тут в укусе питона?All class members are public. One exception: If you use data members with names using the double underscore prefix such as__privatevar , Python uses name-mangling to effectively make it a private variable.Thus, the convention followed is that any variable that is to be used only within the class or object should begin with anunderscore and all other names are public and can be used by other classes/objects. Remember that this is only a convention and isnot enforced by Python (except for the double underscore prefix).В Python все члены класса (включая данные) являются публичными (public), а все методы– виртуальными (virtual).Исключение: Если имя переменной начинается с двойного подчёркивания, как, например,__privatevar, Python делает эту переменную приватной (private). Поэтому принято имялюбой переменной, которая должна использоваться только внутри класса или объекта,начинать с подчёркивания; все же остальные имена являются публичными, и могут использоваться в других классах/объектах. Помните, что это лишь традиция, и Python вовсене обязывает делать именно так (кроме двойного подчёркивания).Я понимаю что речь идет именно о двойном нижнем пробеле,и что непубличные имена переменных нужно префиксировать двойным нижним пробелом. Но что за ебанина вот здесь - Помните, что это лишь традиция, и Python вовсе не обязывает делать именно так? Не обязательно делать как? Не подчеркивать и публичные переменные тоже? Не обязательно подчеркивать используемые внутри класса/объекта переменные? Т.е. имеется ввиду, что лучше бы ты конечно подчеркивал приватные переменные, но если не подчеркнешь то это только соглашение НО КРОМЕ ДВОЙНОГО ПОДЧЕРКИВАНИЯ? Сука маразм, дуристика блядь. Может мне просто пробздеться надо
>>1608373В ходу protected переменные с одинарным подчеркиваниемprivate только чтобы удостовериться что метод/атрибут не будет переопределен в подклассе(открою тебе секрет но и в Java ты можешь абсолютно везде натыкать public, код от этого не сломается от слова совсем)
>>1608068ImageField кстати говоря>>1604249 (OP)Чем вообще в Питоне работать с асинхронными событиями? Вот есть либа signal, а можно ли настроить свои асинхронные сигналы, чтобы в ответ на них запускалась некая callback-функция обработчик? Что за либа/сервис могут это намутить?
>>1608379Спасибо, да я не из-за использования бомблю, а из-за того что не понял логику написанного. Да, пора пробздеться
>>1608373Логика такая, что если переменная начинается с подчёркивания, то это должно говорить разработчик, что она предназначена для внутреннего использования. Попытка как-то пользоваться ей снаружи может привести к непредсказуемым последствиям. А вот когда тебе нужны именно полноценные private методы, тогда тебе надо пользоваться двумя подчёркиваниями, там уже сам интерпретатор какие-то действия делает, чтобы защитить твой метод. Конкретно добавляет имя класса к названию.
>>1608684Только это очень ограничено работает. Так ты можешь получить вывод только после того, когда программа закончит своё выполнение. Можно получить раньше, но это надо серьёзно извращаться. А как в случае asyncio получить вывод до того, как процесс завершиться, я сам не знаю.
>>1608390Ты можешь пользоваться signal и в асинхронном коде. С сигналами вообще магия и системо-зависимая хрень. В RL я ими реально никогда не пользовался. Опиши, что тебе конкретно нужно. Я могу только предполагать.Ты можешь создать таски, которые будут ждать обработанного сигнала:async wait_some_signal(queue): while 1: data = await queue.get() do_something(data)запускаешь этот таск в фоне. Он принимает очередь в качестве параметра. Делаешь обычный синхронный слушатель сигнала, ему тоже передаёшь этот общет-очередь, это asyncio.Queue()как только пришёл сигнал, твой обработчик получит необходимые данные и положит в очередь, благодаря чему разблокируется асинхронных обработчик. Как-то так.Надо проверять, это идея.
>>1608039Потому что 7.999999999999999999999999 это литерал в формате float, который уже потом становится decimal.
>>1608193Тогда может проще на повершелле сделать что-то уровняwhile($true) {$proc = start-process terra-huera.exe -PassThrustart-sleep -seconds $(2 60 60)write-output "Ребутаем, посоны"stop-process $proc}
Где выучиться питону бесплатно?Раньше был Codeacademy, но теперь там все за валюту.Спасибо за ответы в любом случае.Учись по книгам, ряяя
>>1608193> мой сервер террарииТебе не нужно ничего передавать, тебе нужно написать скрипт, который будет крутится на серваке
>>1608690> слушатель сигналаТолько вот вопрос в том КАК его слушать. Я делал лишь прослушку сокетов при помощи select.select, хз как мне ожидать левый сигнал. Вероятно тоже через сокеты это стоит запилить
>>1608690> while 1:> data = await queue.get()> do_something(data)Какой же каеф активное ожидание в 2020
>>1608721Что-то не могу понять, что делает эта функция.Если в неё передавать напрямую float, она его округлит, если конвертировать float в строку, сделает то же самое, но если начальное значение напрямую обозначать как строку, выводится само значение, но уже в формате Decimal.Брейнфак какой-то.
>>1608863Это скорее тип float округляет по максимальной длине числа. Попробуй сократить количество цифр в числе до <16.
>>1608900Байтоёб, бля, что ты творишьОбъясни, нахуя тебе сверхпиздецомная точность? В научных вычислениях есть допуски и погрешности, никто бля не вычисляет там 15 знаков после запятой
>>1608863>>1608900http://0.30000000000000004.com/Добро пожаловать в чудесный мир IEEE 754Во флоатах нет такой штуки как 7.9999999999999999999999, это автоматически округлится до 8.
>>1604249 (OP)С какой книжки по питону лучше начать новичку, который до этого вообще не программировал? ( пердолинье паскаля в школе и институте не считается)
>>1608839Ты упомянул либу signal.Что тебе мешает ей пользоваться в асинхронном коде? Вообще ты какую задачу решаешь, что конкретно слушаешь?
>>1608900В питоне по-умолчанию числа имеют тип или int, или float.При этом целые числа там свои собственные, хоть в миллион знаков, они не отображаются на традиционные типы. А тип float это IEEE 754, который 64 бита, соответствует типу double из C/C++.попробуй в консольке сделатьi = 1000000000000000000000000000000000000000000000print (int(i))print(int(i+0.0))Соответственно округление делается. А Decimal позволяет уже точные формальные вычисления делать, когда надо.На практике double достаточно. В числах большей точности потребности нет, их поэтому даже не поддерживают в новых расширениях процессоров, хотя сопроцессор позволяет оперировать и оперирует типом в 80 бит, он же long double. Но не нужно это никому.
как объявить, что переменная это массив с n ячейками? (как в паскале)костыль которым я делаю:a = []for i in range(0, n):a.append(0)мне чтобы потом можно было a присваивать что-нить, пробовал без объявления и через a.insert(i, значение) делать, но оно неправильно как-то работает.и ещё, почему пробелы (то как оформлять код) влияет на исполнение?не поставил двух пробелов перед return в функции и ничего не работало. после условия не поставил и оно тоже не работало.зачем эта попаболь?
>>1608687Спасибо, так гораздо понятнее. А есть ли вообще какой-то ресурс по питону, где многие понятия расписывались бы именно подобным образом? Т.е. не конкретика на 20 страниц, а такое вот общее описание более-менее простыми словами? По мере обучения часто приходится гуглить те же самые понятия, что и написаны в книге только из-за того, что в книгах написано как-то чрезмерно энциклопедично и ты не можешь обобщенно понять что тебе вообще пытаются объяснить. Желательно на английском, но это не принципиально. Знаю что ресурсов много, но вот какой лучше всего использовать как справочник?
Аноны, кто-нить чё-нить знает про паттерны в питоне? Что с ними делать и нужно ли их как-то изучать и если да, то где и как? Погромирую 2 года, уже знаю пару фреймворков и слышу вокруг разговоры про паттерны но никто не говорит, зачем они нужны.
>>1606108Пайтон хуета, в нём нет полноценной многопоточности. И работу ты на нём не найдешь, учитывая свою предысторию. Для пайтона нужны знания математики.Твой единственный вариант - JS и путь фронтенд макаки. Платных курсов адекватных нет, из тебя только деньги выкачают. Если книги не можешь читать и учить бесплатные курсы, то лучше не пытайся вкатываться, только время проебешь больше.Помимо изучения языка программирования, тебе еще нужно выучить основные используемые фреймворки и инструменты. Также желательны базовые знания работы с БД (уметь писать элементарные SQL-запросы). И это не всё. Далее идёт изучение паттернов проектирования, хотя бы базовые типа фабрики, обозревателя и MVVM, MVC, ты должен знать.И всё это делается параллельно решению алгоритмических задачек с leetcode. К моменту собеса ты должен уметь решать задачи уровя Hard.Также стоит забыть про фриланс. Если у тебя нет опыта работы в офисе и ты вкатывальщик, то маловероятно, что ты найдешь себе работу во фрилансе, туда идут уже с опытом и знаниями, при этом сначала даже такие работают больше за репутацию, а не за деньги.
>>1609422>задачек с leetcode. К моменту собеса ты должен уметь решать задачи уровя Hard.И они там что, все типа таких, на знание стандартной библиотеки? Это Hard если что.
>>1609486Сейчас гугол переводчик очень даже ничего переводить умеет, а вообще просто читаешь всякое на пиндосском и переводишь в переводчике кусками, я так и учил его, сейчас могу читать без него.
>>1609460Нет, конечно, они на то, что ты сам можешь реализовать алгоритмы из стандартных библиотек.Просто почему-то в литкоде такие стандартные либы не заблокированы. С таким же успехом ты бы мог копипаст чужого решения сделать.
>>1609572Я проходил курсы на html академии, но этого явно мало. По крайнее мере общее представление чуть-чуть имею. Насколько я понял, нужно еще питон и джангу учить, поэтому начал с языка Пайтон.
У меня вопрос про venv, pipenv, poetry, tox.Что лучше использовать, когда начиешь проект? От чего больше профита? Что принято использовать как гуд практис?
Привет.Помогите мне.Есть код - пикрелейтед. Открываю сокет и слушаю.Мне нужно определить, смог питон открыть спорт или нет:Если явыполняю ./server.py 80Он отвечает [Errno 13] Permission deniedЭто выпадение в эксепшн сокета - порт 80 нельзя открыть потому что он привелигерованный.Если я пишу ./server.py 8080Он отвечает timed outЭто тоже выпадение в эксепшн сокета - он выпадает туда из-за заданого таймаута.Да, этим кодом я могу выполнить задачу - от скрипта я получу ответ, смог я успешно прослушать этот порт или нет, но мне нужно добраться до шага return('success!')А при открытии сокета server.accept поток выполнения команд фризится и интерпретатор просто слушает, что там кидают в сокет.Могу ли я как-то задать какое-то условие, чтобы скрипт не блокировал мне консоль и дальнейшее пыполнение потока?Вот листинг скрипта: https://pastebin.com/CyQaXKrf
>>1609608socket.accept() - блокирующая операция, система ждёт, пока к тебе кто-нибудь подконнектится.>>1609608>Могу ли я как-то задать какое-то условие, чтобы скрипт не блокировал мне консоль и дальнейшее пыполнение потока?Тебе надо или делать многопоточное приложение, или асинхронное, в последнем случае уже другими модулями пользоваться для этого, не сокетом. Или использовать select. Все три техники надо ботать, они не очевидные. Программирование сетевых сервисов требует определённый скилл.
>>1609422Ващет, цимус курсов для васянов в том что обучение структурируется и систематизируется, сами васяны с мойки в это не смогут.Большинство пойдёт дальше варить кофе с поднятым ЧСВ что они выучили что-то, а тот кому реально это надо - найдет работу.
>>1608996Многие советуют Укус Питона, сам по ней учусь сейчас, она совсем небольшая, думаю для базы лучше её сначала навернуть, чтобы хоть какое-то представление иметь
БЛЯДЬ! Двач, почему в тырнетах я не могу найти сравнение производительности ЖС и питона? Пиздец, все говорят что node.js быстрее, но это слово значит нихуя пока нету реальных графиков и реальных задач. Насколько он быстрее? В каких задачах, блядь?! У меня бомбит нахуй, эти два языка прямые конкуренты в вебе, и, блядь, нету сравнения производительности. Как нахуй?
>>1610062Мне ебучий график нужен с конкретными задачами и процент насколько выигрывает нода. Пиздец, я просто не верю, что такого сравнения нет! Каждая статья это копипаста с "плюсами" и "минусами", где говорят "ну да, ну да, жс ГОРАЗДО, НЕВЕРОЯТНО, СУПЕР БЫСТРЕЕ чем питон". Пиздос нахуй. Где, блядь? В каких задачах???
>>1610067Конечно есть такие сравнения. Вот, например, https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/node-python3.html Но тебе же все равно будет не то. Возьми и сделай сам под свои критерии. Чего истерику подымать на ровно месте.
>>1610077Спасибо. Хоть так. Просто это очень простой вопрос, на который мне кажется уже должен быть ответ по типу того, что ты скинул.
>>1610077Охуеть. Я, конечно, слышал, что питон - не самый быстрый, но никогда не видел конкретных цифр.Теперь вообще не понимаю, как его используют во всяких хайлоад-проектах.
>>1610101Наоборот, там столько нюансов при сравнении, что любой недовольный результатом может говном закидать всех и вся. То питон не той версии, то реализация не оптимальная, то железо не той системы.>>1610121Как я понимаю, его используют как красивую оберточку над сишными библиотеками, так и живут.
>>1610067https://medium.com/@mihaigeorge.c/web-rest-api-benchmark-on-a-real-life-application-ebb743a5d7a3
>>1610121Питон это клей для сишных библиотек и быстрого прототипирования, когда ты натурально из говно и палок делае ПоКПоК, а когда продукт выстрелил переписываешь его на нормальный язык, чаще всего компилируемый (почти всегда). Иногда отдельные куски, которые ЦПУБАУНД переписывают на ту же сишку. Гугл для этого даже го сообразила, чтобы не ебаться с байтойобством сишки. Там где ты тратишь время на ожидание (почти всегда сеть, чуть реже диск) хватает простой асинхронщины.
>>1610121Числа дробить на пистоне это да, говно, а вот сетевые либы на нем очень неплохи, в крайнем случаее можешь взять cython
>>1610150Вот кстати по поводу Go. В последнее время много вакансий появляется именно на связке Go и Python. Не по озвученной ли тобою причине?
Джанго же по идее не асинхронный? Пусть даже он не может асинхронно принимать запросы, но наверняка же он может их асинхронно обрабатывать и отправлять? Можно как-то замутить aiohttp loop внутри Джанги?..
>>1609602venv - при локальной разработке мастхев;pipenv - как вариант, очень удобно "заготовить" себе пару версий питона и юзать их для создания venv;poetry - для состоявшихся проектов отлично подходит, ибо становится спокойней жить;tox - не юзал.Сюда бы еще black/isort/pre-commit.
>>1610121Да хуйня всё это. Обычно в таких тестах, когда большая разница, ещё и очень большие косяки при составлении теста.Когда вот такая разница возникает и почему: когда у тебя какой-нибудь огромный цикл с простыми операциями. Питон будет очень неоптимально работать, если ты делаешь цикл из миллиона, где какой-нибудь инкремент переменной постоянной. Потому что питон ради этого на каждой итерации создаёт новый объект, убивает старый. А в JS проще и там JIT, который сильно помогает в таких случаях.Это нормально для синтетических тестов, но в реальном коде практически никогда не встречается. Реальный код работает сравнимо по производительности, потому что работа с объектами, памятью и т.п. в ноде не лучше.В питоне тоже можно пользоваться JIT, это PyPy. Можно компилировать в c-код отдельные модули, как Cpython. Оба инструмента могут как ускорить очень сильно, так и просадить производительность.
>>1610361Гвидо сказал, что если юзаете флэйк8 то блэк не нужон(зис ис тру), а поетри он не юзал просто.
>>1610368> на каждой итерации создаёт новый объект, убивает старыйВопрос: нахера? Разрабы интерпретатора не могли это сделать по-человечески как в JS? В чем причина?
>>1610368Я, видимо, что-то неправильно понял, но, получается, в питоне (обычном) следует избегать циклов, если стоит задача оптимизации? Как это возможно?
>>1610385Угу, о двух вещах:1, Дед не гонится за новизной2, Эта новизна все еще новизна и не совсем "продакшен рэди"ИМХО есесно
>>1610380В питоне всё есть объект. В том числе и переменные типа int. Причём это immutable объект, то есть если ты делаешь кодi = 100000i += 1то во второй строчке ты не меняешь одно поле объекта, ты именно создаёшь новый, с новым адресом и т.п. Это один из подходов. Из-за него какие-то вещи работают хуже, когда у тебя код весь на арифметических операциях, но зато упрощаются и ускоряются некоторые другие вещи, как выборка из словарей по ключам и др. У JS в этой части всё очень криво и убого, а питон строен и быстр.>>1610381>Я, видимо, что-то неправильно понял, но, получается, в питоне (обычном) следует избегать циклов, если стоит задача оптимизации?Если у тебя весь цикл состоит из простых арифметических операций, то да, питон будет работать медленно, он не для этих задач. Если у тебя весь код на этом, то надо уже смотреть на другие языки. А вот когда в коде в основном работа с объектами-словарями-списками, то там эти арифметические операции маленький процент составляют, на них мало теряешь. Зато много выигрываешь на другом.
>>1610397>выборка из словарей по ключамБелый Человек использует для этого immutable строкиМеня по-прежнему не покидает ощущение что Гвидо не мог в низкоуровневое (Си, лол) программирование
>>1610400>Белый Человек использует для этого immutable строкиЧто? В смысле?> Гвидо не мог Так сколько лет уже питону. Мог он или нет, всё за ним уже подправили.
>>1610400В качестве ключей в питоне можно использовать и строки, и числа, и туплы. Причём одновременно. И это принципиальная сила питона. А в JS словарей вообще практически нет. Есть объекты. Просто поразвлекайся и пойми, почему над JS все смеются до сих пор:let o = {}o['vasya'] = 'Vasilij';o['someData'] = 'string about data';o['toString'] = 'xxx';o['hasOwnProperty'] = 'yyy'и после этого ты уже не можешь работать с o.hasOwnProperty('vasya')потому что это не словарь на самом деле, а объект. Который может быть самым неожиданным образом поломан. И очень много таких нюансов у JS.
>>1610408Гвидо немного упёрт. Сколько лет они не могли внедрить оператор := который только в 3.8 появился, а без него реально неудобно.В питон могли бы внедрить какой-нибудь специальный тип данных, декларируемый, например register ingeter iкоторый тоже надо декларировать, как global надоЧтобы с такими переменными можно было только арифметические операции делать.Это могло бы радикально ускорить питон в каких-то задачах, но делало бы его менее стройным, а для Гвидо главное была стройность и очевидность кода.
>>1610421Это не делает JS менее прямымПользовался когда-нибудь hasOwnProperty?Теперь представьs = '{"someData":"data", "hasOwnProperty":"fuck you"}';let obj = JSON.parse(s)if (obj.hasOwnProperty('someData')) {}И таких дыр и косяков в JS уйма.
>>1610424Про не смог другой анон говорил. Гвидо мог, но был упёрт на каких-то своих заморочках по части языка.Из-за этого местами он был неудобен, местами его область применения сильно ограничена, из-за медленной арифметики в том числе.
>>1610417>В питон могли бы внедрить какой-нибудь специальный тип данных, декларируемый, напримерregister ingeter iТакой тип разве нельзя сделать через сишные биндинги? Проблем с переопредилением операторов нет ведь
>>1610381Если стоит задача автоматизации, то числа лучше дробить нампаем. https://dev.to/duomly/loops-in-python-comparison-and-performance-4f2m
>>1610606А тимлид говорит можно. Ну, то есть обычный список можно как то модифицировать чтобы он в словаре в качестве ключа работал.
>>1610462Не знаю, но в любом случае будет какой-то объект и толку мало от оптимизации. Ты вызываешь оператор, вызываешь какие-то связанные с ним методы, а это всё дикий оверхед.Но ХЗ, пожалуй такой байтоёбский апгрейд слишком всё усложняет. Как, например, сложить регистровый тип с обычным целым из питона? Кучу преобразований делать надо.В общем питоне не для байтоёбства совсем, что есть, то есть. Он для более сложных объектов.
>>1610629>В общем питоне не для байтоёбства совсем, что есть, то есть.Есть numpy и либы с jit компиляцией. Просто аутист какую то хуйню реквестит.
>>1604249 (OP)Двач, выбираю между двумя пикрилами. Какая из них лучше для человека, у которого прога это курс Pascal в школе?
А вы каким образом знания закрепляли? Я пока одну тему прохожу, прошлую начинаю забывать. Хочу прямо до автоматизма довести, чтобы не приходилось постоянно заново перечитывать. Вопрос лишь в том, как это сделать.
>>1610856Практика это само собой, но в голове сейчас месиво. Не ясно каким образом двигаться:1. Зубрить каждую тему и уже потом переходить к следующей.2. Надеятся на то, что в процессе понимание само придет и отложится в памяти.
>>1610919Точно так же.cursor.execute("insert into mytable (a, b, c, d) values (5, ?, ?, 20)", (10, 15))
>>1610888>>1610881>>1610856>>1610829Наркоманы? Используйте любой онлайн блокнот/органайзер. Люто-адово рекомендую Notion. Я без него не то что учиться, просто жить не могу. Просто 10/10 повышения качества жизни. Я вообще не представляю что значит "читать" профессиональную литературу, как будто ты просто худ.лит. читаешь. К примеру пикрил вариант собственного справочника, там можно что угодно делать, таблицы, напоминалку, туду листы, список литературы и прочее-прочее до бесконечности, по дефолту есть возможность подсветки синтаксиса 30+ языков, все делает райткликом. Есть ограничение на 1000 блоков, дальше $4 в месяц, но зарегавшись там за простые действия можно получить полгода бесплатной неограниченной версии, функционал бесплатной и платной никак не разграничивается, только лимит на 1000 блоков, но для начала это дохуя
>>1610978Есть бесплатные, это просто как пример, опять же вопрос так ли много тебе записывать нужно, может ты и за лимит не выйдешь
>>1610976Выглядит как прокрастинация с дополнительными шагами. Пишешь код. Что часто используешь, то и запоминаешь, остальное смотришь в документации.
>>1610980Я пробовал, но всего за пару недель вышел за предел.Подумал-подумал, и вернулся к еверноте.Я тут Яндекс плюс не могу решиться купить, а мне тут большую сумму на заметки тратить предлагают.
>>1610983Ну пиздец, а если не часто? Кроме того, как запомнить то, что нужно гуглить, а ты забыл? Ну учи наизусть полуторатысячные справочники, я же не заставляю, так действительно гораздо удобнее, держать всё в голове еще и нагружая её мыслительными процессами
>>1610984>но всего за пару недель вышел за предел.Ты там pdf-ки целиком копировал что ли? У меня около сотни страниц, даже четверть лимита еще не израсходовал
>>1610987>>1610983Забыл дописать, когда ты делаешь заметки сам, попутно представляя, как расписать это всё в более понятном для тебя виде - запоминается гораздо лучше. А прокрастинировать можно и в документации
>>1610989А тут согласен.Все руки не дойдут сделать себе апп для конспектов по коррнелу.В эверноте не совсем это удобно.
>>1610978>>1610990>>1610984Палю трюк - можно зарегаться с почтой @edu и тебе дадут бесплатную версию анлимом
>>1611013Это да.Но я с мобилы только и читаю, ничего не пишу и не работаю.А как и что ты записываешь? Пару примеров покажешь?
>>1610976Так а в чем профит? Чем он от обычного блокнота отличается, кроме синхронизации? Надо затестить.
Аноны, вот вообще не понимаю что не так, уже все перепробовал, не видит питон в path, добавил в системный именно path, что делать
Есть файлы тхт, в котором соблюдены одинаковые разбиения на протяжении всего файла, например:Клиент 1товар 1сумма продажисумма продажитовар 2сумма продажии тд и тпМожно ли как-то эти текствоые файлы форматнуть в csv? Не руками
>>1611079Ну а как?Я разве что циклом думал пройтись, но хз, может есть библиотеки нужные? Если да, то подскажите
>>1611054>;C:\Python37\Scripts\;>C:\Python37\Так все же должно работать (или просто при установке создай автоматически)
Двач, нид хелп. Есть 2 модели в Djangoусловно ... в одной:- Город - Улица - ДомВо второй:- Город - Улица - Дом - фото - дата(и еще их там много)По системе Одно(1модель) ко многим(2 модель)В первой как бы описываются объекты, а второй как бы прилагаемая к ним информация Собственно вопрос как организовать ключи, по дому не могу так как города могут отличаться и они могут повторяться.
>>1611121То есть можно ли сделать наследственность из 1 в 2 модель к примеруво 2 модели я указываю id(который может повторяться), и оно связано с id(которое не повторяеться) из 1 модели и из нее берет несколько полей
Ньюфаг в треде!Поясните с вертухи почему return ничего не возвращает? Делаю упражнения из "Думать на языке Питон", IDE - PyCharm.Собственно простецкая функция высчитывания гипотенузы:import mathdef hypotenuse(a, b): square = a2 + b2 return math.sqrt(square)hypotenuse(100, 120)Выдает - Process finished with exit code 0.Через print выдает нормальный результат.
>>1611127В модели 2 указываешь поле foreignkey, которое ссылается на модель 1. Через это поле ты и получаешь доступ к полям модели 1 из модели 2. И не наследственность, а отношение.
Друзья, нужна ваша помощь. Пытаюсь выучиться питону, не могу решить задачу:Написать программу, которая данные перенаправляет из stdin в stdout и stderr.Саму программу я написал:import sysdata=sys.stdin.readlines()for line in data: sys.stderr.write(line) sys.stdout.write(line)Но тут есть заковыка:Note! Обратите внимание, что не стоит считывать весь stdin разом, потому что тогда ваша команда tee, будет ожидать полного получения stdin, а он может быть отдан вам не сразу.Чтобы достичь этого, нужно сделать вывод своей программы небуферизированным, реализовать построчное (до символа перевода строки) считывание stdin.И вот с этим у меня проблема. Уже 3 часа копаюсь, понять не могу. Когда пытаюсь считать одну строчку, только она и выводится.Про буфферизацию прочитал, что мне sys.stdout.flush() поможет, но что-то нихера? Двач, дай советов мудрых
Как в pyqt5 вызвать диалог по нажатию кнопки?Надо ли его заранее в дизайнере набросать?Или можно создать при вызове?
Ceg,jhom?Пока изучаю питон много где встречал утверждение о том, что лучше бы конечно всё это делать под линуксом, собственно вопрос, почему? Эмулятора терминала в пайчарме будет недостаточно для этого? Так же видел в разных вакансиях типа - используемая ОС на ваш выбор, типа им пофиг. Подразумевается что знание линукса в целом ,т.е. не в контексте питона, просто само по себе это хорошее дополнительное знание, и всё?
>>1611337>лучше бы конечно всё это делать под линуксом, собственно вопрос, почему?Чтобы не было проблем как у анона выше с path, например.
>>1611342Т.е. это скорее для минимизации ебли с ошибками? Все что ты по итогу будешь делать в любом случае должно ведь работать мультиплатформенно там где это необходимо, и разницы в ОС в этом случае не будет? Ну ладно, в общем понятно. Просто я еще много чего под виндой делаю на программах, которых под линуксом просто не существует как вида.
>>1611384>Все что ты по итогу будешь делать в любом случае должно ведь работать мультиплатформенно Если твой код будет в проде - он будет однозначно работать на линуксе, потому что в винде отсутствуют необходимые инструменты для управления, масштабирования, мониторинга, бег знает чего еще, в линуксе большой выбор специфичных функций для программ с высокой нагрузкой.Большое количество библиотек на винде вообще не тестируют, а багрепорты с винды разрабы отправляют в корзину, ибо ставить систему для домохозяек и тестировать что там могло пойти не так - нахуй никому не нужно.Ну и универсальное правило - писать и тестировать софт на той платформе, на которой он будет работать.
>>1604249 (OP)Будьте добры, подскажите, в чем дело. Есть такой код:from tkinter import Tkprint(Tk().clipboard_get())Считываю содержимое буфера обмены винды и пытаюсь его вывести в консоль. В буфере текст типа <class>\n<keyword> class </keyword>\nПо идее, \n не должны печататься, а должны переводить на новую строку, но на практике они печатаются. Где загвоздка?
>>1611050Он же онлайн доступен через сайт. По сути он везде именно таким образом и открывается, просто через отдельное приложение на десктопе или в телефоне. Он всегда онлайновый
>>1604249 (OP)Есть какая нибудь ультимативная книжка для изучения пайтона? Или серия статей в интернете, и тому подобное. А то я потерялся в количестве книг и не могу выбрать
>>1611112Спасибо, наконец помогло, и даже pip заработал, вот только то из-за чего я начал с этим ебаться не изменилось. Может кто знает как решить эту проблему?
>>1611163функции присваивается значение от аргументов, далее ее можно использовать как переменную(принтить ее, присваивать ее значение другим и т.д)
>>1611683Аноны, спасибо всем за ответы, у меня вроде наконец заработал chromedriver, если у кого возникнут проблемы с ним и его path, то вставьте что driver = webdriver.Chrome(ChromeDriverManager().install())больше пока не проверял, но работать начало, сайт начал запускаться
Питонисты, я тут приступил к "Грокаем алгоритмы", но там написано все на питоне 2.7, мне будет сильно сложно делать что-то на последней версии питона? Нашел гитхаб с примерами кода, для питона 3, надеюсь это поможет. Ничего более актуального с того времени не появилось? Это вообще сильно важно будет?
>>1610765рекомендовал бы читать лутца. Да, она большая и малость нудноватая. Но блин. Там написано вообще про все. И очень понятно. Даж нормальная практика во втором томе есть - узнаешь что можно делать что-то кроме крудошлепства
Двач, учусь питону не больше месяца, сейчас закончил делать небольшой проект - чат бота вк, который парсит расписание с сайта моего вуза и говорит какие пары сегодня\ в каком кабинете пара следующая и т.д, получилось прикольно, но возник вопрос что делать дальше? Может кто подсказать что можно реализовать, за какой проект взяться новичку, чтобы было в меру сложно и интересно
>>1612217спасибо, но боюсь это не совсем по части питона гайд, хотя может запилю когда-нибудь своб борду и буду там ридонли сидеть, в гордом одиночестве
>>1612223Допустим, пилю я бэк для одной штуки(почти пет-проект), и хотел бы запилить там системы:1. предложки контента2. определение дублей(фото/видео)Интересно было бы узнать подробней и, при желании, поучаствовать?
Учу джангу , на фортенде для своих сайтов юзаю Bootstrap. Часто встречаю мнение что это зашквар. Анон поясни почему ?Действительно ли я так отстал от жизни и в 2020 стандартно пихать везде Vue,React.... ?Перечитал много статей так и не смог понять преимущество такого подхода (
>>1612228Для твоих целей бутстрап - топ.Пусть фронтендом занимаются фронтендеры, ты лучше погрузить глубже в мир бэкэнда.
>>1612247Просто учить теорию скучно, нужно ее и применять, я как начал - сразу стал придумывать себе задания где должен реализовать то, чего не не реализовывал, начал с виселицы где был импорт из файла слов и ткинтор и так пошло
Сильно не стукайте. Перед тем как начать изучать программирование сначала просмотрел все интересующие меня области, и больше всего заинтересовало очень оригинально, да DS и ML, потому собственно и решил учить питон. Поскольку работа по другому направлению у меня есть, учусь вечерами и по выходным, так что не скажу что прям жопа горит и что мне нужно врываться уже вчера. Но вот вопрос, как вообще строить процесс обучения чтобы слишком сильно не скатиться в теорию? Вот сейчас например я навернул Укус питона как-то укомплектовав пройденный материал. Сейчас приступил к изучению алгоритмов. Но вот к примеру анон выше там боты свои пилит, и собственно я понимаю что я прямо сейчас мог бы смотреть какие-то узкоспециализированные уроки из разряда - скачайте эту библу, пропишите пару строк и вот уже вы запустили нейронку у себя на компе, которая делает сложные штуки. Но вопрос собственно в том, как не перепрыгивать сразу через базу, и не входить туда, где я все равно еще не смогу в чем-то разобраться, но при этом и не пылиться годами напролет в вещах, которые, возможно, вообще пригодятся мне пару раз в жизни и которые я смогу нагуглить по мере необходимости? Посмотрел начало парочки разных курсов по DS к примеру, но там видно что пропускается очень уж много и ты буквально занимаешься слепым переписыванием кода без особого понимания вопроса.
Двач, как правильно провести проверку, является ли url частью другого url. Т.е. является ли "this.url.com/1234" или "drive.google.com/1234" частью "url.com".
>>1612412двачую вопроссам работаю и есть часов 10-20 в неделю на изучение. Не хочу тратить время на поиск практики и минимальной теории, так что думаю вкатиться в курсы
Ньюфаг в треде. Поясните откуда берутся результаты 1, 3, 6, 10, 15, 21. Насколько я понимаю, для начала мы ставим аргумент 6, подставляя тем самым 6 под параметр/переменную k в функции при ее вызове. Далее эта шестерка является числом больше 0, соответственно идет по пути result = k+tri_recursion(k-1). Если подставить 6 сюда, то получим result = 11, а сама k будет уже 5. Если по k понятно, то куда девается 11 и откуда берутся результаты? Или я пока тотально не понимаю логику питона? Сама суть рекурсии вроде как понятна - k раз выдать результат по заданному закону.
>>1612412мимо анон который пилит своих ботовЯ и сам пытаюсь вкатиться в мл и дс, нашел лекцию от какого-то чела из сбербанка, где он выложил презентацию со ссылками на разные курсы(введение в матанализ, дискретка, матстат, и куча курсов по питону), учу их и параллельно стараюсь писать свои проекты для практики на питоне, разбираюсь как работают модули которые подключаю(для vk_api который я использовал документация вообще на русском и в одном файле, было очень приятно разбираться как работает ооп в нем, и какие методы я вообще вызываю)Сама презентация на пике, вот ссылка https://www.slideshare.net/Sberdays/machine-learning-big-dataзаходить только через впн(хз почему, пользуюсь оперой для этого)
>>1612511О, спасибо большое, да действительно через vpn только пускает, видимо опять что-то там шатает наш раздолбайнадзор
>>1612502это не логика питона, а обычная рекурсия, погугли просто слово рекурсия в программировании, у тебя к функции присваивается значение, которые ты возвращаешь return'ом, сначала вызывается от 6, она вызывает функцию от 5, потом от 4 и так до нуля(по условию) получается ступеньки некоторые и когда доходишь до конца она начинает идти обратно присваивая значения и прибавляя ихВ книге Грокаем алгоритмы эти азы расписаны, почитай
>>1612502result ждёт результата исполнения tri_recursion(k-1). Поищи в интернетах сайтики визуализации python кода, там тебе наглядно покажут весь стек вызываемых функций.
>>1612515Так это как раз таки и понятно как работает рекурсия. Мне не понятно откуда берутся выводные данные. За книгу спасибо, прочитаю.>>1612518О, не знал о визуализации кода, спасибо. Посмотрел и понял, что в итоге не полностью понимал как рекурсия работает. Спасибо аноны, с меня тонны нефти.
Совсем ньюфажина вкатывается в тред.Пытался кодить на C++ где то полгода - год назад, застопорился на начальном уровне.Сейчас от не нехуй делать попытался накодить Hello World, боже мой, как же просто это сделать, никакого лишнего ебучего синтаксиса, никаких ебанутых танцев с бубном для того чтобы вывести на экран инфу, потеребил переменные, просто великолепно блядь, и иинтуитивно, и понятно. Короче, я снова вдохновился на кодирование.На более продвинутом уровне, насколько питон проще с++, и спустя какое время интенсивных тренеровок я смогу накодить змейку, или какую нибудь свою няшную софтинку?
>>1612518>>1612523Жрять! Визуализация кода это же охуенно! Почему о таких крутых вещах я узнаю случайно на каком-то форуме для аниме девочек, и ни разу не видел никаких упоминаний об этом ни в каких книгах и онлайн уроках, пиздос!
>>1612528Не всё так просто, за синтаксический сахар есть плата, иначе все бы только на питоне писали.
>>1612229Я правильно понимаю, имеется ввиду джанга для бекенда, рест для для круда, и реакт, чтобы сделоть саму визитку?
>>1612546Я думал, что это всем известно и настолько очевидно, что даже в шапку добавлять не стали. Кто же знал.
А в какой тред идти новичкам?В шапке по-моему неактуальные ссылки на книги.Как учиться? По документации?
>>1612716Укус Питона, Думать на языке Python, дальше сам разберешься: что-нибудь про алгоритмы, Django, tkinter.
>>1612788>Думать на языке Python>Укус ПитонаРазве это не почти одно и то же? Посмотрел оглавление, там процентов 80 того же самого
Аноны, я правильно понимаю, что при использовании стандартных драйверов баз данных в асинхронном коде - они не только будут блокировать ивент-луп, но и создавать возможность того - что 2 человека одновременно кинут запрос на изменение одного поля и оно ебнет, поэтому надо использовать асинхронные драйверы типа Aiopg/Aiomysql, чтобы избежать этой хуйни
На каком языке (да, я про лингвистику сейчас...) лучше пилить сайты для портфолио? Инглиш или русский?
>>1612928Сам как думаешь? Где собираешься искать работу, на том языке и пили, впрочем я думаю всегда лучше английский
через 4 дня первый собес на позицию трейни в бекенд, а я сижу и смотрю анимубля, как заставить себя хоть что-то выучить...но с другой стороны, меня все равно обоссут и выкинут на улицу, потому что я очень тупой
>>1612978Просто выведи первой сторокой на сайте>не знать английского в 2к20Англоговорящие не поймут, а у остальных будет бугурт анальной жёппы
Ребята, вкотился в питон разработку. Скажите пожалуйста на каком уровне нужно знать докер/кубернетс для разработчика, и стоит ли заморачиваться? Это облегчает жизнь?Я имею ввиду уровень знаний для разработчика, а не девопс инженера. Если я правильно понял контейнеры позволяют меньше ебаться с деплоем приложения. Где прочитать?Спасибо.
Очень расфокусированный вопрос : какой язык учить вместе с питоном, чтобы быть чуть более востребованным на рынке ?В ML и всякие там дрочи циферок и даты не собираюсь (умею на базовом уровне, но заниматься не хочу)
>>1613020>Что значит вкатился?Значит что занимаюсь коммерческой разработкой уже 2 года, но контейнерами так и не начал пользоваться.
начал вкатываться в ds, но, по ходу переоцнил свои силы, думая, что осилю за год до джунапардон, но джанго на рынке насколько востребован? на hh вакансий среднее количество и мало, где чистый ищут
>>1613164Попробуй в какой нибудь группе ВК спросить, там обычно есть темы с обсуждением подобных проблем.
>>1613175Алсо блядь скачай себе пичарм комьюнити и не еби себе голову, оно прямо тыкать тебя будет на строку где исключение выплюнолось.
Лол, где есть подробная инструкция по установке PostgreSQL для Джанги? После ползанья раком я таки установил ее (вроде) но остались кое-какие вопросы: что означает параметр OWNER у database? Как я могу поменять его? И когда я предустанавливал Postgre на локальную машину у меня не получалось выполнить команду psql через командную строку: пользователь "Андрей" не прошёл проверку подлинности (по паролю) - с хуя ли?
>>1613164есть группа питона в телеге с 52к людей, выдает первым по поиску Python, только прочти Rules сначала и пасть код через сторонний ресурс
>>1604249 (OP)Анон, почему Питон дает такие странные ответы при делении>Откуда "5" в конце?10/3Out[91]: 3.3333333333333335>Почему всегда 3.0?10//3Out[92]: 310.0//3Out[93]: 3.010//3.0Out[94]: 3.010.00//3.00Out[95]: 3.0
>>1613254Потому что вот так сделаноhttps://www.geeksforgeeks.org/floating-point-error-in-python/Хочешь точных вычислений - используй Decimal
>>1613256>>1613258Круто, спасибо!Анон, а как можно на таком фундаменте ИИ создавать, если все эти языки даже десятичные неправильно считают?И почему обычный виндоуский калькулятор считает правильно?Python считается "языком для ученых", а тут вот узнал такое. Неприятный осадок от этого
>>1613223Первая ссылка в гугле. https://djbook.ru/examples/77/>: что означает параметр OWNER у database? Как я могу поменять его?Погугли перевод овнер и сразу все поймешь. Это конкретный владелец какой либо базы. PostgreSQL это серверная субд. В твой системе крутится postgres-server. Там может быть много баз данных. Ты моешь создавать пользователей с разным уровнем доступа. И делать их хозяивами каких либо таблиц.Дефолтный супер пользователь в постгресе обычно postgres, с паролем postgres. Так же суперпользователь может редактировать или удалять другие таблицы. Ну и создавать тоже. Выше по ссылке пример.
>>1613223>И когда я предустанавливал Postgre на локальную машину у меня не получалось выполнить команду psql через командную строку: пользователь "Андрей" не прошёл проверку подлинности (по паролю) - с хуя ли?А как бы ты создал пользователя если не смогу зайти? Заходи под дефолтным суперпользователем. sudo -u postgres psql postgreТам уже создавай своих андреев.
>>1613254Это мантиса называется, тут подробно о делении рассказываетсяhttps://m.habr.com/ru/post/112953/
Что работает быстрее - когда функция у двух разных классов переопределяется через наследование с общим базовым классом, либо когда вызов идет через строчку? Какой смысл в наследовании кроме агрегации данных, если все равно все методы через стринги вызывается?
>>1612873Про блокировку синхронных драйверов это да, про асинхронность у тебя вообще нет гарантии порядка запросов. Добро пожаловать в чудесный мир многопоточного программирования.
По поводу баз данных не врубился в кое-чтоУ меня есть глобальный класс Group, в нем хранится набор других классов Student, в Джанге это поле ManyToManyField, но вот 1 студент может принадлежать только одной группе, поэтому должно быть поле типо OneToMany - а его нет. Как "засунуть" отдельного взятого студента в определенную группу? Если б инфа хранилась в виде словарей или JSON-объектов это было бы очевидно, но это блять реляционная БД
>>1613533>У меня есть глобальный класс Group, в нем хранится набор других классов Student, в Джанге это поле ManyToManyFieldManyToManyField - это когда у тебя 1 студент может состоять в нескольких группах.> Как "засунуть" отдельного взятого студента в определенную группу? Сделать ForeignKey у студента на группу в которой он состоит
Питонисты питонистички, учу тут рекурсию, и что-то немного охуеваю с логики построения рекурсий, если это еще какие-то простые рекурсии типа найти сумму всех значений из листа еще куда ни шло, но если начинается сложнее то пиздец, я просто не могу эту рекурсию до последнего значения в стаке держать в голове из-за чего вообще трудно её нагромождать самостоятельно, понять уже написаный код я еще могу, но вот придумать что-то сложное самому это пиздец. Что делать? Даже визуализацию рекурсии себе расписал, но это все равно пока не сильно помогает. Учу по - Грокаем Алгоритмы. У кого такое было, как справлялись? Можно пока получить общее представление о рекурсии без суперспособности составлять её самому, или таки нужно разобраться до победного конца? Типа вот такой картиночки себе расписал, казалось бы всё понятно, но вот смотрю решение задачи по нахождению максимального числа из списка с использованием рекурсии и у меня наступает ОЙ ВСЁ
>>1613164Кароче, я не знаю почему, но urls зацикливался когда я добавил class based view. Решил переписать на функциях. Все работает.
>>1613593>У хирьянова пройди практику по рисованию черепашкой фракталов Можешь дать ссылку? Что-то поискал, там дофига всего, по ключевым слова ничего не выдало конкретного
>>1611306Спасибо. Получилось дергать из 1 модели данные. Как изменить привязку из 2-ой модели(многих) к 1-ой(одной). В админке все получаеться, но не могу понять как в shell'e это сделать
Накидайте плис минимум для джуна. Вот прям то что нужно знать точно, а то пишут все РАБотодатели по разному. Думаю если знать просто питон, то я нахуй никому не нужен буду. Ну и про фриланс тоже вопрос. Фриланс уже все, дикая конкуренция и работы нету?
>>1613690Фриланс на пистоне это скрипты для студентов или парсинг максимум, бек на аутсорс отдают обычно, а не на фриланс
>>1613692Есть компания, которая сидит и принимает заказы, у них есть ТЗ данное заказчиком из другой прогерской фирмы, они по нему педалят все в рамках контракта, там НДА и все бюрократические заморочки. Доверия к ним больше, чем к фрилансерам.
Вот у меня глупый вопрос как вкатывальщика в питон. На джанго можно сделать магазин, который будет чуток похож как делают на всяких там вордпресах и прочее? Как раз и научусь. В лом платить 10к хочу написать сам. Есть примеры магазов на джанго?
Какую книгу по алгоритмам можете посоветовать? Не хочу читать Грокаем Алгоритмы, из-за того что там Python 2.7
>>1613635>>1613635Если я правильно помню, то как обычное поле - присвоил и сохранил:model2 = Model2.objects.all()[0] # берем первый попавшийся объект модели2new_model1 = Model1.objects.create() # создаем новый объект модели1model2.model1 = new_model1 # присваиваем полю foreignkey новый объектmodel2.save() # схороняем изменения.Но я могу и ошибаться.
Каким способ можно обойти NAT и позволить другим пользователям отправить мне что-то по TCP? Я слышал что-то про Hole Punching. Есть еще методы? Как это лучше сделать на Пайтоне?Или может быть я что-то неправильно понял и обосрался с созданием сокета? def __init__(self, port: int) -> None: self.server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.server.bind((socket.gethostname(), port)) self.server.listen(1) super().__init__() self.daemon = True def run(self) -> None: while True: (socket, address) = self.server.accept()
Кто читал книгу Грокаем алгоритмы (или любую другую по алгоритмам), у меня к вам вопрос, вы полностью до конца понимали весь прочитанный материал вплодь до решения всех задач и выполнения упражнений? Просто я сейчас читаю и мне абстрактно, обощенно конечно понятно всё что там пишется, но вот я явно еще далек от того, чтобы у меня возникало чувство удовлетворения от понимания пройденного материла после каждой главы, и 80% того что я там нахожу я все равно гуглю и разбираю дополнительно, плюс все что прохожу конспектирую и выписываю, но сильно легче не становится. Собственно вопрос - это нормально? Таким образом в целом и постигаются все эти ваши знания, или нужно чтобы все просто как дважды два было понятно иначе смысла нет? А то с одной стороны хочется понять все и чувствовать себя гением, с другой не хочется очень долго буксовать на одном месте, и обучаться как-то более обширно, иначе я ебнусь я уже курить снова начал, пиздос и все свободное время посвящаю только этому.
Какой менеджер виртуальной среды пизже? conda или virtualenv? Всего юзал второе, конду даже не трогал, стоит ли?
Команда Джанги manage.py createsuperuser создает суперпользователя (кто бы мог подумать, да?) только вот нахрена он нужен? Какой от этого пользователя в Джанге профит?
>>1613558>я просто не могу эту рекурсию до последнего значения в стаке держать в головеТы и не должен, блядь. Суть рекурсии - свести задачу большего размера к задачам меньшего формальным образом плюс продумать пограничные случаи, когда рекурсия заканчивается.
>>1613558Рекурсия призвана облегчить задачу разработчику. Но всегда сосет по производительности у других алгоритмов. Даже С++ не спасет, там будет быстрее чем на питонухе канешн но точно также получается овердохуя говна на стеке
Что можно почитать экспрессом по джанге, чтобы не выглядеть полнейшим дауном на первом интервью?Чуть ли не все тестовое тупо нагуглил, но все равно позвали
>>1614184https://developer.mozilla.org/ru/docs/Learn/Server-side/Djangohttps://tutorial.djangogirls.org/ru/
>>1614033>Но всегда сосет по производительности у других алгоритмов. Придумай сортировку быстрее рекурсивной.
Разбираюсь с ооп в питоне и наткнулся на ExtremeCode, скажите, разбирающиеся, правильно все говорит или лучше его не слушать(про тру ооп и не тру, про паттерны, про сокрытие(хз как это должно в питоне выглядеть) и т.д)
>>1614520Забавно что ExtremeCode, будучи js-ром раздувает эти срачи, хотя как правило это прерогатива джавистов (показать, что остальные - плебеи и не шарят в ТРУ разработке). Банальное хайпожорство на пустом месте
Тут пацаны говорят, что юзать БД в качестве хранилища двоичных файлов - плохая затея. Так ли это? И если да, то как хранить на сайте загруженные туда файлы?
Есть A=[1,2,3] и B=["a","b","c"].Можно ли в каким-нибудь однострочником вывести массивы параллельно?1: a2: b3: c
пишу функцию. на входе два значения: высота и ширшина. на выходе - двухмерный массив, который должен быть заполнен единицами в виде ромба, который аккурат входит в массив. что-то накидал на питоне (не принципиально питон), но, блять, в ебле с индексами голова у меня уже не варит. помогай, петяня!https://ideone.com/DFMuHt
Вечер в хату питонисты. Помогите с банальщиной. Вообщем делаю я что-то типа парсера файлов из папки. Суть задачи: есть папка,в ней несколько txt, в каждом txt есть параметры виды:Nazvanie=Лев ТолстойGlava=Хуй ПростоAetotParametrNeVsralsya=Так вот мне нужно чтобы значения с параметра Nazavanie и Glava вывелись в строку. Или хотя бы в две. Как именно отделить "правую" все что после знака равно. На выходе мне надо получить:Лев Толстой Хуй ПростойилиЛев ТолстойХуй ПростойЯ чую, что пипец легко, но залагал дико. Получаю только полностью строку вместе с параметром вывести. Вообще, для полного пояснения зачем скрипт. Есть некий архив из двух файлов, в одном xml в другом config.txt, мой скрипт пробегает по папке, читает каждый архив из него читает config.txt и должен считать параметр, затем выведет в файл и получится "некое содержание". С этим я вроде более менее справляюсь, а на такой мелочи застрял. Заранее спасибо
Нужно для каждого числа сложить соседние. Для 3 нужно 1 и 5, для 5 нужно 3 и 6, для 6 соответственно 5 и 10. Результаты добавить в новый список. Мое ебанатсво не едет. Помогите пожалуйста, я запутался.a = [1, 3, 5, 6, 10]b = []for i in a: b += (a[i-1] + a[i+1]) print(b)
>>1615065Да просто страничка с динамически обновляемыми формами + простейшее рест апи для вывода всего, что сохраняется в бд
>>1615071Я так понял твоя тема это если Nazvanie и Glava жестко заданы в коде. Но они у меня во внешнем файле
>>1615071я в какой то стпени разобрался. немного топорно но помогло в данный момент я имею такой вывод: Nazvanie=Лев Толстойвместо простого print(tag)я использую print(tag.split('=')[1])и получаю: Лев ТолстойНо в какой-то степени вопрос остается октрытым в том смысле, что как мне именно "прочитать" такой внешний конфиг файл. А не просто оторвать кусок на print`e?
>>1615164list.index(obj) - возвращает индекс ПЕРВОГО вхождения объекта.у тебя matrix[0] == matrix[10] и так во всех повторениях. поэтому у тебя и идут дубли.чтобы было без дублей используй enumerate например.
>>1615164>>1615199еще добавлю.через метод list.index ты можешь 2ым аргументом задать срез типаlist[x+1:] , где х, предыдущий индекс .
>>1615026>помогай, петяня!Ты просишь о помощи, но делаешь это без уважения. Что это "петяня"? Мог бы сказать "многоуважаемый анон". На первый раз раз прощаю. >не принципиально питонНу ок, вот тебе говнокод на голых сях, разбирайся:https://pastebin.com/y0CqSiWn
>>1615219>говнокод на голых сях printf("enter size: "); scanf("%d", &size); int arr[size][size];У меня от тебя стак оверфлоу. Ну пользуешься вла, почитай как нормально безопасно это делать, зачем ты лепишь такое.
Хочу написать скрипт для автоматизации логина в приложение Spotify на винде. Как это лучше и правильнее сделать? окно приложения может открываться довольно долго и в разных положениях на экране
У меня в Джанге модели Item связаны с моделью Bag с помощью ключа ForeignKey, что будет если я удалю этот обьект Bag, на который ссылаются Item'ы? Они тоже сразу будут удалены?
>>1615309Да я не разбираюсь толком. Написал, как сумел. Так лучше?https://pastebin.com/xxXbVMWg>>1615587В gcc компилировалось без проблем, кланг при -Wall выдал, что scanf deprecated. Интересно, экзешник, сделанный gcc, получился 44кб, а клангом - 122кб. В три раза больше О_О
>>1611443Очень просто, преобразуй в строку, ибо получаешь на выходе литерал а не строку, ну я так думаю
>>1615587Я не знаю, у меня внимания только на 10 строк хватает.>>1615728>Так лучше?Там не в сканфе проблема была, а в int arr[size][size];Это называется VLA, и они не для такого предназначены. А так как ты написал, делать очень небезопасно.int (✭arr)[size][size]=malloc(sizeof(✭arr))Вот примерно так надо делать массивы, зависимые от пользовательского инпута.
>>1615678Сделал при помощи pywinauto. Оказалось это довольно легко, но меня волнуют непокрытые возможные непредвиденные ситуации. Попробую написать что-то получше, когда первая такая ситуация возникнет.
Между прочим актуальная проблема. Не успеваю запомнить синтаксис, то есть в голове есть понимание как должно выглядеть решение, но оформить его по всем правилам не могу.
Чуваки спасайте, написал скрипт. Суть скрипта: считать данные с определенной ячейки из эксельки (H9), и затем то что там написано становится названием этого файла. Это проделывается с большим количеством файлов в папке. Произошел затык на стадии указания папки:Если я выбираю каталог где лежит сам скрипт, то xls-фалы нормально переименовываются. А если я выбираю любой другой каталог, то сразу получаю ошибку:Traceback (most recent call last): File "C:/Users/wonka/Desktop/Python Dev/FalgaRenamer/FalgaRenamer.py", line 22, in <module> with xlrd.open_workbook(file, formatting_info=True) as exelka: File "C:\Python 3.7.2\lib\site-packages\xlrd\__init__.py", line 111, in open_workbook with open(filename, "rb") as f:FileNotFoundError: [Errno 2] No such file or directory: '01-01.xls'Прошу помощи, скрипт нужен по работе. Я смутно понимаю что в listofxls сидят не "полные" пути а только сами названия файлов, но тогда я не понимаю почему с каталогом прокатывает. Сам скрипт: https://pastebin.com/r30VJ4uF
>>1616100А и еще, чтобы проверить работоспособность, и вообще посмотреть то что должен делать скрипт создайте xls-файл (НЕ xlsx). Вбейте в ячейку H9 любой текст. xls-файл положите в папку к скрипту и запустите скрипт, выберите каталог со скриптом.
>>1616100Посмотри какой тебе ТКинтер путь возвращает, может коравая разметка, которую надо каким-нибудь os.path в норму привести
>>1616110дебагер показывает такой путь для переменной диалог: 'C:/Users/wonka/Desktop/Python Dev/FalgaRenamer/TEST'дебагер "как-будто" видит список файлов, но все равно кидает в ошибку. может ли быть, что C:/Users/wonka/Desktop/Python Dev/FalgaRenamer/TEST (здесь должен быть знак /) 01-01.xlsи скрипт думает что полный путь до файла получается таким?C:/Users/wonka/Desktop/Python Dev/FalgaRenamer/TEST01-01.xls хотя должен бытьC:/Users/wonka/Desktop/Python Dev/FalgaRenamer/TEST/01-01.xls приведи пример как привести, я немного деревянный
Мудрый анон, помоги советом.Есть кое-какой код, который на примитивном уровне работает как пикрил. Как обработать exception не по-Васянски? Мне нужно, чтобы в случае вылета ошибки функция вызывалась снова, если вкратце.
>>1616195>Мне нужно, чтобы в случае вылета ошибки функция вызывалась сноваДелай это не через exception, а через возвращаемое значение тогда.
>>1616198Exception вылетает не от моего кода, а из сторонней библиотеки. Тут просто на примитивном уровне я вызываю raise. В самой программе я этого не делаю конечно. Так что твой вариант не подходит к задаче, анончик
>>1616141>>1616278Хуйню написал, скорее всего как ты и сказал в конкатенации строк для ренейма файла>os.rename(file, insidename + '.xls')У тебя идет абсолютный путь к файлу, а потом просто имя из клетки экселя и с этим проблема, когда файлы не в твоей папке. Так что выдирай базовый путь>drname = os.path.dirname(dialog)И конкатенацию лучше через джоин>os.rename(file, os.path.join(drname, insidename + '.xls'))
>>1616292Че-то потыкался пока безрезультатно. Если вдруг найдешь решение, дай знать. Я в питоне рил слабый, пользуюсь чисто по работе.
>>1616316Я не вижу ничего кроме строки переименования, что может давать не тот результат, так что хз и вытащи ее из with
>>1616322М? Я пока никакого кода не показывал. Хотел прикольно рекурсивно решить, но срезы Matrix[1:-2][1:-2] не работают.
>>1616327Работает в принципе, но выглядит уёбищно. С библиотекой теперь уже более-менее цивильно смотрится.