< Return to Video

Работа со строками

  • 0:00 - 0:02
    В этом видео я хочу
  • 0:02 - 0:04
    немного разобраться
  • 0:04 - 0:05
    с понятием строк (strings).
  • 0:05 - 0:07
    А также увидеть возможности строк
  • 0:07 - 0:08
    и как мы можем их использовать.
  • 0:08 - 0:10
    Или что с ними делать.
  • 0:10 - 0:11
    Итак, что я сейчас собираюсь здесь сделать...
  • 0:11 - 0:12
    я собираюсь написать небольшую простую программу,
  • 0:12 - 0:15
    что достаточно просто продемонстрирует возможности строк.
  • 0:15 - 0:17
    Далее я собираюсь использовать интерпретатор Python
  • 0:17 - 0:18
    поработать с этими строками
  • 0:18 - 0:19
    и посмотреть, что мы можем с ними сделать.
  • 0:19 - 0:21
    Итак, позвольте мне определить строку.
  • 0:21 - 0:23
    Давайте назовем строку "а"
  • 0:23 - 0:25
    и значение "а" -
  • 0:25 - 0:27
    определим как "My first test string".
    (пер: "Моя первая тестовая строка")
  • 0:27 - 0:31
    "My first test string", -
  • 0:31 - 0:32
    вот здесь, справа.
  • 0:32 - 0:33
    Как вы знаете, строка является
  • 0:33 - 0:36
    большой последовательностью символов вот здесь, справа
  • 0:36 - 0:37
    и вы можете ее узнать
  • 0:37 - 0:38
    по наличию апострофов
  • 0:38 - 0:40
    или двойных кавычек (' или ").
  • 0:40 - 0:41
    И, чтобы сделать ясным, что строка
  • 0:41 - 0:42
    не обязательно должна быть в кавычках ("),
  • 0:42 - 0:46
    позвольте мне определить "b" , как
  • 0:46 - 0:54
    'Another test string that I have defined'
    (пер:'Другая тестовая строка, определенная мной')
  • 0:54 - 0:57
    Еще раз, вы можете создать строку
  • 0:57 - 0:59
    просто вставляя набор символов
  • 0:59 - 1:01
    заключенный в кавычки
  • 1:01 - 1:04
    которые определяют начало и конец строки.
  • 1:04 - 1:06
    Например, у вас есть что-то вроде этого:
  • 1:06 - 1:14
    Вы указываете "This is Sal's string"
    (пер: "Это строка Сэла")
  • 1:14 - 1:16
    Кстати, в этом примере,
  • 1:16 - 1:18
    апостроф в Sal's допустим-
  • 1:18 - 1:20
    хоть это и символ, определяющий строку ('), но это нормально
  • 1:20 - 1:23
    потому, что интерпритатор будет знать:
  • 1:23 - 1:25
    "Смотри, строка начинается с двойных кавычек (")
  • 1:25 - 1:26
    так что я должен искать
  • 1:26 - 1:27
    другие двойные кавычки (") для окончания строки".
  • 1:27 - 1:29
    Таким образом, он не подумает:
  • 1:29 - 1:30
    "О, этот апостроф(') - окончание строки "
  • 1:30 - 1:32
    он скажет: "Мне нужна двойные кавычки (") ".
  • 1:32 - 1:34
    Так что он поимает, что все это является просто строкой,
  • 1:34 - 1:37
    что это апостроф это просто символ строки.
  • 1:37 - 1:40
    Есть одна вещь, которую я не могу сделать:
  • 1:40 - 1:42
    Давайте попробуем определить строку "d" здесь.
  • 1:42 - 1:45
    Попытаемся таким образом
  • 1:45 - 1:46
    что бы я не мог это осуществить:
  • 1:46 - 1:50
    'This is Sal's string'
  • 1:50 - 1:52
    В этом нет никакого смысла,
  • 1:52 - 1:55
    потому что здесь, мы начинаем строку с апострофа
  • 1:55 - 1:57
    далее ее закрываем апострофом в Sal's
  • 1:57 - 1:59
    и когда мы перейдем к продолжению строки
  • 1:59 - 2:00
    то все продолжение [s string'] является просто каким-то текстом
  • 2:00 - 2:02
    что интерпритатор Python будет
  • 2:02 - 2:04
    пытаться определить как какую-то программу,
  • 2:04 - 2:05
    и он здесь выдаст ошибку.
  • 2:05 - 2:06
    Поэтому если вы хотите, чтобы программа работала
  • 2:06 - 2:07
    не делайте как указывалось выше.
  • 2:07 - 2:14
    Вы могли бы сделать что-то вроде:
  • 2:14 - 2:16
    Не 'Sal's, а например,
  • 2:16 - 2:18
    таким образом, 'My favorite...
  • 2:18 - 2:19
    Либо любыми другими путями,
  • 2:19 - 2:20
    не прибегая к определяющим символам
  • 2:20 - 2:21
    Которые были бы здесь уместны
  • 2:21 - 2:25
    например, 'My favorite word is...
    (пер: 'Мое любимое слово - это...)
  • 2:25 - 2:27
    кстати, я не знаю, какое мое любимое слово
  • 2:27 - 2:29
    Не знаю, что подставить..
  • 2:29 - 2:34
    Но, допустим, 'My favorite word is "asparagus"...
    (пер: 'Мое любимое слово - это "спаржа"...)
  • 2:34 - 2:36
    У меня даже не получается записать его!
  • 2:36 - 2:38
    Спаржа...
  • 2:38 - 2:44
    Таким образом, 'My favorite word is "aspara[g]us", what is yours?'
  • 2:44 - 2:46
    Итак, еще раз, эта строка является правильной, так как
  • 2:46 - 2:48
    Я начинаю свой строку с апострофа,
  • 2:48 - 2:49
    интерпритатор говорит:
  • 2:49 - 2:50
    "Смотри, не буду заканчивать строку
  • 2:50 - 2:52
    пока не получу в конце еще один апостроф ".
  • 2:52 - 2:55
    Так что мы не запутаем интерпритатор
  • 2:55 - 2:57
    если он увидит открытие двойных кавычек в строке,
  • 2:57 - 2:58
    Потому что он знает, что
  • 2:58 - 3:00
    Строка начинается с апострофа.
  • 3:00 - 3:02
    Позвольте мне показать вам другие примеры строк,
  • 3:02 - 3:04
    это будут интересные примеры.
  • 3:04 - 3:06
    Строки не обязательно должны иметь имена единичных символов
  • 3:06 - 3:10
    поэтому позвольте мне называть строку "math_string"
  • 3:10 - 3:19
    И давайте определим ее "3 +4 * 2"
  • 3:19 - 3:21
    Такая вот математическая строка.
  • 3:21 - 3:22
    это действительно просто строка символов.
  • 3:22 - 3:25
    Интерпритатор не будет оценивать ее,
  • 3:25 - 3:28
    он буквально только рассмотрит ее как строку символов.
  • 3:28 - 3:31
    Так что я думаю, что это очень хорошая..
  • 3:31 - 3:34
    позвольте мне создать еще одну псевдо-математическую строку
  • 3:34 - 3:35
    или позвольте мне сделать еще одно выражение.
  • 3:35 - 3:37
    Разрешите мне назвать эту строку
  • 3:37 - 3:39
    Это просто имя переменной,
  • 3:39 - 3:44
    и позвольте мне назвать ее expression_string
  • 3:44 - 3:49
    Давайте скажем, что это "а+ ...
  • 3:49 - 3:52
    а потом я как бы создам строку внутри той строки(' ')
  • 3:52 - 4:01
    ... + b + 'tiger'"
  • 4:01 - 4:03
    вот здесь, справа.
  • 4:03 - 4:04
    Так что это просто...
  • 4:04 - 4:06
    все, что находится внутри двойных кавычек
  • 4:06 - 4:08
    интерпритатор просто будет рассматривать
  • 4:08 - 4:10
    как набор символов.
  • 4:10 - 4:12
    Так, есть интересные вещи,
  • 4:12 - 4:14
    которые мы могли бы получить с этого, в конце концов.
  • 4:14 - 4:16
    Так что, хватит создавать строки,
  • 4:16 - 4:20
    позвольте мне сохранить этот файл прямо сейчас, и запустим его.
  • 4:20 - 4:21
    И вот, что он делает:
  • 4:21 - 4:23
    Сейчас, в этой среде, все эти строки определены
  • 4:23 - 4:24
    и я могу проверить это, для этого, я могу сказать
  • 4:24 - 4:26
    "а"... 'My first test string'
  • 4:26 - 4:28
    "b"... 'Another test string that I have defined'
  • 4:28 - 4:31
    "c"... "This is Sal's string"
  • 4:31 - 4:33
    "d"... 'My favorite word is...
  • 4:33 - 4:34
    "aspara...
  • 4:34 - 4:34
    "asparaus"...
  • 4:34 - 4:36
    Я не мог даже написать "asparagus" должным образом,
  • 4:36 - 4:37
    Наверное, мы должны это исправить..
  • 4:37 - 4:39
    ... "Asparaus", what is yours?'
  • 4:39 - 4:41
    Надо добавить "g" - asparaGus!
  • 4:41 - 4:43
    ... what is yours?'
  • 4:43 - 4:44
    Далее у нас..
  • 4:44 - 4:46
    это попроще, в этой строке нет правописания,
  • 4:46 - 4:48
    мы можем посмотреть, как math_string выглядит,
  • 4:48 - 4:50
    math_string, это буквально строка символов.
  • 4:50 - 4:52
    Далее у нас строка с выражением.
  • 4:52 - 4:57
    Expression_string также буквально строка символов.
  • 4:57 - 4:59
    Теперь давайте немного поработаем
  • 4:59 - 5:00
    с некоторыми из этих строк
  • 5:00 - 5:01
    и посмотрим, что мы можем с ними сделать.
  • 5:01 - 5:03
    Так, вот пара вещей:
  • 5:03 - 5:04
    мы можем сказать: "Эй, какой размер этой строки?"
  • 5:04 - 5:08
    И здесь мы можем использовать встроенную в Python функцию len()
  • 5:08 - 5:10
    который является сокращением от "length" (длина)
  • 5:10 - 5:14
    Таким образом, len() от а [ len(а)],
  • 5:14 - 5:17
    говорит: "Эй, здесь двадцать символов в строке а!"
  • 5:17 - 5:18
    Давайте посчитаем, давайте проверим...
  • 5:18 - 5:20
    1, 2, пробел (' ') также является символом,
  • 5:20 - 5:29
    (считает до двадцати)
  • 5:29 - 5:30
    Да, двадцать символов!
  • 5:30 - 5:35
    Так, каков len() из math_string?
  • 5:35 - 5:37
    len(), длина покороче.
  • 5:37 - 5:38
    В math_string пять символов.
  • 5:38 - 5:39
    Давайте их пересчитаем
  • 5:39 - 5:42
    1, 2, 3, 4, 5 - символов.
  • 5:42 - 5:44
    Эта функция имеет большое значение
  • 5:44 - 5:44
    Мы могли бы сделать это для каждой строки,
  • 5:44 - 5:46
    и я советую вам попробовать это самостоятельно;
  • 5:46 - 5:48
    хороший эксперимент, привыкайте к этому.
  • 5:48 - 5:50
    Теперь, следующее, что я хочу вам показать...
  • 5:50 - 5:52
    Как объединить две строки.
  • 5:52 - 5:53
    Похоже, очень причудливое слово,
  • 5:53 - 5:55
    но на самом деле просто означает, соединить их вместе.
  • 5:55 - 5:58
    Так, например, я сказал бы...
  • 5:58 - 6:01
    Давайте создадим новую строку, и назовем ее
  • 6:01 - 6:08
    "a▁with▁b", и я определю ее как a+b
Title:
Работа со строками
Description:

Эксперименты со строками и определение их возможностей.

more » « less
Video Language:
English
Duration:
13:58
Dmitry Pulin edited Russian subtitles for Fun with Strings
Dmitry Pulin edited Russian subtitles for Fun with Strings
Dmitry Pulin edited Russian subtitles for Fun with Strings
evgeniy.kofanov edited Russian subtitles for Fun with Strings
evgeniy.kofanov edited Russian subtitles for Fun with Strings
evgeniy.kofanov edited Russian subtitles for Fun with Strings
evgeniy.kofanov edited Russian subtitles for Fun with Strings
evgeniy.kofanov edited Russian subtitles for Fun with Strings
Show all

Russian subtitles

Incomplete

Revisions Compare revisions