Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Python — строки

Предыдущая страницаСледующая страница

Строки являются одними из самых популярных типов в Python. Мы можем создать их, просто заключив символы в кавычки. Python обрабатывает одинарные кавычки так же, как двойные кавычки. Создание строк так же просто, как присвоение значения переменной. Например —

var1 = 'Hello World!'
var2 = "Python Programming"

Доступ к значениям в строках

Python не поддерживает тип символов; они рассматриваются как строки длины один, поэтому также считаются подстрокой.

Чтобы получить доступ к подстрокам, используйте квадратные скобки для нарезки вместе с индексом или индексами, чтобы получить вашу подстроку. Например —

Живая демонстрация
#!/usr/bin/python

var1 = 'Hello World!'
var2 = "Python Programming"

print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]

Когда приведенный выше код выполняется, он дает следующий результат —

var1[0]:  H
var2[1:5]:  ytho

Обновление строк

Вы можете «обновить» существующую строку, (повторно) назначив переменную другой строке. Новое значение может быть связано со своим предыдущим значением или с совершенно другой строкой. Например —

Живая демонстрация
#!/usr/bin/python

var1 = 'Hello World!'
print "Updated String :- ", var1[:6] + 'Python'

Когда приведенный выше код выполняется, он дает следующий результат —

Updated String :-  Hello Python

Экран-символы

Следующая таблица представляет собой список escape-символов или непечатаемых символов, которые можно представить с помощью обратной косой черты.

Экранирующий символ интерпретируется; в одинарных, а также в двойных кавычках.

<тд> <тд> <тд> <тд> <тд> <тд>
Обозначение обратной косой черты Шестнадцатеричный символ Описание
\a 0x07 Звонок или оповещение
\b 0x08 Возврат
\cx Control-x
\C-x Control-x
\e 0x1b Побег
\f 0x0c Подача страницы
\M-\C-x Мета-Контроль-х
\n 0x0a Новая строка
\nnn Восьмеричная запись, где n находится в диапазоне 0,7
\r 0x0d Возврат каретки
\s 0x20 Космос
\t 0x09 Вкладка
\v 0x0b Вертикальная вкладка
\x Персонаж x
\xnn Шестнадцатеричная запись, где n находится в диапазоне 0,9, a.f или A.F

Строковые специальные операторы

Предположим, строковая переменная a содержит «Hello» и переменную b удерживает «Python», затем —

Оператор Описание Пример
+ Конкатенация — добавляет значения по обе стороны от оператора a + b даст HelloPython
* Повторение — создает новые строки, объединяя несколько копий одной и той же строки a*2 даст -HelloHello
[] Slice — дает символ из заданного индекса a[1] даст e
[ :] Range Slice — дает символы из заданного диапазона a[1:4] даст элл
в Членство — возвращает true, если в данной строке существует символ H в a даст 1
нет в Членство — возвращает true, если символ не существует в заданной строке M не в a даст 1
р/р Необработанная строка — подавляет фактическое значение управляющих символов. Синтаксис для необработанных строк точно такой же, как и для обычных строк, за исключением оператора необработанной строки, буквы «r», которая предшествует кавычкам. "r" может быть строчной (r) или прописной (R) и должна быть помещена непосредственно перед первой кавычкой. распечатать r'\n' отпечатков \n и распечатать R'\n'отпечатков \n
% Format — выполняет форматирование строки См. следующий раздел

Оператор форматирования строк

Одной из самых крутых возможностей Python является оператор форматирования строки %. Этот оператор уникален для строк и компенсирует набор функций из семейства C printf(). Ниже приведен простой пример —

Живая демонстрация
#!/usr/bin/python

print "My name is %s and weight is %d kg!" % ('Zara', 21)

Когда приведенный выше код выполняется, он дает следующий результат —

My name is Zara and weight is 21 kg!

Вот список полного набора символов, которые можно использовать вместе с % −

Формат символа Конверсия
%c персонаж
%s преобразование строки через str() перед форматированием
%i десятичное целое со знаком
%d десятичное целое со знаком
%u десятичное целое без знака
%o восьмеричное целое
%x шестнадцатеричное целое (строчные буквы)
%X шестнадцатеричное целое (заглавные буквы)
%e экспоненциальное представление (со строчной буквой "e")
%E экспоненциальное представление (с ЗАГЛАВНОЙ буквой 'E')
%f вещественное число с плавающей запятой
%g более короткая из %f и %e
%G более короткая из %f и %E

