Python检查变量是否是字符串

时间:2020-02-23 14:42:30  来源:igfitidea点击:

有时我们想检查变量或者输入参数是否为String,然后仅执行进一步的操作。
我们可以使用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()函数来检查任何变量或者函数参数的类型。