-
В этом видео я хочу
-
немного разобраться
-
с понятием строк (strings).
-
А также увидеть возможности строк
-
и как мы можем их использовать.
-
Или что с ними делать.
-
Итак, что я сейчас собираюсь здесь сделать...
-
я собираюсь написать небольшую простую программу,
-
что достаточно просто продемонстрирует возможности строк.
-
Далее я собираюсь использовать интерпретатор Python
-
поработать с этими строками
-
и посмотреть, что мы можем с ними сделать.
-
Итак, позвольте мне определить строку.
-
Давайте назовем строку "а"
-
и значение "а" -
-
определим как "My first test string".
(пер: "Моя первая тестовая строка")
-
"My first test string", -
-
вот здесь, справа.
-
Как вы знаете, строка является
-
большой последовательностью символов вот здесь, справа
-
и вы можете ее узнать
-
по наличию апострофов
-
или двойных кавычек (' или ").
-
И, чтобы сделать ясным, что строка
-
не обязательно должна быть в кавычках ("),
-
позвольте мне определить "b" , как
-
'Another test string that I have defined'
(пер:'Другая тестовая строка, определенная мной')
-
Еще раз, вы можете создать строку
-
просто вставляя набор символов
-
заключенный в кавычки
-
которые определяют начало и конец строки.
-
Например, у вас есть что-то вроде этого:
-
Вы указываете "This is Sal's string"
(пер: "Это строка Сэла")
-
Кстати, в этом примере,
-
апостроф в Sal's допустим-
-
хоть это и символ, определяющий строку ('), но это нормально
-
потому, что интерпритатор будет знать:
-
"Смотри, строка начинается с двойных кавычек (")
-
так что я должен искать
-
другие двойные кавычки (") для окончания строки".
-
Таким образом, он не подумает:
-
"О, этот апостроф(') - окончание строки "
-
он скажет: "Мне нужна двойные кавычки (") ".
-
Так что он поимает, что все это является просто строкой,
-
что это апостроф это просто символ строки.
-
Есть одна вещь, которую я не могу сделать:
-
Давайте попробуем определить строку "d" здесь.
-
Попытаемся таким образом
-
что бы я не мог это осуществить:
-
'This is Sal's string'
-
В этом нет никакого смысла,
-
потому что здесь, мы начинаем строку с апострофа
-
далее ее закрываем апострофом в Sal's
-
и когда мы перейдем к продолжению строки
-
то все продолжение [s string'] является просто каким-то текстом
-
что интерпритатор Python будет
-
пытаться определить как какую-то программу,
-
и он здесь выдаст ошибку.
-
Поэтому если вы хотите, чтобы программа работала
-
не делайте как указывалось выше.
-
Вы могли бы сделать что-то вроде:
-
Не 'Sal's, а например,
-
таким образом, 'My favorite...
-
Либо любыми другими путями,
-
не прибегая к определяющим символам
-
Которые были бы здесь уместны
-
например, 'My favorite word is...
(пер: 'Мое любимое слово - это...)
-
кстати, я не знаю, какое мое любимое слово
-
Не знаю, что подставить..
-
Но, допустим, 'My favorite word is "asparagus"...
(пер: 'Мое любимое слово - это "спаржа"...)
-
У меня даже не получается записать его!
-
Спаржа...
-
Таким образом, 'My favorite word is "aspara[g]us", what is yours?'
-
Итак, еще раз, эта строка является правильной, так как
-
Я начинаю свой строку с апострофа,
-
интерпритатор говорит:
-
"Смотри, не буду заканчивать строку
-
пока не получу в конце еще один апостроф ".
-
Так что мы не запутаем интерпритатор
-
если он увидит открытие двойных кавычек в строке,
-
Потому что он знает, что
-
Строка начинается с апострофа.
-
Позвольте мне показать вам другие примеры строк,
-
это будут интересные примеры.
-
Строки не обязательно должны иметь имена единичных символов
-
поэтому позвольте мне называть строку "math_string"
-
И давайте определим ее "3 +4 * 2"
-
Такая вот математическая строка.
-
это действительно просто строка символов.
-
Интерпритатор не будет оценивать ее,
-
он буквально только рассмотрит ее как строку символов.
-
Так что я думаю, что это очень хорошая..
-
позвольте мне создать еще одну псевдо-математическую строку
-
или позвольте мне сделать еще одно выражение.
-
Разрешите мне назвать эту строку
-
Это просто имя переменной,
-
и позвольте мне назвать ее expression_string
-
Давайте скажем, что это "а+ ...
-
а потом я как бы создам строку внутри той строки(' ')
-
... + b + 'tiger'"
-
вот здесь, справа.
-
Так что это просто...
-
все, что находится внутри двойных кавычек
-
интерпритатор просто будет рассматривать
-
как набор символов.
-
Так, есть интересные вещи,
-
которые мы могли бы получить с этого, в конце концов.
-
Так что, хватит создавать строки,
-
позвольте мне сохранить этот файл прямо сейчас, и запустим его.
-
И вот, что он делает:
-
Сейчас, в этой среде, все эти строки определены
-
и я могу проверить это, для этого, я могу сказать
-
"а"... 'My first test string'
-
"b"... 'Another test string that I have defined'
-
"c"... "This is Sal's string"
-
"d"... 'My favorite word is...
-
"aspara...
-
"asparaus"...
-
Я не мог даже написать "asparagus" должным образом,
-
Наверное, мы должны это исправить..
-
... "Asparaus", what is yours?'
-
Надо добавить "g" - asparaGus!
-
... what is yours?'
-
Далее у нас..
-
это попроще, в этой строке нет правописания,
-
мы можем посмотреть, как math_string выглядит,
-
math_string, это буквально строка символов.
-
Далее у нас строка с выражением.
-
Expression_string также буквально строка символов.
-
Теперь давайте немного поработаем
-
с некоторыми из этих строк
-
и посмотрим, что мы можем с ними сделать.
-
Так, вот пара вещей:
-
мы можем сказать: "Эй, какой размер этой строки?"
-
И здесь мы можем использовать встроенную в Python функцию len()
-
который является сокращением от "length" (длина)
-
Таким образом, len() от а [ len(а)],
-
говорит: "Эй, здесь двадцать символов в строке а!"
-
Давайте посчитаем, давайте проверим...
-
1, 2, пробел (' ') также является символом,
-
(считает до двадцати)
-
Да, двадцать символов!
-
Так, каков len() из math_string?
-
len(), длина покороче.
-
В math_string пять символов.
-
Давайте их пересчитаем
-
1, 2, 3, 4, 5 - символов.
-
Эта функция имеет большое значение
-
Мы могли бы сделать это для каждой строки,
-
и я советую вам попробовать это самостоятельно;
-
хороший эксперимент, привыкайте к этому.
-
Теперь, следующее, что я хочу вам показать...
-
Как объединить две строки.
-
Похоже, очень причудливое слово,
-
но на самом деле просто означает, соединить их вместе.
-
Так, например, я сказал бы...
-
Давайте создадим новую строку, и назовем ее
-
"a▁with▁b", и я определю ее как a+b
-
Таким образом, я делаю здесь очень интересную вещь.
-
Мы прибегли к помощи оператора сложения (+) чисел
-
но я собираюсь сложить две строки.
-
Давайте посмотрим, что из этого выйдет.
-
Итак, давайте посмотрим, как будет выглядеть "a▁with▁b".
-
"a▁with▁b" это просто переменная.
-
Итак, что случилось?
-
У меня было a - "My first test string"
-
и у меня b -
-
'Another test string that I have defined'
-
Когда я набрал a+b
-
Интерпритатор взял a - "My first test string"
-
и к ее концу прибавил b!
-
Он прибавил b к a
-
в результате- просто забавное слово "put 'em together!" (пер: "объединил их вместе")
-
'Another test string that I have defined'
-
было прибавлено к а
-
Полагаю, вы могли бы на это взглянуть
-
он присоединил b к концу а.
-
Но вы могли бы пойти другим путем,
-
Вы могли бы назвать это b▁with▁a
-
Давайте определим как b+a
-
И давайте взглянем на то, что получится
-
b▁with▁a...
-
Теперь - наоборот!
-
a добавилось к концу b.
-
Таким образом, вы можете сделать очень-очень интерестную строку
-
если бы мы сложили math▁string+expression▁string
-
Я не собираюсь для этого создавать новую переменную
-
Я просто хочу посмотреть, что получится в результате, если я...
-
совмещу math▁string+expression▁string
-
Тогда я фактически получу эти две строки, сложенные в месте,
-
и поэтому эта строка была размещена в конце этой строки,
-
и вы видите это прямо здесь
-
такая странная строка получилась,
-
но это строка!
-
Все, что между этими штуками
-
все, что между двойными кавычками
-
просто рассматривается как набор символов.
-
Это всего лишь символы.
-
Теперь, есть много-много-много-много
-
других вещей, которые мы можем осуществить со строками,
-
Я не собираюсь знакомить вас со всеми из них.
-
Но строки приходят с кучей функций,
-
и если у вас есть Интегрированная Среда Разработки,
-
она будет часто подсказывать вам,
-
какие функции можно использовать.
-
Например,
-
Вы можете захотеть split() (пер: функция разделить() ),
-
Может быть, вы хотите получить список всех слов в строке.
-
Итак, например, я пишу определенный тип программы,
-
и я хочу воспользоваться этой строкой, которая находится в b
-
и я хочу сделать каждое из этих слов
-
отдельным элементом в списке.
-
Каким образом я могу это сделать, могу набрать b точка (b.)
-
и я вызову один из методов b