isinstance相关内容
我尝试检查一个变量是否是任何类型(int、float、Fraction、十进制等). 我遇到了这个问题及其答案:如何正确使用 python 的 isinstance() 检查变量是否为数字? 但是,我想排除复数,例如 1j. 类 numbers.Real 看起来很完美,但它为 Falsecode>十进制 数字... 来自数字 Real从十进制导入十进制打印(isinstance
..
有人能给我解释一下为什么 isinstance() 在以下情况下返回 True 吗?在编写代码时,我期望 False. print isinstance(True, (float, int))真的 我的猜测是它的 Python 的内部子类化,零和一 - 无论是浮点数还是整数 - 都在用作布尔值时进行评估,但不知道确切的原因. 解决这种情况的最pythonic方法是什么?我可以使用 typ
..
我试图找出不同方法之间的权衡,以确定是否使用对象 obj 可以执行操作 do_stuff().据我了解,有三种方法可以确定这是否可行: #方式1如果是实例(obj,Foo):obj.do_stuff()#方式2如果有属性(obj,'do_stuff'):obj.do_stuff()# 方式 3尝试:obj.do_stuff()除了:print '做别的事' 首选方法是什么(为什么)? 解
..
我正在使用反射来查看附加到类属性的注释是否属于特定类型.目前我正在做: if("javax.validation.Valid".equals(annotation.annotationType().getName())) {...} 这让我觉得有点笨拙,因为它依赖于一个完全限定类名的字符串.如果命名空间在未来发生变化,这可能会导致细微的错误. 我想做: if(Class.forName
..
我想使用isinstance内置函数来判断open(file)的类型. 怎么做? 谢谢!:D 解决方案 在 Python 2.x 中,所有文件对象的类型都是 file: >>>类型(打开('文件.txt'))>>>>>>isinstance(打开('file.txt'),文件)真的>>> 然而,在 Python 3.x 中,普通文件对象的类型为 io.TextIOWra
..
我试图了解 Python 的类型注释是如何工作的(例如 List 和 Dict - not list 或 dict).具体来说,我对 isinstance(list(), List) 的工作原理很感兴趣,以便我可以创建自己的自定义注释. 我看到 List 被定义为: class List(list, MutableSequence[T], extra=list):... 我熟悉metac
..
我有一个Python脚本,该脚本读取.csv文件并将每个值存储到列表列表中:list [x] [y].我对此没有任何问题. list = []我= 0对于阅读器中的行:list.append([])list [i] .append(row [0])...我+ = 1 我想检查以下字段之一,以查看它是否为数字(整数). 当我执行 print type(list [i] [0])时,即使
..
如何确定变量是否是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 我已经看到有关使用
..
我正在尝试从一个文件导入一个类,并检查该类是否在定义该文件的文件中作为该类的实例.问题是,不是从返回 True > isinstance()函数,它返回 False ,因为它是在另一个文件中初始化的. 这是一个可行的示例. 假设您有 file1.py : Foo类:def __init __(self,arg1):self.arg1 = arg1def main(class_obj
..
我正在尝试检查输入是单词还是数字. var = input("var: ") if isinstance(var, str): print "var = word" else: print "var = number" 这是我想出的代码,但不幸的是它不起作用; 我是python和程序设计的新手,所以我不知道很多命令, 任何建议将不胜感激^^ 解决方案 input
..
我对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
..
下面是子类化datetime的示例代码. 由于pass是唯一的子类主体,因此预计将保留datetime的方法'__new__'. 以下代码已在Mac OS 10.12.3上的Python 3.4.2和Arch Linux上的Python 3.6.0上进行了测试.在两种情况下,结果都是相同的. 问题是,当"b"不是MyDatetime的实例,而仅根据参数tz有所不同时,为什么"a"
..
我有一个可能是也可能不是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)
..
class A{ public A(){ System.out.println("in A"); } } public class SampleClass{ public static void main(String[] args) { A a = new A(); System.out.println(A.clas
..
我对C ++相当陌生,我主要使用python.我正在尝试检查存储在我正在处理的对象中的值的变量类型.我记得在Python中有一个命令号isinstance,我可以用它作为条件来运行某些命令,例如如果下一个值是字符串,则执行A,如果它是int则执行B. 有没有一种方法可以快速检查C ++中变量的数据类型? 示例: 在python中,我有一个带有数学运算的数组,每个字符在一个字段中
..
假设 var = ('x', 3) 如何检查变量是否是只有两个元素的元组,第一个是str类型,另一个是python中的int类型? 我们可以只使用一张支票吗? 我想避免这种情况- if isinstance(var, tuple): if isinstance (var[0], str) and (var[1], int): return True ret
..
Python isinstance函数在内部如何工作?我可以做些什么来改变它的结果,例如在类之内定义一个特殊的函数吗?这是我的用例: class Decorator: def __init__(self, decorated): self._decorated = decorated def __call__(self): return se
..
新的typing模块包含几个名称类似"SupportsInt"(-Float,-Bytes等)的对象.可能会阅读该模块的文档页面上的名称和说明,以建议您可以测试对象是否为“支持__int__()"类型.但是,如果您尝试使用isinstance(),它会给出一个响应,使您清楚地知道这不是您要执行的操作: >>> isinstance(5, typing.SupportsInt) (Traceb
..
我尝试检查变量是否是任何类型(int,float,Fraction,Decimal等)的实例. 我遇到了这个问题及其答案:如何正确使用python的isinstance()检查变量是否为数字? 但是,我想排除诸如1j的复数. 类 numbers.Real 看起来很完美,但返回了False用于 Decimal 数字... from numbers Real from decima
..
如何检查对象是否为解决方案 调用函数 collections.namedtuple会为您提供一个新类型,它是tuple的子类(没有其他类),带有一个名为_fields的成员,它是一个元组,其项均为字符串.因此,您可以检查以下每一项: def isnamedtupleinstance(x): t = type(x) b = t.__bases__ if len(b)
..