根据数据执行不同的方法

时间:2019-12-27 14:13:59

标签: python

我试图让我的程序接受一个变量并执行两种方法之一,具体取决于它是string还是int

我从堆栈溢出中获得了以下代码:

x = 1
print(type(x))

但是我该怎么做?

x = 1
if (type(x) == integer):
    doSomeThing()

4 个答案:

答案 0 :(得分:0)

像这样吗?

x=1 #or x='hello'

if type(x)==int:
    doSomething()
elif type(x)==str:
    doSomethingElse()

答案 1 :(得分:0)

您可以通过isinstance()函数检查实例的类型

x = 1
if isinstance(x, (int,)):
    print("x is integer")
else:
    print(f"x is {type(x).__name__}")

答案 2 :(得分:0)

您可以通过内置的python使用isinstace()

x=1 #or x='hello'

if ininstance(x,int):
    doSomething()
elif ininstance(x,str):
    doSomethingElse()

答案 3 :(得分:0)

使用isinstance

x = 42 # 
if isinstance(x, int):
    your_int_method(x)
elif isinstance(x, str):
    your_str_method(x)
else:
    # what's else?
    ...

如果要处理数字形式的字符串(例如“ 42”),则需要JS行为,则可以在isinstance(x, str):范围内添加其他检查。