Python. Класс str. Функции для работы со строками, определяющие особенности строки




Класс str. Функции для работы со строками, определяющие особенности строки


Содержание


Поиск на других ресурсах:

1. Функции для работы со строками, которые определяют характерные особенности строки. Перечень

Для определения особенностей (свойств) строки, в библиотеке Python введены следующие функции класса str:

  • isalnum();
  • isalpha();
  • isascii();
  • isdecimal();
  • isdigit();
  • isidentifier();
  • islower();
  • isnumeric();
  • isprintable();
  • isspace();
  • istitle();
  • isupper().

 

2. Функция str.isalnum(). Проверка буквенно-цифровых символов строки

Функция str.isalnum() возвращает True, если выполняются оба условия:

  • все символы в строке есть буквенно-цифровые;
  • строка содержит как минимум один символ.

В противном случае функция возвращает False.

Символ sym считается буквенно-цифровым, если одна из нижеследующих функций возвращает True:

  • sym.isalpha();
  • sym.isdecimal();
  • sym.isdigit();
  • sym.isnumeric().

Пример.

# Функция str.isalnum()

s = '' # пустая строка
f = s.isalnum() # f = False

s = 'abcd'
f = s.isalnum() # f = True

s = '123'
f = str.isalnum(s) # f = True

s = 'A1'
f = s.isalnum() # f = True

f = '+-*'.isalnum() # f = False

f = 'a b'.isalnum() # f = False

 

3. Функция str.isalpha(). Проверка буквенных символов строки

Функция str.isalpha() возвращает True, если выполняются оба условия:

  • все символы строки есть буквенные;
  • в строке есть хотя бы один символ.

В противном случае функция возвращает False.

Согласно стандарту Unicode буквенные символы – это символы которые соответствуют свойствам «Lm», «Lt», «Lu», «Ll», «Lo».

Пример

# Функция str.isalpha()

s = '' # пустая строка
f = s.isalpha() # f = False

s = 'abcd'
f = s.isalpha() # f = True

s = '123'
f = str.isalpha(s) # f = False

s = 'A1'
f = s.isalpha() # f = False

f = '+-*'.isalpha() # f = False

f = 'a b'.isalpha() # f = False


 

4. Функция str.isascii(). Проверка ASCII-символов строки

Функция str.isascii() возвращает True, когда выполняется одно из условий:

  • все символы строки являются ASCII-символами;
  • строка есть пустой.

ASCII-символы – это символы, коды которых находятся в границах 00-7F в шестнадцатеричной системе исчисления.

Пример.

# Функция str.isascii - возвращает True, если в строке есть ASCII-символы

# Применение функции к непустой строке
s = ";-ab9" # Все символы в диапазоне от 0 до 7F
f = str.isascii(s) # f = True

s = "Юй09," # Есть два символа 'Ю' и 'й', которые вне диапазона 0..7F
f = s.isascii() # f = False

# Применение функции к пустой строке
f = ''.isascii() # f = True

 

5. Функция str.isdecimal(). Проверка десятичных символов строки

Функция str.isdecimal() возвращает True, если все символы строки десятичные. Если в строке есть хотя бы один недесятичный символ, то функция возвращает False.
Десятичным считается символ, который используется для формирования чисел при основании 10. Иными словами, десятичные символы это символы цифр ‘0’, ‘1’, ‘2’, …, ‘9’.
В кодировке Unicode десятичные символы относятся к категории «Nd».

Пример.

# Функция str.isdecimal - определяет, все ли символы строки десятичные

# Случай 1. Непустая строка
s = '123'
f = s.isdecimal() # f = True

f = 'A123'.isdecimal() # f = False, строка содержит символ 'А'

s = '5.8'
f = s.isdecimal() # f = False, строка содержит символ '.'

# Случай 2. Пустая строка
s = ''
#f = str.isdecimal(s) # f = False

 

6. Функция str.isdigit(). Проверка цифр в строке

Функция str.isdigit() возвращает True, если выполняются оба следующих условия:

  • все символы строки есть цифрами;
  • строка содержит хотя бы один символ.

В противном случае функция возвращает False.

Цифры это символы:

  • десятичные символы ‘0’‘9’;
  • цифры, требующие специальной обработки. Такие цифры не могут быть использованы для формирования чисел при основе 10. Например, цифры надстрочного индекса совместимости.

В Python цифрами считаются символы со значениями свойств Numeric_Type = Digit или Numeric_Type = Decimal.

Пример.

# Функция str.isdecimal

# Случай 1. Непустая строка
s = '123+'
f = s.isdigit() # f = False

s = '-18'
f = s.isdigit() # f = False

s = '' # пустая строка
f = str.isdigit(s) # f = False

s = '2.8'
f = str.isdigit(s) # f = False

s = '3209'
f = s.isdigit() # f = True

 

7. Функция str.isidentifier(). Определение, есть ли строка идентификатором или ключевым словом

Функция str.isidentifier() возвращает True, если строка есть идентификатором или ключевым словом, которое есть допустимым в соответствии с синтаксисом языка Python.

