Проверка того, из чего состоит строка

Пайтона str тип также имеет целый ряд методов , которые могут быть использованы для оценки содержимого строки. Это str.isalpha , str.isdigit , str.isalnum , str.isspace . Капитализация может быть проверена с str.isupper , str.islower и str.istitle .

str.isalpha

str.isalpha не принимает никаких аргументов и возвращает True , если все символы в данной строке являются буквенными, например:

 >>> "Hello World".isalpha()  # contains a space
False
>>> "Hello2World".isalpha()  # contains a number
False
>>> "HelloWorld!".isalpha()  # contains punctuation
False
>>> "HelloWorld".isalpha()
True

 

В краевой случае пустая строка вычисляет значение False при использовании "".isalpha() .

str.isupper , str.islower , str.istitle

Эти методы проверяют использование заглавных букв в заданной строке.

str.isupper это метод , который возвращает True , если все символы в данной строке в верхнем регистре и False иначе.

 >>> "HeLLO WORLD".isupper()
False
>>> "HELLO WORLD".isupper()
True
>>> "".isupper()
False

 

С другой стороны , str.islower это метод , который возвращает True , если все символы в данной строке в нижнем регистре и False иначе.

 >>> "Hello world".islower()
False
>>> "hello world".islower()
True
>>> "".islower()
False

 

str.istitle возвращает True , если данная строка названия обсаженное; то есть каждое слово начинается с заглавной буквы, за которой следуют строчные буквы.

 >>> "hello world".istitle()
False
>>> "Hello world".istitle()
False
>>> "Hello World".istitle()
True
>>> "".istitle()
False

 
str.isdecimal , str.isdigit , str.isnumeric

str.isdecimal возвращает строка , является ли последовательность десятичных цифр, пригодная для представления десятичного числа.

str.isdigit включает в себя цифру не в форме , подходящей для представления десятичного числа, такие , как надстрочные цифры.

str.isnumeric включает в себя любые числовые значения, даже если не цифры, такие как значения вне диапазона 0-9.

             isdecimal    isdigit   isnumeric

12345        True        True       True
១2߃໔5        True        True       True
①²³🄅₅       False       True       True
⑩⒓          False       False      True
Five         False       False      False

 

Байтовые строки ( bytes в Python 3, str в Python 2), поддерживает только isdigit , который проверяет только основные ASCII цифр.

Как str.isalpha пустая строка вычисляет значение False .

str.isalnum

Это сочетание str.isalpha и str.isnumeric , в частности , он имеет значение True , если все символы в данной строке являются буквенно - цифровыми, то есть они состоят из буквенных или цифровых символов:

 >>> "Hello2World".isalnum()
True
>>> "HelloWorld".isalnum()
True
>>> "2016".isalnum()
True
>>> "Hello World".isalnum()  # contains whitespace
False

 
str.isspace

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

 >>> "\t\r\n".isspace()
True
>>> " ".isspace()
True

 

Иногда строка выглядит «пустой», но мы не знаем, так ли это, потому что она содержит только пробелы или вообще не содержит символов

 >>> "".isspace()
False

 

Чтобы покрыть этот случай нам нужен дополнительный тест

 >>> my_str = ''
>>> my_str.isspace()
False
>>> my_str.isspace() or not my_str
True

 

Но самый короткий путь , чтобы проверить , если строка пуста или содержит только пробельные символы, чтобы использовать strip (без аргументов она удаляет все начальные и конечные пробельные символы)

 >>> not my_str.strip()
True