Python 根据数据执行不同的方法

Python 根据数据执行不同的方法,python,Python,我试图让我的程序接收一个变量并执行两种方法中的一种,这取决于它是字符串还是int 我从堆栈溢出中获得以下代码: x = 1 print(type(x)) 但是我怎么能做这样的事情呢 x = 1 if (type(x) == integer): doSomeThing() 像这样的 x=1 #or x='hello' if type(x)==int: doSomething() elif type(x)==str: doSomethingElse() 您可以通过is

我试图让我的程序接收一个变量并执行两种方法中的一种,这取决于它是
字符串还是
int

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

x = 1
print(type(x))
但是我怎么能做这样的事情呢

x = 1
if (type(x) == integer):
    doSomeThing()
像这样的

x=1 #or x='hello'

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

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

您可以使用python内置的

x=1 #or x='hello'

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


如果您想要类似JS行为的东西,如果您想要处理数字字符串(如“42”),您可以在
isinstance(x,str):
scope下添加额外的检查。

检查的类型
int
不应包装在元组中。另外,您可以使用
x来代替
type(x)。\uuuuu name\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
isinstance
可以将第二个参数作为类型的元组,如果第一个参数属于这些类型中的任何一种,则返回
True
x.\uuuu class\uuuu
将返回类型对象
x.。\uuuuu class\uuuu.\uuuuu name\uuuuu
将返回对象类型的名称。@C.Nivs并执行
help(isinstance)
使用isinstance()检查提供布尔值的数据类型。使用此值运行特定代码。
x=1 #or x='hello'

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