Первое видео: kzbin.info/www/bejne/emLaoWOKg7CCj6s
@rokot2 жыл бұрын
12 ошибка: пытаться решить проблему не отходя от компьютера. Если где-то застряли, отойдите по домашним делам. Сходите в магазин. Уберитесь в комнате. Посуду помойте. Во время отвлечения вы найдёте решение. Порой весьма радикальное, то есть совсем с другим подходом. Так работает наш мозг, ему надо отвлекаться.
@osmanof92092 жыл бұрын
Мне это не помогает. Не люблю уходить, когда у меня висит проблема. Решается она всегда!
@agentsmit092 жыл бұрын
Часто помогает даже просто сходить прогуляться, минут на 10-20. Часто бывало что застрял в коде, не понимаю что и как делать дальше, куда вставить расчеты, какие расчеты провести, а потом иду в магазин или прогуливаюсь и решение само приходит. А если не помогает беру ручку бумагу, завариваю чай или кофе.
@DenisTrebushnikov2 жыл бұрын
Так работает мозг. Если есть проблема, от которой зависит его благополучие - он процесс поиска решений ставит в фоновый режим, фигурально выражаясь. Поэтому кажется, что ответ приходит в голову сам, когда не думаешь о проблеме (или после решения находится более удачный способ - сравни "после драки кулаками не машут" - это заметили давно - научно описали недавно)
@rokot2 жыл бұрын
@@osmanof9209 мозги у всех по разному устроены, но в большинстве случаев именно отвлечение помогает найти решение. Стивенг Хоукинг сделал своё знаменитое открытие, когда ложился спать. Он вдруг сел на край кровати и сказал: "Я понял". Так рассказывала его бывшая жена. Можно привести в пример еще целую кучу примеров, например, открытие горючего для ракет было сделано по время тушения пожара крыши изобретателя. Речь идёт о горючем, которое быстро горит, но при этом не взрывается. Про себя могу сказать, что однажды я создал неправильную, но рабочую архитектуру, потому что не отходил от компа. Но когда отошёл, я вдруг осознал, что можно было сделать всё намного проще.
@lucky_user2 жыл бұрын
В точку! 100500% верно.
@afkmate2 жыл бұрын
Видео по структуре чтобы создать модульную структуру хорошую пожалуйста и еще переменные окружения
@zproger2 жыл бұрын
Видео уже на канале: kzbin.info/www/bejne/iYSbfKelqc2Wd7M А про переменные окружения вот: kzbin.info/www/bejne/oJWml6OGfqlmbsk
@АлександрПфейфер-н4и2 жыл бұрын
С девятой шибкой не совсем согласен. Бывают ситуации, когда нужно обрабатывать элементы массива парами( 2 элемента подряд или любые 2 - не важно) в таких случаях индексирование очень даже подходит
@DenisTrebushnikov2 жыл бұрын
а есть еще enumerate(), который возвращает пару индекс-значение итерируемого объекта.
@vvvarvfx2 жыл бұрын
for index, value in enumerate(list): …..
@ghostfrostkoshar2288 Жыл бұрын
@@vvvarvfx а теперь обратись в таком цикле к следующему элементу
@gimeron-db Жыл бұрын
2:13 - Кроме указания типов в сложных функциях полезно писать документацию с описанием и примером использования
@elektromag55242 жыл бұрын
первая ошибка... в питоне нет переменных. извините не удержался ошибка новичка с которой можно столкнуться как раз таки связана с тем что в питоне вместо переменных ссылки на объекты. поэтому если a = list(1, 2, 3) b = a b.append(4) обе "переменные" станут [1, 2, 3, 4] чтобы такого не произошло нужно как вариант сгенерировать b из a например через лист компликейшн b = a[:]
@zproger2 жыл бұрын
Не всегда передается именно ссылка, такое работает именно с списками, но не будет работать с переменными напрямую. В принципе всё правильно, но если я в видео начал бы это говорить, то нашлось бы куча умников которые орали бы что видео сплошная вода, поэтому я так глубоко не лезу =)
@elektromag55242 жыл бұрын
@@zproger на самом деле не только словари. даже итегер может иметь разный адрес в памяти. до 1000 на сколько помню адрес будет один дальше они будут разные. >>> a = 1000 >>> b = 1000 >>> id(a) 54545904 >>> id(b) 54545872 >>> a is b False а вот если например будет 256 >>> a = 256 >>> b = 256 >>> a is b True >>> id(a) 1617623536 >>> id(b) 1617623536 >>> поэтому нужно учитывать что если мы сравниваем не Bool и не типы а именно содержимое нужно в условии сравнения использовать if a == b в остальных случаях if a is b
@MsSk00002 жыл бұрын
Ну что вы прямо так и сразу в лоб - такое откровение для аффтара данного ролика может ввести оного в когнитивный диссонанс...
@dmitriynayanov64282 жыл бұрын
10:20 между функциями должно быть по две пустых строки, а не по одной
@zproger2 жыл бұрын
=)
@MaxusR2 жыл бұрын
12 ошибка: считать, что уж теперь-то в Вашем коде нет ошибок. Если программа отработала пару раз и не свалилась в ошибку, чаще всего это означает, что звёзды пока не сошлись так, чтобы возникла достаточно редкая ошибка.
@arka2084 Жыл бұрын
def return_sum(num1, num2): try: return int(num1) + int(num2) except: return "Неверные значения" a = input() b = input() print(return_sum(a, b)) Сколько раз нужно запустить этот код, чтобы он сломался и выдал ошибку?
@ncertus Жыл бұрын
о, это моя любимая ошибка. особенно, когда пишешь нативное прилжение для windows и получаешь разные баги на трех одинаковых версиях ос. видимо до кросплатформенного кода мне еще очень далеко)
@emptychild2005 Жыл бұрын
@@arka2084 проще простого, переопределить выше стандартные print или input: def print(*args): raise Exception
@MrYuriyP2 жыл бұрын
Большинство этих ошибок относится к любому языку, а не только к python.
@zproger2 жыл бұрын
Согласен =)
@agentsmit092 жыл бұрын
Про разделение на модули я очень давно понял, когда писал простую игру "Морской бой" на Turbo Pascal в качестве курсового проекта. Как-то сам пришел к тому что не стоит писать весь код в одном файле. В следующей игре про дирижабль и так же как курсовой проект, но уже на C++, такой ошибки не делал.
@ДмитрийПавлов-э2р2 жыл бұрын
Забавно слышать про модульную структуру, для новичка это в целом может звучать как разделяй абсолютно всё по разным файлам. Как-то периодически натыкаюсь на видосы, где люди разделяют прям вообще всё. Как пример, Вы пишете калькулятор, но это вовсе не означает, что каждую операцию следует писать в отдельном файле - будет треш из импортов)
@irwe35142 жыл бұрын
6:56 второй раз вижу этот кадр, так приятен к глазу
@artyommart2 жыл бұрын
Zproger[IT] пожалуйста посоветуйте хорошие книги или ресурсы по python
@zproger2 жыл бұрын
Есть 2 видео на канале о книгах =)
@clarysimon26682 жыл бұрын
Пожалуйста, помогите. Я удалила python и все пропало. Рабочий стол, панель, все. Как восстановить без переустановки винды?
@noi4eg2 жыл бұрын
интересно про архитектуру и модульность для новичков
@MaxusR2 жыл бұрын
И ещё одна глупая ошибка: не знать языка, на котором пишешь. К примеру довольно легко случайно назвать свой модуль именем одного из системных модулей и долго гипнотизировать сообщение об ошибке внутри совсем другого модуля.
@ПавелГений-я1к2 жыл бұрын
Очень жду видос про файловую архитектуру проекта
@dazdess2 жыл бұрын
Можете посмотреть в сторону классовой архитектуры с помощью диаграмма “Use Case”
@hasdorg2 жыл бұрын
Помню пытался сделать сразу двух телеграм ботов, и сразу в обоих обновлял функции для взаимодействия с базой данных. По итогу создать отдельный файл под СУБД, и импортирую его.
@bobikbobanovich99972 жыл бұрын
8:51 этот анонимус в каждом видео по теме it и я с этого так угораю ахахахахахах ютуб взламывает
@zproger2 жыл бұрын
тоже самое :D
@agentsmit092 жыл бұрын
А что про ошибки новичков, не только Python. Как мне кажется пытаться решить задачу в лоб, не проанализировав ее и не составив план действий. Не просто так же на уроках информатики заставляли сначала нарисовать блок-схему, затем описать на псевдоязыке, написать код и только потом вводить ее в ПК. Перед решением задачи на ПК заварить чай или кофе, взять лист бумаги с ручкой и описать какой модуль и как будет работать, что делать, как работать с другими модулями. В последствии экономит кучу времени.
@Garlicox2 жыл бұрын
Это какой дистр линукс у вас стоит?
@zproger2 жыл бұрын
Zorin OS
@zener_blitz2 жыл бұрын
@@zproger норм, дистрибутив назвали моей фамилией xD
@Eseky Жыл бұрын
Сделайте видео о модульной структуре, очень интересная тема
@zproger Жыл бұрын
Уже есть на канале: kzbin.info/www/bejne/iYSbfKelqc2Wd7M
@Инквизитор-с3ж2 жыл бұрын
одна моя знакомая, как то сказала "когда я слышу английскую речь - складывается впечатление что у говорящего во рту `Буй` " - это к вопросу о "первой ошибке" от аффтара
@zproger2 жыл бұрын
Это общие стандарты, и это является ошибкой, давайте я тогда буду классы называть в 200 символов, потому что я так хочу?
@Инквизитор-с3ж2 жыл бұрын
@@zproger Тогда дайте мне ссылочку на эти стандарты и их номера в реестре. Не надо путать мух с котлетами, и выдавать предпочтения некоторой группы фриков-приверженцев того или иного подхода за "стандарты". P.S. и как пример, в кодах игрового движка от компании EpicGames (а это одна из фаворитов) практикуется название переменных и классов длинной аж до 64 символов (можете скачать и убедиться).
@ncertus Жыл бұрын
Изначально писал имена переменных на "венгерском", сейчас стараюсь обходится минимумом переменных, если это не вредит скорости выполнения скрипта. Могу только пожелать удачи будущему мне, который в этом говнокоде будет разбираться))) До сих пишу до 500 строк в одном файле, благодаря IDE легко скакать по классам и функциям, не вижу в этом проблемы. Остальные ошибки новичков меня миновали. Хотя свой алгоритм шифрования, я пытался написать, но на вторую неделю изучения подходов и математики бросил эту идею. Полезней научиться правильно применять существующие.
@fedorivanov84202 жыл бұрын
Мое мнение - lambda не является заменой обычной функции никаким образом. Используется внутри конструкций, а не как самостоятельный элемент.
@build_alex2 жыл бұрын
Давай про модульную структуру
@darksniper4072 жыл бұрын
2я: пишу много list comprehension Бывают 2х этажные, редко 3х. Это все к 3й - комментарии, использую редко, обычно метод говорит за себя, код уже надо почитать и понять. Мне понятно, но бывает, что надо спокойно посмотреть код пара минут и все ок, т.к. я один QA Automation
@СпециальныйагентСтивенс-ФБР Жыл бұрын
Братан, я жду от тебя великих подвигов!!!
@zproger Жыл бұрын
Спасибо
@irwe35142 жыл бұрын
Модульная структура довольно сложная, даже на этапе архитектуры проекта или большой программы, трудно проработать структуру, с несколькими разбитыми файлами
@dertfin111 ай бұрын
Сейчас работаю над консольной ОС/утилитой, которая обеспечит удобную работу с файлами и другими прогами на python. На проектирование одной только примитивной файловой структуры потратил недели две. Щас уже месяц сижу, думаю, как расположить компоненты программы, чтобы всё просто заработало😂
@luispakvard56812 жыл бұрын
У вас не было проблем с установкой и запуском ImmunityDebugger и как вам удалось его установить и запустить?
@flerty2 жыл бұрын
Может кто нибудь сказать, что за игра на фоне?
@marcb583211 ай бұрын
Очень и очень спорно про разбивку по разным файлам. Основной аргумент субъективный ("чтобы не путаться и для удобства") Именно для удобства чаще всего подходит соединять все в одном файле, где легче всего найти связи. Представьте, что у вас 3-5 активных проектов с модульной структурой, и вы открываете не одну вкладку в редакторе для одного проекта, а 3-5. Итого куча вкладок, в которых запутаться гораздо легче.
@ЖахонгирТ-э4ф2 жыл бұрын
что за ошибка Traceback (most recent call last): --- Logging error -- =)
@gta_KaskaD2 жыл бұрын
2:51 pyCharm Ctrl+Alt+L
@MaksymYevstratiev2 жыл бұрын
Поставил лайк, но считаю что некоторые "ошибки" просто высосаны из пальца, например, по поводу создания вопросов на Stackoverflow
@DenisTrebushnikov2 жыл бұрын
вот реально бесит в группах по нормальному, взрослому пайтону, встревает какой-то индус или африканец и выкладывает скрин с пропущенной скобкой или нарушением отступов, и спрашивает, а где здесь ошибка? или дает описание задания, вроде сделайте ёлочку, и просит: помогите решить! Ладно раз, но это каждый день по тридцать раз от разных людей. В итоге: поиск решений превращается в поиск иголки в стоге сена, отсыревшего, подгнившего и смердящего.
@osmanof92092 жыл бұрын
Нет, это реально тупо, создавать вопросы на каждую мелочь. «Как обработать событие "click" в jQuery?»
@MaxusR2 жыл бұрын
За всё время ни разу ничего не спрашивал на SO, но большинство подсказок по незнакомому языку или фреймворку находил именно там. Так что совет очень правильный. Кстати, отсутствие ответа на свой вопрос в результатах поиска в интернете указывает на то, что возможно я делаю что-то совсем неправильно и есть какой-то совсем другой способ. Почти всегда.
@dazdess2 жыл бұрын
Лучше не комментировать, а писать понятные переменные. Clean Code почитайте
@MaxusR2 жыл бұрын
Ровно до тех пор, пока эти переменные не сваливаются в кашу внутри функции и функция не превращается в чёрный ящик, который даже трогать не хочется. В такой ситуации хороший комментарий по цене золота
@dazdess2 жыл бұрын
@@MaxusR если они сваливаются в кашу, значит надо рефакторинг функции писать
@lucky_user2 жыл бұрын
Лучше писать развернутые коментарии и понятные переменные.
@dazdess2 жыл бұрын
@@lucky_user здесь я с Вами не могу согласиться. Рекомендую почитать Clean Code. Потом можем продолжить диалог.
@MaxusR2 жыл бұрын
@@dazdess кроме случаев, когда оно работает, всегда, каждый раз... ну как в том анекдоте
@Вшахматы2 жыл бұрын
3:29 я думал что я один такой :)
@zproger2 жыл бұрын
Тоже самое
@СпециальныйагентСтивенс-ФБР Жыл бұрын
Братан, запили ролик про то что никому не нужно!!! Давай великий. нейм фо нейм!!! Давай расскажи как мне это нужно, хоть и никогда не было нужно
@КириллАнтифоров-н1ж Жыл бұрын
Буду подтягивать знания
@mkalalaka2 жыл бұрын
11 ошибка, индусы так и пишут. это трэш и угар, но в энтерпрайзе прокатывает
@zproger2 жыл бұрын
xD
@robertobokarev4392 жыл бұрын
Меня очень бесят эти костыли под названием "Перегрузка" из typing, у которого кастрированый функционал. В итоге я взял и спиж-адаптировал inline с плюсов для Пайтона. Незнаю, плохо это или нет, решать вам.
@Hellouser-c6q2 жыл бұрын
Ждём видео про архитектуру
@_ThLucky_2 жыл бұрын
Спасибо за советы.
@AliF0Uen2 жыл бұрын
По-моему одна из главных ошибок в питоне это не знание про match/case - pattern matching) Я когда узнал как это работает то аж обалдел.
@zproger2 жыл бұрын
Да, достаточно крутой инструмент =)
@rokot2 жыл бұрын
Он сравнительно недавно появился, поэтому многие не знают.
@n1kit12 жыл бұрын
Я пока намерено их избегаю, чтобы можно было поддерживать все версии 3.8+, ведь в Windows 7 остаётся только эта версия, а он ещё у много кого стоит. Если from __futures__ import annotations, то можно и в 3.8 аннотации с 3.9 использовать, а если match case добавлять то все версии раньше 3.10 безвозвратно отпадают.
@osmanof92092 жыл бұрын
Не считаю незнание ошибкой
@BorisCode2 жыл бұрын
@@n1kit1 Есть ещё мутные чуваки, сидящие на мёртвом XP, конечно. Но такие меньшинства - явно не повод для того, чтобы тормозиться в развитии, отказываясь от новых версий языков. Windows 7 перестала получать обновления драйверов и безопасности, майкрософт официально прекратили поддержку. С того дня можно считать, что компьютеров на Windows 7 не существует.
@Alcoholdehydrogenas Жыл бұрын
А что за дистрибутив?
@СпециальныйагентСтивенс-ФБР Жыл бұрын
Братан.... надо делать нейм фо нейм!!!! Давай.... топи жесткач
@zproger Жыл бұрын
ага)
@howl34402 жыл бұрын
я лямбда функции использую в основном для map, filter а так да согласен со всем
@zproger2 жыл бұрын
;)
@kupilOnline2 жыл бұрын
Требование объявлять переменные на английском языке диктуется исключительно удобством дальнейшей поддержки и универсальности. Если код локальный, пишите на транслите если вам так удобно. Русскоязычный транслит часто информативней, чем английский аналог. Также, теоретически вполне возможно именование кириллицей, но возможны ньюансы, поэтому это фишка на проработку. Используйте лямбда-функции, если вы понимаете как они работают!!! Не слушайте разный бред. Разный код пишется под специалистов разного уровня, если кто-то не может прочитать ваш код, потому что не разбирается в лямбда функциях - это не его уровень. В погоне за простотой можно добежать до бейсика. Есть желание - вперед! Набор "дырявых" рекомендаций, которые будут очевидны любому начинающему программисту, который доберется до использования ООП в Питоне.
@BodyaBo_Zt2 жыл бұрын
спасибо за видосик 🌚🤘
@zproger2 жыл бұрын
=)
@koleso1v2 жыл бұрын
Нулевая ошибка: передрать полностью коммментарий IIIyTHuK Live из прошлого видео в качестве первых семи ошибок и даже не сослаться на автора.
@zproger2 жыл бұрын
Не содрать, а дополнить видео. Вы почитайте мой ответ на комментарий прежде чем говорить.
@nicholay_mix Жыл бұрын
8:50: кодит в ютубе😂
@zproger Жыл бұрын
;))
@dev_line2 жыл бұрын
Делаешь годный контент!😀
@zproger2 жыл бұрын
Благодарю
@seoonlyRU2 жыл бұрын
спасибо, все по делу) ловите лайк от СЕООНЛИ
@zproger2 жыл бұрын
=)
@osmanof92092 жыл бұрын
Кто такой сеоонли
@Shadowfight-z5f2 жыл бұрын
9;45 Бред какойта. Я узнал про комбинацию for ... in ... еще раньше чем узнал что такое range
@burgershot7772 жыл бұрын
Тхэнкс:)
@zproger2 жыл бұрын
=)
@nakamasama2 жыл бұрын
Первую ошибку, наверное, вообще все совершали. Я только через полгода смог от неё избавиться... Есть один вопросик только к одному совету. Это про модульность. Я с Вами полностью согласен. Однако не со всеми языками удобно создана модульность. Например, в С++ есть с этим некоторые проблемы. Поэтому мой проект состоит всего с двух файлов - хидера и исходников с суммарным количеством строчек кода в 4000. Но для Питона этот совет подходит отлично. Советы крутые. Будет интересно разобраться с модульность, так как я больше С++ разработчик и в Питон забегаю изредка...
@DenisTrebushnikov2 жыл бұрын
на с++ проблемы с модульностью? Я всегда полагал, что .dll - это же суть модульности - библиотеки отдельно от исполняемого файла, всегда на это ориентировался... подробнее, пожалуйста
@travodui2 жыл бұрын
переменные на русском языке это не баг, а фича.
@Anim_rev Жыл бұрын
я средний программист и я работаю на ткинтер
@asm64 Жыл бұрын
Нужно писать такой код, который не требует комментариев.
@glooma Жыл бұрын
Писать коротко и понятно давно явно не каждому, альтернатива это комментирование
@grayich2 жыл бұрын
Испанцы называют переменные на испанском, поляки на польском, германцы на германском, китайцы на китайском и т.п. (если конечно это не международный проект) и только русскоязычные.. аяяй.. пользуйте инглиш.
@DenisTrebushnikov2 жыл бұрын
да лучше на инглише, так бесит переключать раскладку, и вечно проверка раскладки начинается с "c". И кстати, не видел, чтобы пара знакомых поляков объявляли переменные на польском, коряво, но на английском. Китайцы пишут иероглифами, т.к. это дополнительный слой шифрования от не азиатов.
@СпециальныйагентСтивенс-ФБР Жыл бұрын
Я сто раз посмотрел твои рекомендации.. и и у меня в сто раз хуже получилось....
@zproger Жыл бұрын
Не надоело спамить?) Еще 100 комментариев напишите)
@satoth8 ай бұрын
Как человек посмотревший около 6 видео про def, могу сказать что я до сих пор не могу понять что это такое
@code_for_all_me5 ай бұрын
🤔🤔🤔🤔🤔🤔
@andrylua2 жыл бұрын
Первая ошибка это не совсем ошибка - это, возможно, любовь к своему языку. Чисто принципиальная позиция. Например, мне так нравится и мнение кого-то меня не сильно волнует Третья ошибка - это стремление стандартизации, когда вы в команде и пишите в конвеерном стиле. Шестая ошибка - бежать на стэковерфлоу или как -то искать ошибку лучше если не искать и забить на все. То что люди пишут кому-то на форуме это из-за неопытности и желании в общении... Девятая ошибка - это даже не ошибка, а привычка или незнание, так как не читали документацию.
@PavelNebo2 жыл бұрын
нет
@MaxusR2 жыл бұрын
Насчёт 8 ошибки. Иногда в начале проекта совсем не очевидно, что потребуется для его успешного завершения. И в таком случае можно мудрить, выдумывать структуры, делать заготовки для работы с предполагаемыми данными, а потом половину написанного кода всё равно никогда не использовать или сильно его менять. В такой ситуации приходится пробиваться через временный код, а потом уже его превращать в окончательный. И это всё равно окажется быстрее, чем пытаться заранее продумать весь проект целиком.
@ytoteay2 жыл бұрын
После первой "ошибки" закрыл ролик, афтор сноб с комплексами
@zproger2 жыл бұрын
Как скажете 😁
@rokot2 жыл бұрын
Если у вас плохое настроение, то так и скажите :)
@xyzzyx622 жыл бұрын
ролик закрыл, но камент как-то написал)))
@podvodnikk45622 жыл бұрын
1 ошибка. Не пишите в транслите. Пишите по русски печать = print число = 1 печать(число) Реально смешно в транслите )
@develper22 жыл бұрын
Ну скорее *мусор* это *программист* который писал *этот код* и не помнит его же
@АлександрПфейфер-н4и2 жыл бұрын
Сложно помнить всё, когда твои проекты уже начинают состоять из нескольких файлов и в сумме переваливают за пару тысяч строк
@Инквизитор-с3ж2 жыл бұрын
@@АлександрПфейфер-н4и "пару тысяч строк" - да вы, батенька, просто счастливчик))) за последние пару лет, в проектах, где я имел возможность скромно поучаствовать, объемы начинались от полумиллиона строк. и, кстати, в них встречались названия по типу "Consume_dump_param___Ne_trogaite_bladi_etot_class_on_tolko_dlya_otladki_i_ne_voydet_v_production"