#10. Основные методы строк | Python для начинающих

Поделиться
HTML-код
  • Опубликовано: 10 фев 2025
  • Обучающий курс: stepik.org/cou...
    Узнаете, что такое методы, как они вызываются и какие основные методы существуют у строк:
    String.upper() - Возвращает строку с заглавными буквами
    String.lower() - Возвращает строку с малыми буквами
    String.count(sub[, start[, end]]) - Определяет число вхождений подстроки в строке
    String.find(sub[, start[, end]]) - Возвращает индекс первого найденного вхождения
    String.rfind(sub[, start[, end]]) - Возвращает индекс первого найденного вхождения при поиске справа
    String.index(sub[, start[, end]]) - Возвращает индекс первого найденного вхождения
    String.replace(old, new, count=-1) - Заменяет подстроку old на new
    String.isalpha() - Определяет: состоит ли строка целиком из буквенных символов
    String.isdigit() - Определяет: состоит ли строка целиком из цифр
    String.rjust(width[, fillchar = ‘ ‘]) - Расширяет строку, добавляя символы слева
    String.ljust(width[, fillchar = ‘ ‘]) - Расширяет строку, добавляя символы справа
    String.split(sep=None, maxsplit=-1) - Разбивает строку на подстроки
    String.join(список) - Объединяет коллекцию в строку
    String.strip() - Удаляет пробелы и переносы строк справа и слева
    String.rstrip() - Удаляет пробелы и переносы строк справа
    String.lstrip() - Удаляет пробелы и переносы строк слева
    Telegram-канал: t.me/python_se...
    Все уроки по Python: • Добрый, добрый Python ...

