Тёмный

Уроки Python / Методы строк 

Exploring the IT World / Oleg Shpagin / WISEPLAT
Подписаться 147 тыс.
Просмотров 15 тыс.
50% 1

Привет друзья! Сегодня мы с вами рассмотрим методы строк в Python. 😊
Первое с чего мы должны начать - это как вызвать метод в Python? Для вызова метода, ставим точку после переменной, для которой данный метод вызывается, и пишем само название метода, а в скобках передаем в метод аргументы. переменная.метод(аргументы)
#урокиpython #программирование #python
Для поиска подстроки в строке Python, есть четыре метода: find(), rfind(), index(), rindex()
Метод find() ищет индекс подстроки в строке - возвращает номер позиции символа указанного в аргументах.
В случае нескольких символов идущих подряд, Python вернет позицию, с которой начинается полное совпадение.
При обращении к несуществующей подстроке, вернется значение -1.
Метод index() тоже ищет подстроку в строке по её индексу, но в случае поиска несуществующей подстроки в отличии от find(), возвращает ошибку ValueError и прекращает выполнение программы.
Методы rfind() и rindex() ищут подстроку с конца строки - справа.
Например:
str1 = 'Привет мир!!! Привет мир!!! Как дела народ?!!'
print(str1.find('мир'))
print(str1.rfind('и'))
print(str1.rfind('и!!'))
print(str1.index('мир'))
print(str1.rindex('и'))
print(str1.rindex('и!!'))
Выведет:
7
22
-1
7
22
Traceback (most recent call last):
File "C:\Users\user123\Desktop\python1\my.py", line 36, in
print(str1.rindex('и!!'))
ValueError: substring not found
Как в Питоне заменить символа/строку в строке?!
Метод replace() заменяет одни символы на другие, где первым параметром передаем, что заменить. А во втором параметре указываем , на что заменить.
print(str1.replace('мир','друг'))
Привет друг!!! Привет друг!!! Как дела народ?!!
Как удалить символ из строки? Или Как удалить пробелы в строке?
Передадим во втором параметре пустые кавычки. Первым параметром указываем пробел, а вторым параметром - пустые кавычки.
print(str1.replace(' ',''))
Приветмир!!!Приветмир!!!Какделанарод?!!
Как разделить строку в Python?!
По умолчанию метод split() разделяет строку по пробелам и преобразует строку в список. В итоге мы получили список из трех элементов.
str1_array = str1.split(' ')
print(str1_array)
['Привет', 'мир!!!', 'Привет', 'мир!!!', 'Как', 'дела', 'народ?!!']
str2 = '01.jpg#02.jpg#23453.jpg#82943.jpg#dfnlb398.jpg#wjef98wr.jpg'
str2_array = str2.split('#')
print(str2_array)
['01.jpg', '02.jpg', '23453.jpg', '82943.jpg', 'dfnlb398.jpg', 'wjef98wr.jpg']
Разделить строку можно по любому другому символу, для этого передадим нужный символ в параметрах. При этом, сам символ удаляется из списка.
Как объединить строки в Python
Метод join() является не строковым методом, но мы все равно его изучим в рамках данного урока. Метод join() в Python выполняет противоположную функцию метода split(). Берет элементы списка и преобразует список в строку. Имя переменной, ссылающейся на список строк - единственный передаваемый параметр метода join(). Перед точкой, мы указываем разделитель.
imgs_array = ['01.jpg', '02.jpg', '23453.jpg', '82943.jpg', 'dfnlb398.jpg', 'wjef98wr.jpg']
imgs_str = '!@!'.join(imgs_array)
print(imgs_str)
01.jpg!@!02.jpg!@!23453.jpg!@!82943.jpg!@!dfnlb398.jpg!@!wjef98wr.jpg
Метод join() не работает с числовыми данными. Перед использованием метода join() с числами, следует числа привести к строкам.
Верхний регистр строки в Python - Метод upper() приводит все буквы строки к верхнему регистру, не меняя остальных символов.
Нижний регистр строки в Python - Метод lower() приводит все буквы строки к нижнему регистру.
print(str1.lower())
print(str1.upper())
привет мир!!! привет мир!!! как дела народ?!!
ПРИВЕТ МИР!!! ПРИВЕТ МИР!!! КАК ДЕЛА НАРОД?!!
Подсчет количества символов
Метод count() считает, сколько раз встречается подстрока в строке, указанная в параметрах.
print(str1.count('мир')))
2
Проверка символов в строке
Метод isalpha() проверяет, состоит ли строка только из букв и возвращает истину или ложь.
Метод isdigit() проверяет, состоит ли строка только из цифр и возвращает истину или ложь.
str2 = 'dfSDFfgglbtir'
str3 = '2398'
print(str2.isalpha())
print(str3.isdigit())
True
True
✔ Поддержи проект: wiseplat.org/donat
✔ Вступай в группу Вк - wiseplat 🚀
✔ Подписывайся zen.yandex.ru/id/5e9a61242427...
********************************
Если Вам понравилась публикация, подписывайтесь на канал!
Ставьте лайки, тогда будем еще писать такой контент :)
Если есть вопросы или пожелания, то пишите, в комментариях.
********************************
- Уроки от #OlegShpagin 👨🏼‍💻
#урокиpython #программирование #python

