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

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024
  • Обучающий курс: 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 ...

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

  • @karandalliik
    @karandalliik 3 ปีที่แล้ว +48

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

  • @АлександрГ-я1у
    @АлександрГ-я1у 2 ปีที่แล้ว +23

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

  • @владик-р3я
    @владик-р3я 3 ปีที่แล้ว +36

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

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

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

  • @likeclockwork9600
    @likeclockwork9600 3 ปีที่แล้ว +8

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

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

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

  • @puncher-1
    @puncher-1 2 ปีที่แล้ว +5

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

  • @ФердинандПорше-ь1ф
    @ФердинандПорше-ь1ф 3 ปีที่แล้ว +8

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

  • @igorkulibaba7287
    @igorkulibaba7287 3 ปีที่แล้ว +6

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

  • @ASJxdmkrlv
    @ASJxdmkrlv 3 ปีที่แล้ว +4

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

  • @quasaro8601
    @quasaro8601 3 ปีที่แล้ว +4

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

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

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

  • @nadiapanova4442
    @nadiapanova4442 8 หลายเดือนก่อน +1

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

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

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

  • @return_1101
    @return_1101 3 ปีที่แล้ว +5

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

  • @УмныйЛьвёнок-ж9щ
    @УмныйЛьвёнок-ж9щ ปีที่แล้ว +3

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

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

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

  • @ИванЗоренко
    @ИванЗоренко 2 ปีที่แล้ว +3

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

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

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

  • @ИльнурИмамов-е7к
    @ИльнурИмамов-е7к 3 ปีที่แล้ว +4

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

  • @Киптолопата
    @Киптолопата ปีที่แล้ว +1

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

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

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

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

      люди ленивые

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

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

  • @katesill1987
    @katesill1987 3 หลายเดือนก่อน +2

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

  • @valid-cooler5991
    @valid-cooler5991 18 วันที่ผ่านมา

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

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

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

  • @wainecst3862
    @wainecst3862 6 หลายเดือนก่อน +1

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

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

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

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

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

  • @ТудорЛупашко-э3м
    @ТудорЛупашко-э3м 3 ปีที่แล้ว +3

    Лучший!

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

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

  • @Имяифамилия-з4ю
    @Имяифамилия-з4ю 2 ปีที่แล้ว +2

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

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

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

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

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

  • @hitech6994
    @hitech6994 3 ปีที่แล้ว +7

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

    • @selfedu_rus
      @selfedu_rus  3 ปีที่แล้ว +7

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

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

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

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

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

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

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

  • @Упошукахрадзмы
    @Упошукахрадзмы 2 ปีที่แล้ว +11

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

  • @user-rn9uh7banivar
    @user-rn9uh7banivar 7 หลายเดือนก่อน +1

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

    • @selfedu_rus
      @selfedu_rus  7 หลายเดือนก่อน +1

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

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

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

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

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

  • @ВикторЖигурда
    @ВикторЖигурда 3 ปีที่แล้ว +4

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

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

    👍👍

  • @andredru4278
    @andredru4278 7 หลายเดือนก่อน +1

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

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

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

  • @FreeCoinsChannel
    @FreeCoinsChannel หลายเดือนก่อน +1

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

  • @grayich
    @grayich 3 ปีที่แล้ว +4

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

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

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

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

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

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

    Дякую.)

  • @Андрій-б9б
    @Андрій-б9б 7 หลายเดือนก่อน +1

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

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

    спасибо

  • @Николай-с4ц4ш
    @Николай-с4ц4ш หลายเดือนก่อน +1

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

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

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

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

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

  • @ШепотСмерти-ш8м
    @ШепотСмерти-ш8м 7 หลายเดือนก่อน +2

    топ

  • @Юлия-ч9с6й
    @Юлия-ч9с6й 2 ปีที่แล้ว +1

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

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

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

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

      Дошло)

  • @СарматПересветов
    @СарматПересветов 19 วันที่ผ่านมา

    Like!

  • @ФЕДОРКУЛАВА
    @ФЕДОРКУЛАВА 2 ปีที่แล้ว +1

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

    • @ФЕДОРКУЛАВА
      @ФЕДОРКУЛАВА 2 ปีที่แล้ว +1

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

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

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

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

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

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

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

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

    👏👍

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

    🙏🙏🙏💪🦾 Merci

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

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

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

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

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

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

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

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

  • @АлексейКанайкин-г3ч
    @АлексейКанайкин-г3ч ปีที่แล้ว +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

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

    • @АлексейКанайкин-г3ч
      @АлексейКанайкин-г3ч ปีที่แล้ว +1

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

  • @ЛУКИТ
    @ЛУКИТ 3 ปีที่แล้ว +1

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

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

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

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

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

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

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

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

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

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

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

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

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

  • @farisafari1
    @farisafari1 11 หลายเดือนก่อน

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

    • @selfedu_rus
      @selfedu_rus  11 หลายเดือนก่อน

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

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

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

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

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

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

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

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

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

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

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

  • @Тридцатьтри-м7к
    @Тридцатьтри-м7к 2 ปีที่แล้ว +2

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

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

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

  • @Лёня-е9р
    @Лёня-е9р ปีที่แล้ว

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

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

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

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

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

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

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

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

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

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

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

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

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

  • @COC-v6i
    @COC-v6i 8 วันที่ผ่านมา +2

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

  • @kun_6-23
    @kun_6-23 ปีที่แล้ว +1

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

  • @ОльгаКомлева-н1м
    @ОльгаКомлева-н1м ปีที่แล้ว +1

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

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

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

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

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

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

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

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

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

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

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

  • @ataman7046
    @ataman7046 11 หลายเดือนก่อน

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

  • @ГеоргийПетручук
    @ГеоргийПетручук 9 หลายเดือนก่อน +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