Многие не знают эти Python фишки / ТОП 6 редких фишек Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2024

ความคิดเห็น • 117

  • @posreadyxp3939
    @posreadyxp3939 2 ปีที่แล้ว +19

    Про Elipsis я знал минимально, а теперь благодаря этому ролику я узнал более подробно о нём и где его использовали/используют. Спасибо

    • @zproger
      @zproger  2 ปีที่แล้ว

      Рад что видео помогло =)

  • @timgen-iu1qo
    @timgen-iu1qo ปีที่แล้ว +1

    4:02 А почему не записать print в try, под строчкой 10 / number? Если тут разницы нет, то есть случаи где есть?

  • @barik6478
    @barik6478 2 ปีที่แล้ว +3

    Твой канал для меня - ценная находка! Так держать :)
    Люблю также всякие фишки, связанные с оптимизацией.
    Например, использование while(1) вместо while(True) или (x & 1) вместо (x % 2 == 0), что работают немного быстрее. Хорошая идея для будущего видео, кстати 😉

    • @zproger
      @zproger  2 ปีที่แล้ว

      Спасибо за идею, надо будет реализовать =)

    • @АлександрДробот-б3ю
      @АлександрДробот-б3ю 2 ปีที่แล้ว

      а while 1: и while True: не одно и тоже ??

    • @RokyTime
      @RokyTime ปีที่แล้ว

      ​@@АлександрДробот-б3ютоже есть такое сомнение. Использовать сразу бул или то, что в него переведется

  • @TopUser2022
    @TopUser2022 2 ปีที่แล้ว +8

    Знал только 3 фишки, очень полезное видео) Сними, пожалуйста, видео по asyncio, думаю, многим будет полезно)

    • @zproger
      @zproger  2 ปีที่แล้ว +2

      Когда-то сниму

  • @MagMigo
    @MagMigo 2 ปีที่แล้ว +5

    Лично для себя - ничего нового не узнал, но иногда кидаю твои видео некоторым людям, когда лень объяснять самому :D. На статью всякие не кидаю, потому что знаю, что не прочитают

    • @zproger
      @zproger  2 ปีที่แล้ว

      А это хорошо, спасибо =))

    • @MagMigo
      @MagMigo 2 ปีที่แล้ว

      Ещё такой прикол: иногда узнаю про что-то и буквально через день-два в твоём видео будет рассказываться, что это
      Ещё, может быть, тут кто-то знает hellowfacey (но вряд ли), рил крутой челик был, благодаря ему я в питоне стал из начинающего в почти не начинающего, хд
      Максимум, что я серьёзного писал и сейчас пишу - библиотека для создания дс ботов, сложновато в некоторых моментах, но в целом - норм.
      Хотелось бы ролик про архитектуру DDD, не до конца её понимаю

  • @A5ter
    @A5ter 2 ปีที่แล้ว +3

    Спасибо! Как раз тренировался в написании ботов для телеги, очень помогло.

  • @MrPalianytsia
    @MrPalianytsia 2 ปีที่แล้ว +2

    Нравится всё, контент, подача, так держать.

    • @zproger
      @zproger  2 ปีที่แล้ว

      Благодарю

  • @xenopses
    @xenopses 2 ปีที่แล้ว +3

    Вот последняя реализация троеточия очень хороша очень. мне понравилось. я вот этот момент вообще пропустил видимо в жизни. Вот такие видио нужны очень . Такие вот крохотные фишки делают код нереально красивым .

    • @zproger
      @zproger  2 ปีที่แล้ว

      Благодарю

  • @starstroy4949
    @starstroy4949 2 ปีที่แล้ว +6

    Здравствуйте ! Мне 47 лет, в программировании ноль. Имею тех. образование.Недавно увидел один из ваших роликов… и понял,что не хочу стареть в полном неведении в данной сфере😁. Приобрёл книгу Тони Гэддиса(Python ).Пишу первые программки print,a=float(input(‘…..’ ,..))и т.п.Вопрос:как вы считаете стоит ли мне заниматься этим в серьез(могу ли претендовать на работу в будущем) учитывая возраст😞?Если у меня есть шанс , с удовольствием бы ознакомился с вашими советами и курсами. Спасибо!

    • @zproger
      @zproger  2 ปีที่แล้ว +2

      Здравствуйте, возраст не имеет значения, главное выделять хотя бы немного времени каждый день, не нужно сразу ставить себе цель изучать программирование по 8 часов в день, ибо можно быстро перегореть, нужно начинать с маленьких шагов, например поставить себе цель каждый день прорабатывать 1 страницу из книги, со временем вы привыкните к этой нагрузке и появится желание изучать больше. Самое главное всё это закреплять практикой.

    • @ruslanvist9958
      @ruslanvist9958 3 หลายเดือนก่อน

      Интересно. Как оно - получилось стать прогером?

    • @ruslanvist9958
      @ruslanvist9958 3 หลายเดือนก่อน

      Какой специальностью владел до старта в прогерстве?
      Я порой ачкую за будущее, млин вдруг все станут прогерами.

  • @hhhhhhhhhgfh
    @hhhhhhhhhgfh 2 ปีที่แล้ว +4

    Учусь в магистратуре и у меня начался курс параллельного программирования. Выполняю задания на python. Фишки с "else" очень пригодятся, спасибо тебе большое!!!

    • @vladimirkorshunov7734
      @vladimirkorshunov7734 2 ปีที่แล้ว +1

      Параллельное программирование на Python? Привет многопоточность. :)

    • @zproger
      @zproger  2 ปีที่แล้ว

      Спасибо за комментарий, рад что видео было полезное =)

  • @zluka7951
    @zluka7951 2 ปีที่แล้ว

    ку, какой дистрибутив ты используешь?? Помню ты где-то отвечал уже, но не могу найти :

  • @tinylith1603
    @tinylith1603 2 ปีที่แล้ว

    если говорить об else для циклов, можно сразу вспомнить, как из вложенного цикла прервать выполнение цикла снаружи:
    for i in range(0,m):
    for j in range(0,n):
    if matrix[i][j] == 0:
    break
    else:
    continue
    break
    Здесь в случае, если мы находим 0 в матрице, срабатывает первый break, пропускается else и отрабатывает второй break, завершая внешний цикл, если же элемент ненулевой, else: continue продолжает выполнение внешнего цикла, но вообще такой код обычно требует рефакторинга

  • @IvanIvanov-dh3sg
    @IvanIvanov-dh3sg 2 ปีที่แล้ว +3

    Спасибо за интересное видео, респект автору)

    • @zproger
      @zproger  2 ปีที่แล้ว

      Спасибо

  • @inquisitor_okabe
    @inquisitor_okabe 2 ปีที่แล้ว +1

    Честно - зашёл с убеждением, что увижу то, что уже знаю. Внезапно, не знал нихрена.

    • @zproger
      @zproger  2 ปีที่แล้ว

      Это хорошо, значит буду продолжать =)

  • @alexes.bochkarev
    @alexes.bochkarev ปีที่แล้ว

    Про for else узнал в процессе написания боевого кода, когда else внутри цикла не отрабатывал. Удивился, когда узнал, что нужно выносить else за пределы цикла

  • @4oxerlive
    @4oxerlive ปีที่แล้ว

    Насчет TgBot'a. Для записи нескольких данных для каждой сессии была инициализирована переменная со пустым списком. В конце работы, после передачи данных, список очищался. И в начале была проверка, пустой ли список.
    Костыли)

  • @Shadowfight-z5f
    @Shadowfight-z5f ปีที่แล้ว

    я знал про eval, exec про связку while else, про связку try except finally, а вот про try - else - не знал.
    Знал про атрибуты функции.
    Про Елипсис так нифига и не понял.
    Причем тут список помещенный сам в себя? То что я могу бесконечно извлекать из него нулевой элемент это закономерно - бесконечная ссылка на самого себя. Хотя не обязательно нулевой, он может быть любый, может быть во вложенном списке, и в кортеже, и со значениями словаря такая шляпа тоже работает)
    Аналогично и с атрибутами класса(функции) - можно добавить ссылку на самого себя и извлекать до бесконечности.
    И причем тут Елипсис? Я поместил в список Елипсис, но он не стал ссылкой на список.
    Надо признать, к моему великому стыду, я раньше не пробовал поместить список сам в себя. Но то что там появляются три точки - походу просто схожий синтаксис, но не Елипсис.
    Разделение подчеркиванием целых чисел - только с версии 3.6

  • @QwDragon
    @QwDragon 2 ปีที่แล้ว +1

    Вот это реально крутые фишки!

    • @zproger
      @zproger  2 ปีที่แล้ว

      Благодарю

  • @dmitriyneledva4693
    @dmitriyneledva4693 2 ปีที่แล้ว +2

    я недавно узнал, что словарный дэл вырезает рэйнджи в листах:
    l =[1,2,3,4,5,6,7]
    del [1:3] l
    # l == [1,4,5,6,7]

  • @yuriandrienko4220
    @yuriandrienko4220 2 ปีที่แล้ว +1

    Как говорил великий Диоген: сколько же в мире есть вещей, без которых я могу обойтись.

  • @АлександрДробот-б3ю
    @АлександрДробот-б3ю 2 ปีที่แล้ว

    Питон, конечно же прекрасный язык программирования, но во всех мануалах и туториалах написано что лучше не переопределять функцию на саму себя. И лучше не заниматься последовательным присваиванием одного объекта двум и более "переменным", потому что если вторая или последующая "переменная" примет изменяемую последовательность на месте, то вслед за одной поменяются все остальные "переменные" которые участвовали в последовательном присваивании. Так что лучше разделять и упорядочивать, так и приятней читать после кого-то код и код становится обслуживаемым и менее тривиальным .... ;) Короче всем удачи в изучении Пайтона !

  • @GasanIsv
    @GasanIsv 2 ปีที่แล้ว +7

    Довольно познавательный контент, если ты новичок в написании кода на Python. Лично для меня новое было только про элипсис, но все равно новое же). Продолжай в том же духе! (づ ̄ 3 ̄)づ

    • @zproger
      @zproger  2 ปีที่แล้ว +1

      Спасибо, рад стараться =)

  • @ОлегАлексеев-ш3п
    @ОлегАлексеев-ш3п 2 ปีที่แล้ว

    Немного не понял, в чем тогда различие между b = eval('a + 2') и b = a + 2 ??? Объясните, пожалуйста.

    • @yuriandrienko4220
      @yuriandrienko4220 2 ปีที่แล้ว

      Eval позволяет сделать сам алгоритм расчета динамическим. Представьте, например, что расчетную формулу вводит пользователь, хотя это и плохой пример.

  • @T0unFl3it
    @T0unFl3it 2 ปีที่แล้ว

    Спасибо, видео интересное! Знал о большинстве возможностей, про Ellipsis чуток нового только добавилось🙂 Большая часть из этих возможностей будет поддерживаться также и в моём будущем языке программирования, за исключением динамического добавления атрибутов в объект, как показано в первом примере (с этим гораздо сложнее, чем в Python, т.к. язык будет иметь градуальную типизацию и явное объявление слотов/свойств данных в классах, и вообще построен во многом иначе: будет упор на модульность и расширяемость синтаксиса и семантики языка, а также используемой модели данных. Вместо динамического добавления атрибутов будет поддерживаться работа с динамически добавляемыми метаданными, хранимыми в специальном "магическом" свойстве "^_meta_^", существующем во всех объектах). Вообще, добавление произвольных пользовательских атрибутов в функциональные объекты "на лету" (как в функции "test" на 1:08) требуется достаточно редко, в отличие от "статических" метаданных, добавляемых декораторами в местах объявления функций, и я удивлён, что автор ролика нашёл этому практическое применение😮 Возможно, в телеграм-ботах это используется чаще, чем в остальном коде на Python, плохо знаком с этим пока😊

  • @seoonlyRU
    @seoonlyRU 2 ปีที่แล้ว +1

    нормас))) лайк от СЕООНЛИ

  • @pylounge
    @pylounge 2 ปีที่แล้ว +1

    Круто. Про ссылку на список в списке не знал)

    • @zproger
      @zproger  2 ปีที่แล้ว +1

      Благодарю за комментарий, рад видеть тебя на канале =)

  • @azamtoiri
    @azamtoiri 2 ปีที่แล้ว +1

    Можно название темы?

    • @zproger
      @zproger  2 ปีที่แล้ว

      Dracula

  • @NisT_10
    @NisT_10 2 ปีที่แล้ว

    Eval и Exec очень полезные функции, без eval я вообще не смог бы жить) Но! Они действительно очень опасные и именно поэтому... from ast import literal_eval)

  • @witalya228
    @witalya228 2 ปีที่แล้ว +1

    фишка с for else удобная, раньше были случаи где это помогло бы

    • @zproger
      @zproger  2 ปีที่แล้ว

      Это да

  • @KvantGD
    @KvantGD 2 ปีที่แล้ว +2

    Помню как начал писать программу для разделения строки по символу... До того как узнал про split

    • @zproger
      @zproger  2 ปีที่แล้ว

      :D

    • @nakidai
      @nakidai 2 ปีที่แล้ว

      Но ведь для разделения по символам надо использовать list 🤔

  • @cryptoworkdonkey
    @cryptoworkdonkey 2 ปีที่แล้ว +1

    eval() осмеливаюсь использовать только если возвращается bool .

  • @TheAlexandr124
    @TheAlexandr124 2 ปีที่แล้ว

    Приятно что автор читает комментарии. Знал только про инфо перед элепсис)
    А первую фишку, так вообще не понял)))
    Круто!

  • @Anonim-im6ln
    @Anonim-im6ln 2 ปีที่แล้ว +1

    👍👍👍👍👍

  • @scrooge6603
    @scrooge6603 2 ปีที่แล้ว +2

    Я ни одной штуки не знал, 2 года в разработке но всеравно интересные штуки

    • @zproger
      @zproger  2 ปีที่แล้ว +1

      Благодарю. Это круто что всегда есть новые фишки, даже спустя много лет
      разработки. Сам постоянно нахожу что-то интересное =)

  • @mrLumen2
    @mrLumen2 2 ปีที่แล้ว +1

    Для "for ... else ..." лучше бы взяли лингвистическую конструкцию "for ... after pass"

    • @zproger
      @zproger  2 ปีที่แล้ว

      возможно, возможно

  • @Enuvin
    @Enuvin 2 ปีที่แล้ว +2

    Знаешь ли ты, вдоль ночных дорог

  • @DmitryRomantsov
    @DmitryRomantsov 2 ปีที่แล้ว +1

    Нууу ,знать я знаю, но про ... и про for else - регулярно забываю

    • @zproger
      @zproger  2 ปีที่แล้ว

      Бывает

  • @markkogan6551
    @markkogan6551 2 ปีที่แล้ว +1

  • @aibaster
    @aibaster 2 ปีที่แล้ว +1

    А это всё из-за отсутствия типизации.... А вот была бы типизация.....

  • @sabovruslan
    @sabovruslan 2 ปีที่แล้ว +1

    Чудове відео, але так як я тіки починаю вивчати пайтон, то під кінець не дуже зрозуміло було..

    • @zproger
      @zproger  2 ปีที่แล้ว

      Это придет с опытом

  • @eagold
    @eagold 2 ปีที่แล้ว +1

    для меня было новым else у фора и елипсис

    • @zproger
      @zproger  2 ปีที่แล้ว

      Отлично

  • @konstkaras
    @konstkaras 2 ปีที่แล้ว

    Здравствуйте! Пишу на Java, заглянул посмотреть что у вас есть. (Числа через _ у нас тоже есть). Интересно, да.

    • @konstkaras
      @konstkaras 2 ปีที่แล้ว

      1. В Java этого нет, объекты это объекты, методы это методы. Если есть такое усложнение, надо делать класс и объект.
      2. for/else нет. Может быть и полезно, но в целом сам break не любят и используют редко. Можно вынести в отдельный метод и сделать return вместо break.
      3. catch/else нет, а почему содержимое блока else не вставить просто в конце try? или после finally в том же методе?
      4. это есть;)
      5. этого нет - противоречит компилируемой природе языка, и да, опасно, плюс усложняет отладку. Так-то есть и вызываемые из Java-кода компиляторы, и встраиваемые интерпретаторы третьих языков, и это применяется во всяких служебных приложениях, но самому использовать - сильно на любителя.
      6. если объект ссылается на себя - усложняет и сериализацию, и отладку (падает toString), так что это избегают хотя бы для данных; а тип такого объекта - он сам себе тип. А так абстракция интересная, но в Java нет tuples и много чего ещё для чего ... нужен.

  • @alexeyxopyc2471
    @alexeyxopyc2471 2 ปีที่แล้ว

    все равно не понял почему называется эллипсис и почему это считается фишкой) тоесть мне понятно как отрабатывает а[0][0][0]... но это же просто ссылка на изначальный список в 0 индексе :) а вот с примером bool(...) и bool(none) непонятно - что помещается в bool() при (...)? такое ощущение что (none) это бесконечная пустота, а (...) бесконечное непонятно что)

    • @edgarfedosov1440
      @edgarfedosov1440 2 ปีที่แล้ว

      ... - указатель на None. А None - вообще ничего. :))

  • @eugenedukatta9355
    @eugenedukatta9355 ปีที่แล้ว

    "В питоне все есть объекты, поэтому мы можем использовать функционал как для любого объекта..." ага, прикрепите атрибут к целому числу (к объекту типа int) и покажите что у вас получилось

  • @АнимеШняга
    @АнимеШняга 2 ปีที่แล้ว +1

    Хароош

    • @zproger
      @zproger  2 ปีที่แล้ว +1

      Благодарю =)

  • @ЧерновАндрей-г6т
    @ЧерновАндрей-г6т 2 ปีที่แล้ว +1

    С полями для функции это говноподход js. Если надо добавить что то к событию унаследуйся от него или оберни его.

    • @zproger
      @zproger  2 ปีที่แล้ว

      Там была такая задача, что это не сработает, только добавление аргументов послужило выходом из ситуации

  • @АнимеШняга
    @АнимеШняга 2 ปีที่แล้ว +1

    Круто конечно, но я вряд-ли буду такое использовать но знать такое всё же неплохо(могу в**бываться)

    • @zproger
      @zproger  2 ปีที่แล้ว +1

      А почему бы и нет =)

  • @ЭсканорНаверное
    @ЭсканорНаверное 2 ปีที่แล้ว +1

    5 из 6 но почему-то эллипсис не знал

  • @dazdess
    @dazdess 2 ปีที่แล้ว +1

    Ничего нового не узнал. Обычное видео пересказа книги Лутца

    • @zproger
      @zproger  2 ปีที่แล้ว

      Странно, потому что я не брал примеры из этой книги

    • @dazdess
      @dazdess 2 ปีที่แล้ว

      @@zproger сейчас в параллель читаю. Всё что ты рассказываешь там есть, за исключением последнего)

  • @mooovies6645
    @mooovies6645 2 ปีที่แล้ว

    Елсе это зайти в душ после удачной пробежки :) иначе может случится что-то что в душ не попадешь :)

  • @Yevgeniy2010
    @Yevgeniy2010 2 ปีที่แล้ว +1

    Знал только eval, остальные либо нет, либо частями

  • @mrslashx
    @mrslashx 2 ปีที่แล้ว +1

    "Массивная рекурсия"

    • @zproger
      @zproger  2 ปีที่แล้ว +1

      =)

  • @ВиталийКоновалов-г1ц
    @ВиталийКоновалов-г1ц 2 ปีที่แล้ว +1

    Две фишки я знал

  • @Programming_is_my_life
    @Programming_is_my_life ปีที่แล้ว

    Я взнав с цього відео про Elipsis

  • @artugun1
    @artugun1 2 ปีที่แล้ว

    А ты решила нужн finally? Если это пришло от C, то нет вопросов

  • @sergeibalmondov5015
    @sergeibalmondov5015 ปีที่แล้ว

    Я прочитал 66 страниц книги think python за 2 дня. Это нормально?

  • @mrfang5908
    @mrfang5908 2 ปีที่แล้ว

    а фишки где?

  • @andreu_k
    @andreu_k 2 ปีที่แล้ว +1

    Ну 2 фишки знал...

    • @zproger
      @zproger  2 ปีที่แล้ว

      Круто =)

  • @gleznik
    @gleznik ปีที่แล้ว +1

    Есть ли смысл смотреть подобные видео если знаешь основы языка и то не досконально ?

    • @zproger
      @zproger  ปีที่แล้ว +1

      Есть, будет более глубокое понимание

  • @nikitacunskis1853
    @nikitacunskis1853 2 ปีที่แล้ว

    for else это очень странный try catch

  • @MrEmileify
    @MrEmileify 2 ปีที่แล้ว

    круть

  • @thmUNIX
    @thmUNIX ปีที่แล้ว

    знал 4/6 фишек

  • @Gorlung
    @Gorlung ปีที่แล้ว

    бесят куча путей в консоле.. каждый раз среди них пытаешься за две секунды углядеть сам аутпут.. ты ж видеоблогер.. сделай аккуратненько, для людей..

  • @Sultan69996
    @Sultan69996 10 หลายเดือนก่อน

    А вы знали что если написать хороший комментарий автор данного канала улыбнётся 😂😂😂😂😂? Теперь вы знаете что это возможно 😅😅😅😅😅.

    • @zproger
      @zproger  10 หลายเดือนก่อน

      ;)))

  • @equilibrado092
    @equilibrado092 2 ปีที่แล้ว +1

    Педагог из тебя не оч

  • @nargan1129
    @nargan1129 2 ปีที่แล้ว

    1) Не знал
    2) Не знал что else выполняется если не сработал break (или если его нет)
    3) Не знал что в этой конструкции могут быть else и finally
    4) Не знал
    5) Знал
    6) Не знал 6.2, 6.3, 6.4 и 6.5
    И да, ты просто переводишь контент с канала mCoding, а не делаешь его сам.

    • @zproger
      @zproger  2 ปีที่แล้ว +1

      Перед тем как такое писать, что я что-то там перевожу, возьмите это видео, которое вы считаете переводом, и во-первых сравните контент и примеры, которые вообще не похожи между собой, а во-вторых сравните текст, если бы я переводил, слова были бы 1в1, я ничего не перевожу, покажите мне где на MCoding есть такое видео? И не нужно спамить под каждым видео то, что якобы это перевод, так как вы даже это не проверили, это чисто ваше мнение, которое не подтверждено никакими примерами, такого видео на мкодинг никогда и не было.

  • @katestar6578
    @katestar6578 2 ปีที่แล้ว +1

    веселый набор кривых и поломанных костылей