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 = ";-abJ9" # Всі символи в діапазоні від 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, рядок містить символ 'A'

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

 


Зв’язані теми