Двощ, не подведи. Подскажи годных способов выучить питон, желательно в формате заданий с проверками, по типу языкового busuu. Вкатываться в программирование не собираюсь, языка ни одного не знаю (когда-то давно в школе дрочил паскаль, а в универе одно время писали программы на дельфи для древних средств измерения в целях автоматизации) питон нужен чисто в личных целях: чатбота написать, нужную утилитку по мелочи, парсер там, всё такое. Короче, глубоких знаний не нужно, но применять буду универсально. С меня как всегда. Бампаю рандомной анимепарашей.
>>229686992 Почти все более-менее нормальные сайты на пиндосском, особенно с задачками. Вот на русском есть, https://pythontutor.ru но это более обучалка, на кодварсах именно бесконечный поток заданий. Хотя, если тебе чисто утилитарно, то советую прочитать https://diveintopython3.problemsolving.io/ И хоть немного про алгоритмы, а то будешь через 500 лупов файлы парсить.
>>229687418 Спасибо большое, анончик! Обучалка мне как раз пойдёт, первым делом задрочу её и алгоритмы, мне бы чисто самые основы. Нюансы уже, думаю, можно будет по всяким stackoverflow найти.
>>229689297 >>229689340 Спасибо, запишу к себе, особенно codeforces. На пендосском начну учиться и гуглить только после изучения основ, иначе будет трудновато из-за незнания базовых терминов и приёмов.
>>229689394 Чувак, это как насрать сначала разок-другой на ковёр в доме чисто для того, чтобы точнее срать в унитаз.
>>229686545 (OP) Литкод уже подсказали, чекни еще w3school, у них вроде есть и питон. Еще можешь чекнуть гайды по конкретным проектам типа github.com/tuvtran/project-based-learning Еще есть один годный ютуб канал, но там вроде только веб фреймыорки питона рассматриваются.
>>229686545 (OP) Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
>>229690280 Рано или поздно будет, я думаю. А пока не анонсировали. >>229690313 Что-то не особл привлекает, ну его нахуй. Я не собираюсь вкатываться в ойти, просто для домашних нужд нужен. А дрочить что-то будто на экзамен, так это бесполезно, лучше я алгоритмы поизучаю лишний раз
>>229686545 (OP) Какой хороший тред и столько картиночек. По питону используй кодворс, документацию и обычную книгу по типу лутца(душная говнина), а лучше пикрил
>>229693803 Я серьезно. Нет такого понятия как "выучить язык", синтаксис учится параллельно превозмоганию стандартной библиотеки, либо тех что понадобились.
Так вот, на питоне нет ничего собственного. Вся его суть - в существовании "привязок" из в основном сишных библиотек. Учи сразу си - там будет и то что в питоне, и того его нет.
>>229693984 Для меня слишком трудоёмко учить си, и слишком долго, я его заброшу. На питоне как-то попроще будет. На си хелловорлд пишется блять с объявлением классов, процедур и ещё какой-то хуйни, на питоне просто есть функция print. Так что лично для меня выбор очевиден, я же не собираюсь блять вирусы писать или что-то сложное
>>229694726 Ну програмки-то не идентичные. Первая ждет нажатия любой клавиши.
ВОТЭТИВОТБЛЯТЬ пригодятся, когда пахом "удобно" вытащит строки файла, но с символами переноса в конце (а они еще от системы зависеть могут), и ты не понимаешь, почему записанное в файл не идентично восстановленному из него же.
>>229694726 C/C++ нужен если ты уже написал оптимальный алгоритм на python, и он не вывозит по времени работы. Тогда имеет смысл переписать на C. Если учишь для себя то такое не встретишь
>>229694959 Но для меня всё это как белиберда. Нахуя мне объявлять какую-то дрочь после подключения библиотек? Что означает using namespace std? Кому я блядь возвращаю 0 в конце, если он мне нахуй не нужен? Выглядит как поделие говна из девяностых годов с кучей каких-то костылей и неудобное для юзера.
>>229695124 Вот то-то и оно, я понимаю, что плюсы можно использовать гораздо гибче при наличии знаний, и дохуя чего учесть и оптимизировать, но мне в повседневных задачах это нахуй не надо, я же не собираюсь майнер писать или рендер какой-то.
>>229695221 > Но для меня всё это как белиберда. Нахуя мне объявлять какую-то дрочь после подключения библиотек?
Вот как подключается GTK-библиотека в питоне теперь:
import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk, Gdk, GLib
А вот как подключалась раньше:
import gtk
Причем помимо "написать в импорте" нужно отдельно доставить пакеты с реализацией в систему, и в менеджере самого питона. Сложность никуда не девается, костыли все равно нарастают.
> Что означает using namespace std? with ... do из паскала
> Кому я блядь возвращаю 0 в конце, если он мне нахуй не нужен? Системе, что программа завершена нормально.
>>229695665 Ну, если честно, для меня это логичнее, чем то, что в плюсах. Доставить пакетами не проблема, так контролируешь что у тебя висит и по отдельности выкашиваешь, если не надо. В импорте я так понял указывается класс (или вид, я точно хз) библиотеки, потом требуемую версию, а потом уже импортишь конкретно что надо. Это лучше, чем указать просто gtk и получить хуй пойми что, поставленное системой.
Алсо, пикчи кончились, так что я ухожу, всем спасибо, кто отписал и посоветовал что-то, всем признателен
>>229695124 >и он не вывозит по времени работы Интересно, что у тебя там за алгоритмы, что питон не справляется. Или что за ограничения по времени - религия не позволяет ПК на ночь не выключать?
Другое дело, что питон один из самых хуёвых языков для реализации чего-либо математического из-за отсутствия сахара, а интерпретация и динамическая типизация отбивает желание писать что-либо длиннее пары строк.
Тот же Haskell его уделает по удобству чисто за счёт ленивости (можно работать с бесконечными списками) - и это я ещё не перечислял ЯП, для вычислений предназначенные (APL, J, PARI/GP etc.). И работать быстрее будет за счёт распаралелливания из коробки.
>>229696473 >Другое дело, что питон один из самых хуёвых языков для реализации чего-либо математического из-за отсутствия сахара, а интерпретация и динамическая типизация отбивает желание писать что-либо длиннее пары строк. Ты траллишь щас, или питон с чем-то перепутал?
Что я должен делать со скриптопарашей с принудительным однопотоком и шансом подорваться после получения результата вычислений на этапе сохранения (т.к. интерпретация, а в последней строчке буковку перепутал)?
>>229697337 >с принудительным однопотоком Тогда откуда вопросы про время работы? >а в последней строчке буковку перепутал Принимай антивглазебин - он и с компилируемыми помогает, от ошибки ввода никто не застрахован. Хотя если у тебя такие проблемы, то наоборот тебе питон должен быть проще - как раз потому что не надо следить за многими вещами - а то вдруг тип или точку с запятой забудешь 15 раз подряд проставить, или дескриптор какой закрыть, а контекста нет. А тут как раз сахара дохуя и синтаксис простой. Ну ты точно что-то обратное питону написал.
>>229697809 >сахара дохуя Ебанутый? Даже switch нет, а всякие лупы очень громоздкие, особенно с вложенностью.
>синтаксис простой for-else и куча другой неочевидной хуйни вроде использования булок как чисел.
>как раз потому что не надо следить за многими вещами Там надо следить за вещами в 3 раза больше, т.к. предупреждений нет - отрывает сразу всю ногу, к тому же в рантайме.
В Haskell я наоборот всё перекладываю на компилятор, т.к. при любой ошибке или несовпадении код просто не скомпилируется. В пруверах можно ещё больше перекладывать на систему типов, но они слишком далёкие от практики.
>>229698312 >а всякие лупы очень громоздкие, особенно с вложенностью. А ты не пользуйся лупами, особенно вложенными. >Даже switch нет Вот скажи, зачем тебе свитчи при словарях? >for-else и куча другой неочевидной хуйни вроде использования булок как чисел. Чем тебе неочевидно? И если про for-else ладно пару строчек почитать как этим пользоваться, но булы ты не знаешь как в числа переводить? >Там надо следить за вещами в 3 раза больше, т.к. предупреждений нет - отрывает сразу всю ногу, к тому же в рантайме. При хуёвом использовании тебе ногу может оторвать чем угодно, но отрицать минималистичность синтаксиса, его максимальную похожесть на английский и гибкость просто тупо.
>>229696473 Для спортивного программирования python не вывозит time limit в 1-2 секунды. В том же code jam все на C/C++
Рядовой программист в 99.99% случаев не будет писать что-то математическое. Для компаний где манагеры не понимают в разработке важна только скорость выполнения задачи. Поэтому на python или другом скриптовом языке быстрее всего написать.
>>229693638 Вредный совет. Все хорошо с С до тех пор пока ты не решил уйти от задачек к чему-то более общеполезному. А как решил уйти, так плач: каждое действие превращается в дислексический ураган кода, попытка прикрутить гуй вызывает чуму, попытки сделать на С веб объявлены ересью Антиохийским собором, полторы тысячелетия назад.
Только байтоебство с алгоритмическими задачками, вот что может С. И еще сохранить твою девственность.
>>229698644 >А ты не пользуйся лупами А чем пользоваться тогда?
Вот например, мне нужно посчитать все n^m, где и n, и m - от 1 до 100. На Haskell я просто пишу: liftA2 (^) [1..100] [1..100] Если нужно завернуть в функцию с кастомными n и m дописываю: allpow n m = liftA2 (^) [1..n] [1..m]
Ты сам понимаешь, сколько усилий займёт это написать в питоне, а это вообще элементарная задача. И это я ещё не брал функции вроде powerset, где Haskell реально себя показывает: powerset = filterM (\x -> [False, True]) Теперь посмотри, сколько строчек это займёт в питоне.
>>229698644 >И если про for-else ладно пару строчек почитать Да там даже для печати без переноса строки что-то читать надо. Нихуя не очевидно.
>зачем тебе свитчи при словарях Pattern matching уже завезли? А это пиздец упрощает код, т.к. для крайних ситуаций проще писать: func [] = [] func [x] = x func xs = foldl1 (/) xs Вместо дерева вложенных if.
>минималистичность синтаксиса Иди на brainfuck попрограммируй, там его ещё меньше. И да, чем меньше ключевиков - тем больше писанины и костылей для их замены.
>>229698780 >скорость выполнения задачи >на python или другом скриптовом языке быстрее всего Открою небольшой секрет - нет, не быстрее. У многих ЯП есть эффективная область применения, за которую их выносить не стоит - вот у питона это написание небольших скриптиков всякими админами и людьми, слабо знакомыми с программированием.
Просто на питон можно нанять кучу индусов, для которых реализация задачи - это нагуглить библиотеку, подредактировать стандартные примеры к нужным переменным, и идти срать в SO и копировать оттуда ответы при любых возникших проблемах.
>>229699408 >А чем пользоваться тогда? Компрехеншенами пользуйся.
[nm for m in range(1, 101) for n in range(1, 101)] >Теперь посмотри, сколько строчек это займёт в питоне. Одна, лол. >>229699702 >func [] = [] >func [x] = x >func xs = foldl1 (/) xs Нихуя не понял, что это делает, к вопросу о читаемости. Пока искал, уже ответ накатали. Это лямбды, охуеть, я такого ебанизма нигде не видел.
>>229700161 >Одна, лол. Я о реализации powerset. А в первом примере ты пропустил степени (там надо n в степени m).
>Нихуя не понял, что это делает Если аргумент - пустой список, то возвращает пустой список. Если аргумент - список с одним значением, возвращает это значение. В другом случае что-то делает со списком.
>>229700180 Мне [1..100] кажется куда читабельнее for n in range(1, 100). И да, в Haskell тоже есть list comprehension, но для простых примеров их расчехлять бесполезно.
Теперь powerset реализуй в одну строку, интересно посмотреть.
>>229686545 (OP) >годных способов выучить питон Ещё одна жертва инфоцыган. Много таких по весне в пятерочках оттаяло... >>229698968 >яндекс-практикум залупа, после которой тебя не возьмут в сам яндекс серьезно, там даже в договоре прописано кое-что охуительное
>>229701296 >Возведение в степень двач вытирает по неясным мне причинам. Я уже понял. Там звёздочки вместо ^^ оказались.
Это нихуя не читабельнее Haskell. Если мне нужно будет так сделать с тремя переменными, я просто поменяю циферку и добавлю список, а ты будешь опять строчить ещё один длинный for и ещё одни скобочки (смотри не запутайся с ними). liftA3 (^) [1..100] [1..100] [1..100]
Меньше кода = меньше вероятность ошибок и выше читабельность. Да, для понимания Haskell нужно побольше всего изучить, но он куда лучше как инструмент для целого ряда задач.
Питон лучше только для скриптиков, в любых других индустриях инструменты куда лучше есть.