В данной статье вы узнаете три способа, как проверить является ли переменная строкой в Python.
Введение
Python — это динамически типизированный язык, и переменные типы данных выводятся без явного вмешательства разработчика.
Если бы у нас был код, который требует, чтобы строка работала правильно, но не имел подсказок типа, которые являются необязательными,то как мы можем избежать ошибок, если используемая переменная не является строкой?
В этой статье я объясню, как проверить, является ли переменная строкой в Python, используя функции type, isinstance, а также оператор is.
Разработчики обычно используют type и is, хотя они могут быть ограничены в определенных контекстах, и в этом случае лучше использовать функцию isinstance.
Проверка типа с помощью функции type
Встроенная функция type может использоваться для возврата типа данных объекта. Например, я ожидаю, что возвращаемое значение этой функции будет выполнено.
Давайте инициализируем строковую переменную с парой других нестроковых переменных и протестируем эту функцию:
integer = 42 float = 3.14 # Print results print("The type of string is ", type(string)) print("The type of integer is ", type(number)) print("The type of float is ", type(float))
Вывод программы:
"The type of string is <class 'str'>" "The type of integer is <class 'int'>" "The type of float is <class 'float'>"
Чтобы применить эту логику таким образом, чтобы мы могли изменить поток кода, мы можем сравнить возвращаемое значение функции type с классом str:
user_name = 35 # Checks if variable is a string if (type(user_name)) == str: print("User's name is a string") else: print("User's name is not a string")
Вывод программы:
User's age is not a string
Проверка типа с помощью оператора is
Оператор is в Python является оператором идентификации, то есть он проверяет, указывают ли две сравниваемые переменные на одну и ту же ячейку памяти.
Как и в предыдущем примере, мы сравнили результат функции type с классом str, мы также можем использовать оператор is:
print("User's name is a string") else: print("User's name is not a string")
Вывод программы:
User's name is a string
Проверка типа с помощью функции isinstance
Теперь наиболее отказоустойчивым подходом является функция isinstance. Она принимает два аргумента — переменную, которую мы проверяем, и тип, который мы проверяем.
В нашем случае это будет переменная и класс str.
Давайте создадим пару переменных и проверим их типы:
string = "Hello there!" integer = 42 print("Is string a string?: ", isinstance(string, str)) print("Is integer a string?: ", isinstance(integer, str))
Вывод программы:
"Is string a string?: True" "Is integer a string?: False"
Заключение
Python — это динамически типизированный язык, который вводит множество ошибок, вызванных пользователем. Во многих случаях у нас нет никакой гарантии, что переменная, переданная методу, имеет тот тип, в котором мы ее ожидаем.
В этой статье я рассмотрел три способа, как проверить, является ли переменная строкой в Python: с помощью функций type, isinstance и оператора is.
У вас очень грамотные статьи. Доступно написаны. Буду изучать.
спасибо, надеюсь у вас все получится!