Опубликовано:

 

5 дек 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 44   
@wiseplat
@wiseplat 4 года назад
Ценю твой ЛАЙК и КОММЕНТ! Facebook: facebook.com/wiseplat/ Личный Facebook: facebook.com/oleg.shpagin ВКонтакте: vk.com/wiseplat Личный ВКонтакте: vk.com/bazatut_ru Instagram: instagram.com/wiseplat/ Мой личный Instagram: instagram.com/shpaginoleg/
@user-rj1vq9bs3k
@user-rj1vq9bs3k 2 года назад
Спасибо большое😉
@user-nv2et2lt1r
@user-nv2et2lt1r Год назад
Спасибо вам учитель. Классный урок. Лайк, подписка, комментарий.
@user-dl9ns5wj3r
@user-dl9ns5wj3r 2 года назад
Спасибо за видео!
@user-xh3hz5iv6j
@user-xh3hz5iv6j 2 года назад
Спасибо!
@humoyunsoatov2313
@humoyunsoatov2313 3 года назад
спасибо огромное, очень помогли
@RafisSabitov
@RafisSabitov Год назад
один из самых понятно-объясняющих на ютубе. ждем новых курсов.
@attrakcion
@attrakcion Год назад
Здравстуй читатель. Хочу сказать тебе: не отчаивайся. Все у тебя может получиться. Не нужно думать что те у кого получилось достичь своих целей им просто случайно повезло. Это только так кажеться. Поверьте случайного везения не бывает. Ребята хочу вам сказать что случайностей вообще не бывает и вот почему: Представь себе выходишь ты в сад и видишь что все деревья в саду повалены. Какая мысль придет к тебе в голову? Скорее всего ты подумаешь что ночью прошел сильный ураган. А теперь представь что ты также выйдешь в свой сад и увидишь что не все деревья повалены, а каждое третье дерево повалено. Какая мысль придет к тебе в голову? Ну врят ли ты здесь все спишешь на ураган. Вполне возможно ты подумаешь что кто-то решил тебе отомстить и это явно не ураган. А теперь представь что у тебя в коробке 3000 (три тысяча) буквенных символов. И представь что ты подкинул все эти буквы в воздух. Упав на асфальт какова вероятность что эти буквы образуют какое нибудь слово? А какова вероятность что эти буквы образуют какое нибудь предложение? А какова вероятность что эти буквы образуют какой нибудь абзац? А какова вероятность что эти буквы образуют какой нибудь текст? А какова вероятность что эти буквы образуют какую нибудь книгу? Вероятность равна почти нолю. А ведь двойная спираль днк намного сложнее устроена чем текст на асфальте. Верить в то что там где то сверкнула молния и вот там тоже где то сверкнула молния, а потом произошла химическая реакция и химические элементы бац соединились и образовали сложное химическое вещество, которая вдруг стало бороться за свое сохранение и не просто сохранение, а ещё и воспроизведение себе подобных- это глупо. Это все равно что будучи археологом ты наткнешься на руины древнего города и первая мысль которая к тебе в голову придет- это что здесь когда то жили люди. Ну, а если твой коллега скажет: "неа, это просто там сверкнула молния и вон там тоже сверкнула молния, а потом началось землетрясение и вот таким образом и образовался этот город". Ты после этого разговора скорее всего попросишь руководство что бы твоего коллегу отстранили от работы в связи с тем что у него поехала крыша. Так вот предыдущая ситуация еще более нелепая. Бытует мнение что наша вселенная хаотична. Но я с этим не соглашусь. Я уверен что наша вселенная упорядоченна. Так что ребята случайностей не бывает. Случайного везения просто нет. Наша вселенная не хаотична, а упорядоченна. Просто ставьте цели и достигайте их. И верьте что у вас тоже может получиться. Не сдавайтесь ребята. Мой девиз в жизни такой: Терпеливо Активно Учитесь Хорошим Искренним Делам. Запомните эту аббревиатуру. И пусть этот девиз сопровождает вас везде.
@alekskapitonov2738
@alekskapitonov2738 3 года назад
Спасибо
@user-oo3js4jb2k
@user-oo3js4jb2k 3 года назад
Отличные уроки, очень жду продолжение по django и телеграмм бота. Вам спасибо! и еще интересует язык go. Продолжайте в том же духе
@Luchezariy
@Luchezariy 2 года назад
Всем здравствуйте. Использую python 3.8.10. Метод replace не меняет местами как в ролике, а замещает. То есть например print(tx.replace("World", "Hello")) у меня выдает Hello Hello
@kerokero6459
@kerokero6459 3 года назад
Спасибо за ролик, но также есть пожелание. Чтобы написанный код либо комментарить либо удалять. Потому что когда вы пишете то в конце, то в начале, тогда глаза разбегаются когда после каждого раза компилятор выдаёт все ваши предыдущие программы, и неудобно немного получаеться искать только- что написанные программы.
@jandosabdiraiym5623
@jandosabdiraiym5623 3 года назад
супер
@residenttt4190
@residenttt4190 4 года назад
спасибо за видео. В принципе, однозначно хорошо, что пытаетесь разжевать с примерами. Но немного напрягает, когда делаете в одном окне, рассеивается внимание.
@wiseplat
@wiseplat 4 года назад
Спасибо за оценку :)
@user-hc7hh1qo1o
@user-hc7hh1qo1o 3 года назад
Олег, здравствуйте! Я только начинаю программировать на Питоне, смотрю Ваши замечательные обучающие видео. Спасибо, что помогаете учиться! Не могу решить школьную задачу: Составьте программу для решения предложенной задачи. Дана строка, состоящая из слов, разделенных пробелами (одним или несколькими). Составить программу обработки данной строки, выводящую через запятую: слова, содержащие одинаковое количество гласных и согласных букв.
@user-ks3fn4jv1k
@user-ks3fn4jv1k Год назад
получилось обучиться?
@Agrosphere_Vladimir_Melnikov
@Agrosphere_Vladimir_Melnikov 2 года назад
Здравствуйте Олег, всё хорошо руками не размахиваете отвлекает возникновение в тему или хотя бы с ручкой и четко делайте жесты , как в школе на уроках информатики
@Solarix_Live
@Solarix_Live 3 года назад
Добрый день. Я тренируюсь в PyCharm и вот там поиск с правой стороны, почему - то не работает. (((
@kavajno
@kavajno Год назад
🍎
@evgentr2404
@evgentr2404 Год назад
isdigit проверяет только на целые числа, а как проверить на дробные ? какая команда rfind в новой версии питона?
@alexanderpadalka5708
@alexanderpadalka5708 3 года назад
@NikoLena
@NikoLena 2 года назад
спасибо! вопрос- массив или список?
@user-nk6jo4qb5s
@user-nk6jo4qb5s 2 года назад
Скажите пожалуйста, а как запомнить все эти команды?
@rioriocccp5929
@rioriocccp5929 Год назад
28:52 краткое содержание видео 2:18 find() поиск подстроки в строке 4:24 rfind() поиск с правой стороны 6:20 index() 6:47 rindex() 7:34 разница между методом find и index 8:26 replace() замена символов или подстроки в строке 11:40 убираем пробелы в строке 12:16 split() разделить строку на список подстрок 13:48 пример 16:36 обратный пример 17:44 join() складывает строки 20:56 антибаг 22:09 lower() заменяет все буквы на строчные 22:48 upper() заменяет все буквы на заглавные 23:33 count() подсчет кол-ва символов в строке 25:25 len(X) функция, длина элемента Х 26:02 Х.isalpha() проверяет является ли Х строковой переменной 27:20 Х.isdigit() проверяет является ли Х числом 28:20 когда использовать isalpha и isdigit
@attrakcion
@attrakcion Год назад
Здравстуй читатель. Хочу сказать тебе: не отчаивайся. Все у тебя может получиться. Не нужно думать что те у кого получилось достичь своих целей им просто случайно повезло. Это только так кажеться. Поверьте случайного везения не бывает. Ребята хочу вам сказать что случайностей вообще не бывает и вот почему: Представь себе выходишь ты в сад и видишь что все деревья в саду повалены. Какая мысль придет к тебе в голову? Скорее всего ты подумаешь что ночью прошел сильный ураган. А теперь представь что ты также выйдешь в свой сад и увидишь что не все деревья повалены, а каждое третье дерево повалено. Какая мысль придет к тебе в голову? Ну врят ли ты здесь все спишешь на ураган. Вполне возможно ты подумаешь что кто-то решил тебе отомстить и это явно не ураган. А теперь представь что у тебя в коробке 3000 (три тысяча) буквенных символов. И представь что ты подкинул все эти буквы в воздух. Упав на асфальт какова вероятность что эти буквы образуют какое нибудь слово? А какова вероятность что эти буквы образуют какое нибудь предложение? А какова вероятность что эти буквы образуют какой нибудь абзац? А какова вероятность что эти буквы образуют какой нибудь текст? А какова вероятность что эти буквы образуют какую нибудь книгу? Вероятность равна почти нолю. А ведь двойная спираль днк намного сложнее устроена чем текст на асфальте. Верить в то что там где то сверкнула молния и вот там тоже где то сверкнула молния, а потом произошла химическая реакция и химические элементы бац соединились и образовали сложное химическое вещество, которая вдруг стало бороться за свое сохранение и не просто сохранение, а ещё и воспроизведение себе подобных- это глупо. Это все равно что будучи археологом ты наткнешься на руины древнего города и первая мысль которая к тебе в голову придет- это что здесь когда то жили люди. Ну, а если твой коллега скажет: "неа, это просто там сверкнула молния и вон там тоже сверкнула молния, а потом началось землетрясение и вот таким образом и образовался этот город". Ты после этого разговора скорее всего попросишь руководство что бы твоего коллегу отстранили от работы в связи с тем что у него поехала крыша. Так вот предыдущая ситуация еще более нелепая. Бытует мнение что наша вселенная хаотична. Но я с этим не соглашусь. Я уверен что наша вселенная упорядоченна. Так что ребята случайностей не бывает. Случайного везения просто нет. Наша вселенная не хаотична, а упорядоченна. Просто ставьте цели и достигайте их. И верьте что у вас тоже может получиться. Не сдавайтесь ребята. Мой девиз в жизни такой: Терпеливо Активно Учитесь Хорошим Искренним Делам. Запомните эту аббревиатуру. И пусть этот девиз сопровождает вас везде.
@kpacccavchik
@kpacccavchik 3 года назад
у меня так не получилось. при обычном поиске всё нормально, но при поиске с правой стороны выдаёт совершенно непонятное значение, например я напечатал: "Privet Python! Kakoi chudesnyi deni." при попытке найти букву "i" слева получается 2, а справа 34! почему так? непонятно...
@kpacccavchik
@kpacccavchik 3 года назад
код мой выглядит так: a="Privet Python! Kakoi chudesnyi deni." print(a.find("i")) print(a.rfind("i"))
@Velvi42
@Velvi42 3 года назад
@@kpacccavchik никакого непонятного значения нет. rfind начинает поиск с правой стороны, но индекс в любом случае считается с левой. Таким образом, rfind находит 'i' в предпоследнем символе строки, индекс которого, если считать слева направо, как раз 34. Обычный же find ищет с левой стороны и находит 'i' в третьем символе, индекс которого 2.
@Andrey-ee8fk
@Andrey-ee8fk Год назад
@@Velvi42 посчитайте согласно примера и скажите где там 34 с любой стороны там 31-32 символа итого Если точку считать
@Andrey-ee8fk
@Andrey-ee8fk Год назад
все таки прошу обьсянить как буква И в методе rfind оказалась на 8 месте по индексу ?
@ninochkabalashova1390
@ninochkabalashova1390 Год назад
+ я тоже этого не понимаю
@ninochkabalashova1390
@ninochkabalashova1390 Год назад
фух, в коментах нашёл ответ почему. Когда метод rfind ищет букву "и" с правой стороны, то он находит вот эту букву "и"(я её подчеркнул): "привет мИр!как дела народ?" Но несмотря на то какой метод изпользуеться "find" или "rfind", счёт индексов идёт всегда с левой стороны. А если подсчитать индекс этой буквы с левой стороны то как раз получиться "8"
@jandosabdiraiym5623
@jandosabdiraiym5623 3 года назад
авмвм
@ithelper-it591
@ithelper-it591 3 года назад
zø | python🐍🐍🐍
@kavajno
@kavajno Год назад
🍈
@jandosabdiraiym5623
@jandosabdiraiym5623 3 года назад
амвмам
@user-xv7sh6lp7o
@user-xv7sh6lp7o 3 года назад
str3 = 'helloghjtyu' print(str3) print(str3.rfind('o')) print(str3.find('o')) helloghjtyu 4 4 Привет друзья! Пожалуйста объясните почему оба метода выводят одинаковое значение ?
@user-xu1pf6ie9l
@user-xu1pf6ie9l 2 года назад
А какую оно должно показывать? Оно находится на позиции 4 в любом случае
@ninochkabalashova1390
@ninochkabalashova1390 Год назад
просто несмотря на то какой метод изпользуеться "find" или "rfind", счёт индексов идёт всегда с левой стороны. А если подсчитать индекс этой буквы с левой стороны то как раз получиться "8"
@jandosabdiraiym5623
@jandosabdiraiym5623 3 года назад
пкик
@vitalypaketaaa6125
@vitalypaketaaa6125 3 года назад
у тебя есть страх не понравиться людям, комплекс такой... ты не 100 долларовая купюра ,чтобы всем нравиться :-) ... по любому ты кому-то не будешь нравиться, так что можешь чувствовать себя свободней... тебя ж не придут к тебе домой бить те, кому ты не нравишься ,хе хе
@jandosabdiraiym5623
@jandosabdiraiym5623 3 года назад
пкки
@user-mu6ck4ty2g
@user-mu6ck4ty2g 10 месяцев назад
вдруг откуда ни возьмись ...метод JOIN!!! КТО ЭТО И ЧТО ЭТО?
Далее
Уроки Python / Команда print
11:35
Просмотров 10 тыс.