Автор оригинала: Pankaj Kumar.
Иногда мы хотим проверить, является ли аргумент переменной или ввода строка, а затем только выполнять дальнейшие действия. Мы можем использовать функцию iSinstance (), чтобы убедиться, что переменная строка или нет.
Переменная Python строка
Давайте посмотрим на простой пример, чтобы проверить, является ли переменная строка или нет.
i = 5 # not str print(isinstance(i, str)) s = 'abc' # string print(isinstance(s, str))
Выход:
False True
Ввод функции Python – это строка
Если вы посмотрите выше приведенный выше пример, мы создаем переменную, поэтому мы уже знаем его тип. Однако, если мы должны определить функцию для обработки входной строки, то хорошая идея проверить, является ли входной входной строкой или нет.
Скажем, у нас есть функция, определенная как:
def process_string(input_str):
print('Processing', input_str)
Если у нас есть следующий фрагмент кода для выполнения этой функции:
process_string('abc')
process_string(100)
Выход будет:
Processing abc Processing 100
Поскольку у нас нет валидации на месте для аргумента ввода, наша функция тоже обрабатывает не строковые аргументы.
Если мы хотим, чтобы наша функция запускала только свою логику для строкового аргумента, то мы можем добавить проверку проверки, используя функцию IsinStance ().
def process_string(input_str):
if (isinstance(input_str, str)):
print('Processing', input_str)
else:
print('Input Must be String')
Теперь, когда мы называем эту функцию как:
process_string('abc')
process_string(100)
Выход будет:
Processing abc Input Must be String
Мы можем использовать функцию iSinstance () для проверки типа любых переменных или функциональных аргументов.
Ссылка: Isinstance () API DOC