Пример.

# Функция str.isidentifier()

s = "Hello"
f = s.isidentifier() # f = True

s = "a1"
f = str.isidentifier(s) # f = True

s = "1a"
f = s.isidentifier() # f = False - не идентификатор и не ключевое слово

s = 'for'
f = s.isidentifier() # f = True - ключевое слово

f = 'class'.isidentifier() # f = True - ключевое слово

 

8. Функция str.islower(). Содержит ли строка символы в нижнем регистре

Функция str.islower() возвращает True если выполняются оба условия:

  • все символы строки (за исключением цифровых) находятся в нижнем регистре;
  • строка содержит как минимум один символ.

В противном случае функция возвращает False.

Пример.

# Функция str.islower()

s = "hello"
f = s.islower() # f = True

s = 'Hello'
f = str.islower(s) # f = False

s = '123' # все цифры
f = s.islower() # f = False

s = 'a123' # по меньшей мере одна буква в нижнем регистре
f = s.islower() # f = True

s = 'A123' # одна буква в верхнем регистре
f = s.islower() # f = False

f = '-+;:'.islower() # f = False

 

9. Функция str.isnumeric(). Проверка числовых символов в строке

Функция str.isnumeric() возвращает True, если выполняются оба следующих условия:

  • все символы строки есть числовыми;
  • в строке существует хотя бы один символ.

Числовые символы – это символы, которые включают в себя:

  • цифры ‘0’, ‘1’, …, ‘9’;
  • все символы, имеющие свойство числового значения Unicode.

В языке Python для числовых символов свойство Numeric_Type равно одному из значений:

  • Digit;
  • Decimal;
  • Numeric.

Пример.

# Функция str.isnumeric()

# Случай 1. Пустая строка
s = "" # f = False

# Случай 2. Непустая строка
s = 'abcd'
f = s.isnumeric() # f = False

s = '1234'
f = s.isnumeric() # f = True

s = 'A1'
f = str.isnumeric(s) # f = False

s = '2.5'
f = s.isnumeric() # f = False

f = '-8'.isnumeric() # f = False

 

10. Функция str.isprintable(). Проверка печатаемых символов строки

Функция str.isprintable() возвращает True, если выполняется одно из условий:

  • все символы в строке пригодны для печати;
  • строка пуста.

В противном случае функция возвращает False.

Символы, которые пригодны для печати – это символы, определенные в базе данных символов Unicode как «Другие» или «Разделители», за исключением символа пробел (ASCII-код 0x20).

Пример.

# Функция str.isprintable()

s = '' # пустая строка
f = s.isprintable() # f = True

s = 'abcd ef12'
f = s.isprintable() # f = True

s = '+-;:,.'
f = str.isprintable(s) # f = True

s = '\n\tabcdef'
f = s.isprintable() # f = False, строка содержит '\n', '\t'

 

11. Функция str.isspace(). Определение пробельных символов строки

Функция str.isspace() возвращает True, если выполняются оба следующих условия:

  • в строке есть только пробельные символы;
  • в строке есть по меньшей мере один символ.

В противном случае функция возвращает False.

Пробельные символы, это символы:

  • которые определены в базе данных Unicode как «Другие» или «Разделитель»;
  • которые имеют двунаправленное свойство типа «WS», «B» или «S».

Пример.

# Функция str.isspace()

s = '' # пустая строка
f = s.isspace() # f = False

s = ' ' # символ пробел
f = str.isspace(s) # f = True

s = 'a + b'
f = s.isspace() # f = False

s = '\t' # табуляция
f = s.isspace() # f = True

s = '\n' # символ новой строки
f = str.isspace(s) # f = True

s = '\n\t'
f = s.isspace() # f = True

 

12. Функция str.istitle(). Определение заглавия строки

Функция str.istitle() возвращает True, если выполняются оба условия:

  • строка имеет заголовок;
  • в строке есть хотя бы один символ.

В противном случае функция возвращает False.

Пример.

# Функция str.istitle()

s = 'Title string'
f = s.istitle() # f = False

s = 'T'
f = s.istitle() # f = True

s = ''
f = str.istitle(s) # f = False

s = 'aA'
f = s.istitle() # f = False

s = '+5'
f = s.istitle() # f = False

 

13. Функция str.isupper(). Определение наличия символов в верхнем регистре

Функция str.isupper() возвращает True, если выполняются оба условия:

  • все символы в строке в верхнем регистре (прописные);
  • есть хотя бы один символ в верхнем регистре.

В противном случае функция возвращает False.

Пример.

# Функция str.isupper()

s = 'abcd'
f = s.isupper() # f = False

s = '' # пустая строка
f = s.isupper() # f = False

s = 'Abcd'
f = str.isupper(s) # f = False

s = 'ABCD'
f = s.isupper() # f = True

s = 'A123'
f = s.isupper() # f = True

s = '1Aa23'
f = s.isupper() # f = False

 


Связанные темы