isinstance相关内容

为什么'decimal.Decimal(1)'不是'numbers.Real'的一个实例?

我尝试检查一个变量是否是任何类型(int、float、Fraction、十进制等). 我遇到了这个问题及其答案:如何正确使用 python 的 isinstance() 检查变量是否为数字? 但是,我想排除复数,例如 1j. 类 numbers.Real 看起来很完美,但它为 Falsecode>十进制 数字... 来自数字 Real从十进制导入十进制打印(isinstance ..
发布时间:2022-01-17 09:38:52 Python

使用 isinstance 比较 boolean 和 int

有人能给我解释一下为什么 isinstance() 在以下情况下返回 True 吗?在编写代码时,我期望 False. print isinstance(True, (float, int))真的 我的猜测是它的 Python 的内部子类化,零和一 - 无论是浮点数还是整数 - 都在用作布尔值时进行评估,但不知道确切的原因. 解决这种情况的最pythonic方法是什么?我可以使用 typ ..
发布时间:2022-01-14 14:08:57 Python

python isinstance vs hasattr vs try/except:什么更好?

我试图找出不同方法之间的权衡,以确定是否使用对象 obj 可以执行操作 do_stuff().据我了解,有三种方法可以确定这是否可行: #方式1如果是实例(obj,Foo):obj.do_stuff()#方式2如果有属性(obj,'do_stuff'):obj.do_stuff()# 方式 3尝试:obj.do_stuff()除了:print '做别的事' 首选方法是什么(为什么)? 解 ..
发布时间:2022-01-13 17:59:07 Python

检查注释是否属于特定类型

我正在使用反射来查看附加到类属性的注释是否属于特定类型.目前我正在做: if("javax.validation.Valid".equals(annotation.annotationType().getName())) {...} 这让我觉得有点笨拙,因为它依赖于一个完全限定类名的字符串.如果命名空间在未来发生变化,这可能会导致细微的错误. 我想做: if(Class.forName ..
发布时间:2021-11-10 22:37:11 Java开发

Python打开(文件)的类型是什么

我想使用isinstance内置函数来判断open(file)的类型. 怎么做? 谢谢!:D 解决方案 在 Python 2.x 中,所有文件对象的类型都是 file: >>>类型(打开('文件.txt'))>>>>>>isinstance(打开('file.txt'),文件)真的>>> 然而,在 Python 3.x 中,普通文件对象的类型为 io.TextIOWra ..
发布时间:2021-06-26 19:07:26 Python

isinstance 如何为 List 工作?

我试图了解 Python 的类型注释是如何工作的(例如 List 和 Dict - not list 或 dict).具体来说,我对 isinstance(list(), List) 的工作原理很感兴趣,以便我可以创建自己的自定义注释. 我看到 List 被定义为: class List(list, MutableSequence[T], extra=list):... 我熟悉metac ..
发布时间:2021-06-02 20:33:16 Python

检查Python列表中的项目是否为int/number

我有一个Python脚本,该脚本读取.csv文件并将每个值存储到列表列表中:list [x] [y].我对此没有任何问题. list = []我= 0对于阅读器中的行:list.append([])list [i] .append(row [0])...我+ = 1 我想检查以下字段之一,以查看它是否为数字(整数). 当我执行 print type(list [i] [0])时,即使 ..
发布时间:2021-05-16 19:12:38 Python

确定变量是否为任何类的实例

如何确定变量是否是Python 3中的实例?如果它具有 __ dict __ 属性,我认为它是一个实例. 示例: is_instance_of_any_class(5)#应该返回Falseis_instance_of_any_class([2,3])#应该返回FalseA类:经过a = A()is_instance_of_any_class(a)#应该返回True 我已经看到有关使用 ..
发布时间:2021-05-16 19:09:33 Python

从其他文件导入类时,Python 3 isinstance意外行为?

我正在尝试从一个文件导入一个类,并检查该类是否在定义该文件的文件中作为该类的实例.问题是,不是从返回 True > isinstance()函数,它返回 False ,因为它是在另一个文件中初始化的. 这是一个可行的示例. 假设您有 file1.py : Foo类:def __init __(self,arg1):self.arg1 = arg1def main(class_obj ..
发布时间:2021-04-22 18:54:03 Python

Python:检查变量类型

我对python有疑问. 我有变量a,b,c和d. 我有以下一行: if not isinstance(a, int) or not isinstance(b, int) \ or not isinstance(c, int) or not isinstance(d, int) \ or not isinstance(a, float) or not ..
发布时间:2020-06-26 19:42:46 Python

在fromtimestamp方法中指定参数tz时,为什么datetime的子类不是子类的实例?

下面是子类化datetime的示例代码. 由于pass是唯一的子类主体,因此预计将保留datetime的方法'__new__'. 以下代码已在Mac OS 10.12.3上的Python 3.4.2和Arch Linux上的Python 3.6.0上进行了测试.在两种情况下,结果都是相同的. 问题是,当"b"不是MyDatetime的实例,而仅根据参数tz有所不同时,为什么"a" ..
发布时间:2020-06-26 19:42:43 Python

检测变量是否为sympy类型

我有一个可能是也可能不是sympy类的变量.我想将其转换为浮点数,但是我通常无法做到这一点: $ python Python 2.7.3 (default, Dec 18 2014, 19:10:20) [GCC 4.6.3] on linux2 >>> import sympy >>> x = sympy.sqrt(2) >>> type(x) ..
发布时间:2020-06-26 19:42:40 Python

如何检查C ++中的数据类型?

我对C ++相当陌生,我主要使用python.我正在尝试检查存储在我正在处理的对象中的值的变量类型.我记得在Python中有一个命令号isinstance,我可以用它作为条件来运行某些命令,例如如果下一个值是字符串,则执行A,如果它是int则执行B. 有没有一种方法可以快速检查C ++中变量的数据类型? 示例: 在python中,我有一个带有数学运算的数组,每个字符在一个字段中 ..
发布时间:2020-06-26 19:42:34 C/C++开发

如何检查特定类型的元组或列表?

假设 var = ('x', 3) 如何检查变量是否是只有两个元素的元组,第一个是str类型,另一个是python中的int类型? 我们可以只使用一张支票吗? 我想避免这种情况- if isinstance(var, tuple): if isinstance (var[0], str) and (var[1], int): return True ret ..
发布时间:2020-06-26 19:42:27 Python

与装饰员一起使“实例"工作

Python isinstance函数在内部如何工作?我可以做些什么来改变它的结果,例如在类之内定义一个特殊的函数吗?这是我的用例: class Decorator: def __init__(self, decorated): self._decorated = decorated def __call__(self): return se ..
发布时间:2020-06-26 19:42:23 Python

“协议不能与isinstance()一起使用" - 为什么不?

新的typing模块包含几个名称类似"SupportsInt"(-Float,-Bytes等)的对象.可能会阅读该模块的文档页面上的名称和说明,以建议您可以测试对象是否为“支持__int__()"类型.但是,如果您尝试使用isinstance(),它会给出一个响应,使您清楚地知道这不是您要执行的操作: >>> isinstance(5, typing.SupportsInt) (Traceb ..
发布时间:2020-06-26 19:42:08 Python

为什么'decimal.Decimal(1)'不是'numbers.Real'的实例?

我尝试检查变量是否是任何类型(int,float,Fraction,Decimal等)的实例. 我遇到了这个问题及其答案:如何正确使用python的isinstance()检查变量是否为数字? 但是,我想排除诸如1j的复数. 类 numbers.Real 看起来很完美,但返回了False用于 Decimal 数字... from numbers Real from decima ..
发布时间:2020-06-26 19:42:02 Python

如何检查对象是否是namedtuple的实例?

如何检查对象是否为解决方案 调用函数 collections.namedtuple会为您提供一个新类型,它是tuple的子类(没有其他类),带有一个名为_fields的成员,它是一个元组,其项均为字符串.因此,您可以检查以下每一项: def isnamedtupleinstance(x): t = type(x) b = t.__bases__ if len(b) ..
发布时间:2020-06-26 19:41:59 Python