是否有一种方法可以检查python中变量的类型是否为字符串,例如:
isinstance(x,int);
对于整数值?
是否有一种方法可以检查python中变量的类型是否为字符串,例如:
isinstance(x,int);
对于整数值?
当前回答
我还想注意,如果你想检查一个变量的类型是否是特定的类型,你可以将变量的类型与一个已知对象的类型进行比较。
对于字符串,你可以使用这个
type(s) == type('')
其他回答
因为在Python3中没有定义basestring,这个小技巧可能有助于使代码兼容:
try: # check whether python knows about 'basestring'
basestring
except NameError: # no, it doesn't (it's Python3); use 'str' instead
basestring=str
之后,您可以在Python2和Python3上运行以下测试
isinstance(myvar, basestring)
如果你不想依赖于外部库,这适用于Python 2.7+和Python 3 (http://ideone.com/uB4Kdc):
# your code goes here
s = ["test"];
#s = "test";
isString = False;
if(isinstance(s, str)):
isString = True;
try:
if(isinstance(s, basestring)):
isString = True;
except NameError:
pass;
if(isString):
print("String");
else:
print("Not String");
我是这样做的:
if type(x) == type(str()):
你可以:
var = 1
if type(var) == int:
print('your variable is an integer')
or:
var2 = 'this is variable #2'
if type(var2) == str:
print('your variable is a string')
else:
print('your variable IS NOT a string')
希望这能有所帮助!
a = '1000' # also tested for 'abc100', 'a100bc', '100abc'
isinstance(a, str) or isinstance(a, unicode)
返回True
type(a) in [str, unicode]
返回True