Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查变量是否为正整数的最简洁/简洁的方法,可能的变量类型是任何变量类型,包括布尔值_Python - Fatal编程技术网

Python 检查变量是否为正整数的最简洁/简洁的方法,可能的变量类型是任何变量类型,包括布尔值

Python 检查变量是否为正整数的最简洁/简洁的方法,可能的变量类型是任何变量类型,包括布尔值,python,Python,我试图找出检查变量是否为正整数的最简洁和最有说服力的方法。这就是我到目前为止所尝试的 a = None b = 3.4 c = -1 d = 10 e = -5.7 f = '7' g = [9] h = {7} i = 3j j = r'8' k = True l = False varlist = [a, b, c, d, e, f, g, h, i, j , k, l] for vv in varlist: print( isinstance(vv, int) ) 电流输出

我试图找出检查变量是否为正整数的最简洁和最有说服力的方法。这就是我到目前为止所尝试的

a = None
b = 3.4
c = -1
d = 10
e = -5.7
f = '7'
g = [9]
h = {7}
i = 3j
j = r'8'
k = True
l = False

varlist = [a, b, c, d, e, f, g, h, i, j , k, l]

for vv in varlist:
    print( isinstance(vv, int) )
电流输出

False
False
True
True
False
False
False
False
False
False
True
True
理想输出

False
False
False
True
False
False
False
False
False
False
False
False

如果您只想要
int
对象而不想要子类型:

type(vv) is int and vv > 0:
    do_stuff()

isinstance()和>0
?是否可能重复有问题的打字错误或理想输出?目前,你的
c
为真,而
d
为假?那篇文章中的答案可以将浮点值转换为int。我要找的是告诉我浮点值是无效的input@DavidBuck是的,修复了
type(vv)==type(0)
正确的想法,但是使用
is
来比较类型,它们是语言保证的单例,而
int
是内置的
for vv in varlist:
    print( type(vv) == type(0) and vv > 0 )