Другие поддерживаемые символы и функции перечислены в следующей таблице —

Символ Функциональность
* аргумент указывает ширину или точность
- выравнивание по левому краю
+ показать знак
оставьте пробел перед положительным числом
# добавьте восьмеричный начальный ноль ( '0' ) или шестнадцатеричный начальный '0x' или '0X', в зависимости от того, использовался ли 'x' или 'X'.
0 дополнить слева нулями (вместо пробелов)
% '%%' оставляет вас с одним литералом '%'
(var) переменная сопоставления (аргументы словаря)
мн.ч. m — минимальная общая ширина, а n — количество цифр, отображаемых после запятой (если применимо)

Тройные кавычки

Тройные кавычки Python приходят на помощь, позволяя строкам занимать несколько строк, включая дословные символы новой строки, символы табуляции и любые другие специальные символы.

Синтаксис тройных кавычек состоит из трех последовательных одинарных или двойных кавычки.

Живая демонстрация
#!/usr/bin/python

para_str = """this is a long string that is made up of
several lines and non-printable characters such as
TAB ( \t ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [ \n ], or just a NEWLINE within
the variable assignment will also show up.
"""
print para_str

Когда приведенный выше код выполняется, он дает следующий результат. Обратите внимание, как каждый отдельный специальный символ был преобразован в его печатную форму, вплоть до последнего символа новой строки в конце строки между символом «вверх». и закрывающие тройные кавычки. Также обратите внимание, что символы NEWLINE встречаются либо с явным возвратом каретки в конце строки, либо с ее escape-кодом (\n) —