Комментарии • 125

  • @karandalliik
    @karandalliik 3 года назад +49

    Уже строки знаю идеально!
    Но.
    Как дань уважения, отличному учителю, обязан выразить и почтение и уважение.
    Спасибо)

  • @владик-р3я
    @владик-р3я 3 года назад +36

    самый лучший канал с самыми лучшими объяснениями!!!

  • @АлександрГ-я1у
    @АлександрГ-я1у 3 года назад +23

    У вас удивительный талант, объяснять легко и просто. Не бросайте это.

  • @vittamebel
    @vittamebel 2 года назад +14

    Не перестаю удивляться качеству ваших курсов. Спасибо Вам

  • @highlow_all
    @highlow_all 2 года назад +3

    Ох, огромный объём, который нужно запомнить. Адовая музыка в конце урока, тому подтверждение тутутутуту* Спасибо за ваш труд, очень информативно и полезно.

  • @likeclockwork9600
    @likeclockwork9600 3 года назад +8

    Здорово, так разжевать и объяснить нужно уметь. Спасибо

  • @nadiapanova4442
    @nadiapanova4442 Год назад +1

    Господи, спасибо тебе за такого прекрасного преподавателя!!! Все по полочкам и четко. Сергей, я теперь ваша фанатка🤘

  • @wainecst3862
    @wainecst3862 10 месяцев назад +1

    Моё подчтение!

  • @ФердинандПорше-ь1ф
    @ФердинандПорше-ь1ф 3 года назад +8

    Буду ждать с нетерпением следующий занятие! Подача максимально доходчиво.

  • @igorkulibaba7287
    @igorkulibaba7287 3 года назад +6

    Сергей здорово рассказываете, спасибо

  • @limoshkamilk9887
    @limoshkamilk9887 Год назад +2

    Сергей, спасибо Вам! Как всегда с большим удовольствием изучаю и впитываю Ваши курсы. ❤❤❤

  • @ASJxdmkrlv
    @ASJxdmkrlv 3 года назад +4

    Спасибо Вам большое! Лучше, чем Вы этот материал преподнести просто невозможно!

  • @xalen1x334
    @xalen1x334 Год назад +2

    Огромное спасибо!Прохожу курс,но там объясняют мало,а задания сразу сложные.Благодаря Вам смог разобрать и понять тему

  • @puncher-1
    @puncher-1 2 года назад +5

    Огромная Благодарность автору курса !
    10 урок слишком объемный, приходится , в отличии от остальных уроков, пересматривать …

  • @AlexPavlov039
    @AlexPavlov039 Год назад +1

    Спасибо Вам за понятное и простое объяснение данной темы!

  • @katesill1987
    @katesill1987 7 месяцев назад +2

    Моя голова "бо-бо" от этого урока .🙃🐳🐦🌪️

  • @ИванЗоренко
    @ИванЗоренко 3 года назад +3

    Добрый день. Все понятно и доступно. Спасибо за ваш труд!

  • @Киптолопата
    @Киптолопата 2 года назад +1

    Благодарю вас. Вы самый лучший учитель. Этот ролик и автор очень доступно объясняет. Такого я ещё не встречал. ТОП.

  • @УмныйЛьвёнок-ж9щ
    @УмныйЛьвёнок-ж9щ Год назад +3

    10 видео подряд на одном дыхании!!! и все понятно! Благодарю!

  • @return_1101
    @return_1101 3 года назад +5

    Интересные уроки! Спасибо вам!

  • @elen2662
    @elen2662 3 года назад +3

    Люблю ваши понятные лекции, спасибо

  • @FR1N_SO2
    @FR1N_SO2 29 дней назад +1

    Спасибо вам большое за такое замечательное видео!!!

  • @mikewazowski3035
    @mikewazowski3035 Год назад +2

    Гениально и просто. Преподаватель с Большой Буквы

  • @AZ993k
    @AZ993k 2 года назад +1

    Спасибо! Поглощаю уроки пачками. Действительно просто. Я ещё раньше не любил и не хотел учить питон за динамическую типизацию. Оказывается, это удобно. Тем более с таким учителем

  • @quasaro8601
    @quasaro8601 3 года назад +4

    Спасибо офигенно

  • @olegtinkov6553
    @olegtinkov6553 2 года назад +1

    Отличное объяснение, очень доступно и наглядно!!!!

  • @ИльнурИмамов-е7к
    @ИльнурИмамов-е7к 3 года назад +4

    Спасибо за урок!

  • @valid-cooler
    @valid-cooler 5 месяцев назад

    безграничная благодарность автору ❤

  • @4otakoe
    @4otakoe 3 года назад +3

    Ты лучший, но hello воральд - это нечто :D

  • @MegaPsevdonim
    @MegaPsevdonim 3 года назад +2

    Круто спасибо за урок, весьма познавательный

  • @Perdolinozxc
    @Perdolinozxc 3 года назад +1

    Очень грамотные объяснения и довольно понятные.😏

  • @Имяифамилия-з4ю
    @Имяифамилия-з4ю 3 года назад +2

    Прекрасно, спасибо!

  • @woodorsha2955
    @woodorsha2955 2 года назад +2

    Длинный коооооооммеееннннттттт для продвижения ккккккаааааааааааанннннннннннннаааааааааллллллллллллааааааааааа и Лайк обязательно

  • @ТудорЛупашко-э3м
    @ТудорЛупашко-э3м 3 года назад +3

    Лучший!

  • @impellergimpeller5133
    @impellergimpeller5133 3 года назад +3

    Спасибо! 👍👍👍👍👍

  • @andreychernykh256
    @andreychernykh256 3 года назад +51

    почему у разного рода словоблудов которые учат выучить язык за час сотни тысяч просмотров а у настоящего Учителя так мало подписчиков и просмотров?((((

    • @belchikha
      @belchikha 2 года назад +2

      люди ленивые

  • @77nixter
    @77nixter 3 года назад +1

    Классный урок!

  • @ШепотСмерти-ш8м
    @ШепотСмерти-ш8м 11 месяцев назад +2

    топ

  • @sazhan_lofi7267
    @sazhan_lofi7267 2 года назад +1

    Благодарю вас!

  • @ВикторЖигурда
    @ВикторЖигурда 3 года назад +4

    "Самообразователь"-рулит

  • @dilshodabdullayev1494
    @dilshodabdullayev1494 Год назад +1

    спасибо очень наглядно

  • @Alukard-789
    @Alukard-789 3 года назад +3

    Дякую.)

  • @ruziliakalyon4168
    @ruziliakalyon4168 3 года назад +1

    супер ;-* Спасибо

  • @user-rn9uh7banivar
    @user-rn9uh7banivar 11 месяцев назад +1

    Очень нравятся ваши ролики, спасибо. Скажите сколько времени занимает у Вас подготовка одного ролика? Качество и количество их поражает.

    • @selfedu_rus
      @selfedu_rus  11 месяцев назад +1

      Спасибо! 4-6 часов при знании материала.

    • @idasdlsdas
      @idasdlsdas 8 месяцев назад

      @@selfedu_rusспасибо вам

  • @COC-v6i
    @COC-v6i 4 месяца назад +2

    пацаны, стойте, я не успеваю лайкать ваши комменты

  • @FreeCoinsChannel
    @FreeCoinsChannel 6 месяцев назад +1

    Здравствуйте...отличные уроки! А как посчитать например все 'аб' или убрать все 'аб'...именно все 'а' и 'б', а не только если они идут в этом порядке?

  • @hitech6994
    @hitech6994 3 года назад +7

    Такой вопрос, часть функций пишутся x.func(), где x это "объект" на которым работает функция, а часть функция работают так func(x), насколько я понял первый вариант не будет работать при записи по второму варианту? И как отличить один вариант записи от второй, или просто надо запоминать?

    • @selfedu_rus
      @selfedu_rus  3 года назад +7

      Первый вариант называется вызовом метода, а второй - вызов функции. Методы привязаны к объекту и, как правило, что-то делают с этим объектом. Ну а какие существуют методы и функции, конечно, нужно запоминать.

  • @andredru4278
    @andredru4278 Год назад +1

    Спасибо. "ущербный метод" - топ)))

  • @Упошукахрадзмы
    @Упошукахрадзмы 3 года назад +11

    У вас призвание преподавателя! Или вы очень тщательно подбираете материал. Всем бы учителям курсов программирования брать с вас пример.
    Учителя умные, знающие, но преподнести так грамотно материал не у всех получается.

  • @ibrahimoglu
    @ibrahimoglu 3 года назад +3

    👍👍

  • @Юлия-ч9с6й
    @Юлия-ч9с6й 2 года назад +1

    Такую информацию сложно помнить долго если не работаешь с этим постоянно :(

  • @grayich
    @grayich 3 года назад +4

    Есть ньюанс, не стоит полагаться на isalpha() isdigit() в реальных задачах, т.к. они обходятся юникодом.
    А значит эти методы лучше вообще не использовать )

    • @Younoski
      @Younoski 2 года назад

      Откуда такие скилы на 10 уроке?Ты повторяешь теорию?

    • @grayich
      @grayich 2 года назад +1

      @@Younoski Полезно на одну и ту-же тему смотреть уроки у разных людей ну и читать официальную документацию. Все подходят к подаче материала по разному, это даёт в итоге больший обзор. Ну и гуглить тоже полезно, чтоб увидеть примеры, понять ньюансы.
      Кстати в новых версиях питон подобные "уязвимости" вроде поправили, но это не точно. Юникод ещё долго будет проблемным.
      Не не поправили, к примеру берём цифру 𝟺 (U+1D7FA), isdigit() говорит, что это цифра, но при попытке присвоить переменной или сделать какую арифметическую операцию выскакивает ошибка, т.к. питон её воспринимает строчной.

  • @gayratsaidakhmedov5451
    @gayratsaidakhmedov5451 Год назад

    спасибо

  • @testingvlad211
    @testingvlad211 2 года назад +1

    🙏🙏🙏💪🦾 Merci

  • @Николай-с4ц4ш
    @Николай-с4ц4ш 5 месяцев назад +1

    Добрый день. Отличные уроки. Добавьте в ваш профиль ссылку на рутуб. И кстати сейчас есть специальная функция переноса контента с ютуба на рутуб. За раз можно перенести до 2000 видео

    • @selfedu_rus
      @selfedu_rus  5 месяцев назад

      Спасибо! Уже воспользовался этой функцией. За неделю перенесли 100 видео )) Такими темпами потребуется несколько месяцев ((

  • @Андрій-б9б
    @Андрій-б9б 11 месяцев назад +1

    Не до конца понимаю работу метода replace(). Если ранее говорилось что str имеет неизменимый тип даных, то каким образом мы меняем значение

  • @СарматПересветов
    @СарматПересветов 5 месяцев назад

    Like!

  • @g19m74
    @g19m74 2 года назад +1

    в некоторых случаях console-ый вариант представления урока сбивает с толку, вид вывод. На пример split и join , ... будут кавычки или нет , а запятые?

  • @jamjam3337
    @jamjam3337 2 года назад

    👏👍

  • @ФЕДОРКУЛАВА
    @ФЕДОРКУЛАВА 2 года назад +1

    Спасибо большое. Где- то прочитал что пайтон это как океан, сначала идешь себе по шельфу, все понятно вроде и ясно, а потом резко глубина в несколько километров))) Почему когда к str применяешь метод(upper, lower) пайтон создает новый объект, отличающийся от первоначального соответственно методу. А при применении title изменяется существующий объект. Ведь объект str неизменяемый?

    • @ФЕДОРКУЛАВА
      @ФЕДОРКУЛАВА 2 года назад +1

      Нет, я не прав был, title также создает новый объект

  • @Fravije
    @Fravije 2 года назад +1

    Добрый день! Спасибо за ваш курс, смотрю здесь, прохожу на степике.
    Есть одна непонятная вещь с методами join и split: почему в случае с функцией split в скобках стоит разделитель, а в join - название строки?
    Почему нельзя сделать по аналогии с другими методами: a.join(',')

    • @selfedu_rus
      @selfedu_rus  2 года назад

      Дело в том, что join - это метод строк, а на входе он получает список, который нужно объединить. В вашем примере a.join(',') переменная a должна вести на какую-либо коллекцию, т.е. join уже перестает быть методом строк и у всех коллекций нужно предусмотреть метод join, что неудобно. Поэтому, наверное, так и сделали.

    • @Fravije
      @Fravije 2 года назад

      @@selfedu_rus спасибо за такой быстрый ответ.
      Я изучаю Питон не так давно, но уже сейчас возникло желание как-то обобщить пройденные темы - например, строки, списки. Понять логику решения программ.
      Возможно, вопрос в простом переходе количества в качество и недостающем опыте... в общем, пока что во время решения задач я пишу код (как он должен выглядеть по моему представлению), а потом перебираю разные варианты если получается ошибка (скобки, методы, join, split...). До конца сам не понимаю что делаю, просто тупо тестирую до тех пор пока не получится нудный вариант.
      Например, если вместо разбития строки по словам ('Я', 'люблю', 'Питон') получается такой вариант: 'я' ' л' , ю', 'б', 'л', 'ю'... и т.д. я переставляю разные элементы синтаксиса, действуя скорее наощупь, чем с помощью знаний.
      Вопросы в связи с этим такие:
      - умение достигается чисто за счет повторения? или можно как-то постичь логику решения задач?
      - есть ли какие-то материалы (курсы, таблицы... что угодно) где обобщена логика решения? методы, функции, их реализация? после чего можно будет сразу понять, для какой цели какие методы решения нужны.
      Надеюсь, что мой вопрос понятен, несмотря на некоторую сумбурность.
      Очень интересует ваше мнение по этому поводу.

  • @rooferspb
    @rooferspb Год назад +1

    16:25 как это список без запятых и пробелов, если и пробелы и запятые я вижу?)

    • @selfedu_rus
      @selfedu_rus  Год назад

      в полученных строковых фрагментах нет ни пробелов ни запятых

    • @rooferspb
      @rooferspb Год назад

      @@selfedu_rus Довольно сложно так учиться без живого учителя, который бы так объяснял нюансы, но конечно спасибо вам огромное за такой курс, пытаюсь разобраться вот)

  • @ЛУКИТ
    @ЛУКИТ 3 года назад +1

    6:22 в прошлом уроке нельзя было задавать индекс которого не существует, тут теперь можно?

    • @selfedu_rus
      @selfedu_rus  3 года назад +1

      В методе (в отличие от индексов в []) можно передавать и большие значения. Сам count() отследит, если индекс будет превышать длину строки, то дальше поиск не пойдет.

  • @gfhitdxaahn
    @gfhitdxaahn 2 года назад

    20:07 - 20:15
    Таблица

  • @АлексейКанайкин-г3ч
    @АлексейКанайкин-г3ч 2 года назад +1

    Добрый день! Сергей, а можно получить ваше фирменное, понятное объяснение, почему первый вариант не работает? Ошибка: AttributeError: 'str' object has no attribute 'len'
    text = 'Hello world'
    print(text.strip().len()) # не работает
    print(text.strip().__len__()) # работает
    Одно из объяснений ниже, но я пока всё равно не могу понять.
    "Потому что в пайтоне нет у строк именно метода .len(). Есть метод __len__(), и он как раз вызывается с помощью функции len()"

    • @selfedu_rus
      @selfedu_rus  2 года назад +2

      Это уже в области ООП. По простому, как могу, строка - это объект (класса str). К этому классу можно применить функцию len(text), которая автоматически вызовет магический метод __len__() объекта text и вернет длину строки. Вы во втором случае напрямую его и вызываете. Но это не очень хорошо, т.к. для этого предусмотрена унифицированная функция len(). Напрямую text.len() вызвать для строки не получится, т.к. метода len внутри объекта text (и класса str) нет.

    • @АлексейКанайкин-г3ч
      @АлексейКанайкин-г3ч 2 года назад +1

      @@selfedu_rus спасибо, вроде въезжаю)

  • @farisafari1
    @farisafari1 Год назад

    Сейчас есть возможность делать аудио и видео под любого желаемого,нужного человека. Так что не обольщайтесь.И команда есть думаю, думаю человек 12 с половиной. Но всё равно молодцы!

    • @selfedu_rus
      @selfedu_rus  Год назад

      один человек - вся команда )

  • @evgeniyacteck6779
    @evgeniyacteck6779 3 года назад +1

    Подскажите, пожалуйста, ранее говорили о неизменности строк. Но методом replace легко меняются символы в той же строке. Как это согласуется?

    • @selfedu_rus
      @selfedu_rus  3 года назад +2

      метод replace формирует и возвращает новую измененную строку

    • @evgeniyacteck6779
      @evgeniyacteck6779 3 года назад +2

      @@selfedu_rus Спасибо, понятно. И это подтверждается новым id.

    • @rtxmisha
      @rtxmisha Год назад

      @@evgeniyacteck6779 id остается таким же

  • @olegmakarov7877
    @olegmakarov7877 3 года назад +1

    ... Только не "малые буквы", а "строчные буквы". Так они называются.

  • @gliese5707
    @gliese5707 3 года назад +1

    То что они работают только в консоле это так и должно быть?
    или почему эти методы не работают?
    a = 'upper'
    a.upper()
    вывод: не чего
    Еще пример
    a = 'upper'
    a.upper()
    print(a)
    вывод: upper

  • @Developer_python_
    @Developer_python_ Год назад

    16: 00 Все можна было сделать одним методом split() без параметров потому что это разное split(' ') и split()

  • @mrpjetrov378
    @mrpjetrov378 Год назад +2

    С ужасом представляю что будет в заданиях

  • @onedefool6069
    @onedefool6069 2 года назад +1

    5:16. Где же квадратные скобки? Они не нужны?

    • @selfedu_rus
      @selfedu_rus  2 года назад

      там функция вызывается, поэтому круглые

  • @folklornykot
    @folklornykot 2 года назад +1

    Здравствуйте, скажите пожалуйста как переходить на здания с практикой сразу по этому уроку?

    • @selfedu_rus
      @selfedu_rus  2 года назад +2

      Курс здесь: stepik.org/course/100707/

    • @gfhitdxaahn
      @gfhitdxaahn 2 года назад +1

      @@selfedu_rus это именно то, что я искал...

  • @ОльгаКомлева-н1м
    @ОльгаКомлева-н1м 2 года назад +1

    А где искать практические занятия?

    • @harlok13
      @harlok13 2 года назад +2

      здравствуйте, вроде на степике есть, но я использую codewars, есть еще leet code, но он посложнее будет

  • @Artem_N86
    @Artem_N86 2 года назад

    Почему в примере о join не использовать replace, вместо join + split?

    • @selfedu_rus
      @selfedu_rus  2 года назад

      если будет несколько пробелов (а не один), то придется прописывать несколько replace

  • @Тридцатьтри-м7к
    @Тридцатьтри-м7к 3 года назад +2

    9:08 за что так жестоко?(

  • @waltage
    @waltage Год назад

    14:59 не работает exit result 0

  • @kun_6-23
    @kun_6-23 2 года назад +1

    Иногда у меня команда считает первый индекс включительно иногда не включительно

  • @olyarybak3553
    @olyarybak3553 3 года назад +1

    что значит maxsplit=-1 в методе split?

    • @selfedu_rus
      @selfedu_rus  3 года назад

      бесконечное число разбиений

  • @the6o6ep71
    @the6o6ep71 2 года назад

    а где можна практиковать это?

    • @selfedu_rus
      @selfedu_rus  2 года назад

      ссыока под видео

  • @Лёня-е9р
    @Лёня-е9р 2 года назад

    можно спросить где подробно узнать про true или false везде говорят булево значение. может я один тупой но я этого не догоняю. Я мате стику не знаю от слова совсем. Помню толь ко до 3 класса 5#класс как пошли все эти синусы в 2002 нихрена не воткнул.

    • @selfedu_rus
      @selfedu_rus  2 года назад

      вопрос в телеграм-канал (ссылка под видео), там вам на пальцах все разьяснят!

  • @onedefool6069
    @onedefool6069 2 года назад

    "Возвращает"...
    Что же это такое?.. 🤔

  • @ataman7046
    @ataman7046 Год назад

    ничего не понял(((

  • @ГеоргийПетручук
    @ГеоргийПетручук Год назад +1

    Интересно почему id при применении разных методов одинаковые...
    s = "что-то"
    print(s)
    print(id(s))
    s.upper()
    print(s.upper())
    print(id(s.upper()))
    s.lower()
    print(s.lower())
    print(id(s.lower()))
    в консоли:
    что-то
    2920324846640
    ЧТО-ТО
    2920326571760
    что-то
    2920326571760