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\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuisinstance
可以将第二个参数作为类型的元组,如果第一个参数属于这些类型中的任何一种,则返回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?
...