this is a long string that is made up of
several lines and non-printable characters such as
TAB (    ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [
 ], or just a NEWLINE within
the variable assignment will also show up.

Необработанные строки вообще не рассматривают обратную косую черту как специальный символ. Каждый символ, который вы вставляете в необработанную строку, остается таким, каким вы его написали —

Живая демонстрация
#!/usr/bin/python

print 'C:\\nowhere'

Когда приведенный выше код выполняется, он дает следующий результат —

C:\nowhere

Теперь давайте воспользуемся необработанной строкой. Мы бы поместили выражение в r'expression' следующим образом —

Живая демонстрация
#!/usr/bin/python

print r'C:\\nowhere'

Когда приведенный выше код выполняется, он дает следующий результат —

C:\\nowhere

Строка Юникода

Обычные строки в Python хранятся внутри как 8-битный ASCII, а строки Unicode хранятся как 16-битный Unicode. Это позволяет использовать более разнообразный набор символов, включая специальные символы из большинства языков мира. Я ограничу обработку строк Unicode следующим:

Живая демонстрация
#!/usr/bin/python

print u'Hello, world!'

Когда приведенный выше код выполняется, он дает следующий результат —

Hello, world!

Как видите, строки Unicode используют префикс u, так же как необработанные строки используют префикс r.

Встроенные строковые методы

Python включает следующие встроенные методы для работы со строками —

Серийный номер Методы с описанием
1 заглавные буквы()

Делает первую букву строки заглавной

2 центр (ширина, символ заполнения)

Возвращает строку, дополненную пробелами, в которой исходная строка центрирована по ширине столбцов.

3 count(str, beg=0,end=len(string))

Подсчитывает, сколько раз str встречается в строке или в подстроке строки, если заданы начальный индекс beg и конечный индекс end.

4 декодировать(кодировка='UTF-8',ошибки='строгая')

Декодирует строку, используя кодек, зарегистрированный для кодирования. Кодировка по умолчанию соответствует кодировке строки по умолчанию.

5 кодировать(кодировка='UTF-8',ошибки='строгая')

Возвращает закодированную строковую версию строки; при ошибке по умолчанию выдается ValueError, если ошибки не указаны с помощью «игнорировать» или «заменить».

6 endswith(suffix, beg=0, end=len(string))

Определяет, заканчивается ли строка или подстрока строки (если заданы начальный индекс beg и конечный индекс end) суффиксом; возвращает true, если это так, и false в противном случае.

7 expandtabs(tabsize=8)

Расширяет вкладки в строке до нескольких пробелов; по умолчанию 8 пробелов на табуляцию, если размер табуляции не указан.

8 найти(str, beg=0 end=len(string))

Определить, встречается ли str в строке или в подстроке строки, если заданы начальный индекс beg и конечный индекс end, возвращает индекс, если он найден, и -1 в противном случае.

9 index(str, beg=0, end=len(string))

То же, что и find(), но вызывает исключение, если строка не найдена.

10 изальнум()

Возвращает true, если строка содержит хотя бы 1 символ и все символы буквенно-цифровые, и false в противном случае.

11 исальфа()

Возвращает true, если строка содержит хотя бы 1 символ и все символы являются буквенными, и false в противном случае.

12 isdigit()

Возвращает true, если строка содержит только цифры, и false в противном случае.

13 ниже()

Возвращает true, если в строке есть хотя бы 1 символ с регистром и все символы с регистром в нижнем регистре, и false в противном случае.

14 цифровой()

Возвращает true, если строка Юникода содержит только числовые символы, и false в противном случае.

15 isspace()

Возвращает true, если строка содержит только пробельные символы, и false в противном случае.

16 istitle()

Возвращает true, если строка имеет правильный «заглавный регистр», и false в противном случае.

17 верхний()

Возвращает true, если в строке есть хотя бы один символ в верхнем регистре и все символы в верхнем регистре, в противном случае — false.

18 присоединиться(последовательность)

Объединяет (объединяет) строковые представления элементов в последовательности seq в строку со строкой-разделителем.

19 len(строка)

Возвращает длину строки

20 ljust(ширина[, fillchar])

Возвращает строку, дополненную пробелами, с исходной строкой, выровненной по левому краю до общего количества столбцов ширины.

21 ниже()

Преобразует все прописные буквы строки в строчные.

22 lstrip()

Удаляет все начальные пробелы в строке.

23 maketrans()

Возвращает таблицу перевода для использования в функции перевода.

24 макс(стр)

Возвращает максимальный алфавитный символ из строки str.

25 мин(стр)

Возвращает минимальный буквенный символ из строки str.

26 заменить(старый, новый [, макс.])

Заменяет все вхождения слова old в строке новыми или максимальное число вхождений, если задано максимальное число.

27 rfind(str, beg=0,end=len(string))

То же, что find(), но поиск в строке в обратном направлении.

28 rindex(str, beg=0, end=len(string))

То же, что index(), но поиск в строке в обратном направлении.

29 rjust(width,[, fillchar])

Возвращает строку, дополненную пробелами, с исходной строкой, выровненной по правому краю до общего количества столбцов ширины.

30 rstrip()

Удаляет все пробелы в конце строки.

31 split(str="", num=string.count(str))

Разделяет строку в соответствии с разделителем str (пробел, если не указан) и возвращает список подстрок; разбить на не более чем число подстрок, если они заданы.

32 splitlines( num=string.count('\n'))

Разбивает строку на все (или количество) символов NEWLINE и возвращает список каждой строки с удаленными символами NEWLINE.

33 startswith(str, beg=0,end=len(string))

Определяет, начинается ли строка или подстрока строки (если заданы начальный индекс beg и конечный индекс end) с подстроки str; возвращает true, если это так, и false в противном случае.

34 полоса([символы])

Выполняет как lstrip(), так и rstrip() для строки.

35 свопкейс()

Инвертирует регистр для всех букв в строке.

36 название()

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

37 перевести(таблица, deletechars="")

Переводит строку в соответствии с таблицей перевода str(256 символов), удаляя те, что в строке del.

38 верхний()

Преобразует строчные буквы строки в прописные.

39 zfill (ширина)

Возвращает исходную строку, дополненную нулями слева, до общего количества символов ширины; предназначенный для чисел, zfill() сохраняет любой заданный знак (кроме одного нуля).

40 десятичный()

Возвращает true, если строка Unicode содержит только десятичные символы, и false в противном случае.


Python

  1. C# Строка
  2. Операторы Python
  3. Словарь Питона
  4. Строки Python:заменить, объединить, разделить, перевернуть, прописные и строчные буквы
  5. Функция Python String strip() с ПРИМЕРОМ
  6. Количество строк Python() с ПРИМЕРАМИ
  7. Python String format() Объясните с ПРИМЕРАМИ
  8. Длина строки Python | Пример метода len()
  9. Метод Python String find() с примерами
  10. Функция Enumerate() в Python:цикл, кортеж, строка (пример)