问题标签 [isinstance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
81 浏览

java - 避免 isInstance 语句

我如何重构这个例子来避免这种我需要在每种数据类型中检查 isInstance 的情况?有什么我可以遵循的模式吗?

0 投票
1 回答
2088 浏览

python - 如何查找/检测 Python AST 中是否使用了内置函数?

eval()目标是检测是否在某些代码中使用了诸如此类的内置函数。

我尝试了以下方法:

函数名称foo作为输出打印。

我知道内置函数没有构造函数。它们在type模块中。因此,一种方法将types.FunctionTypeisinstance通话中使用。

但是因为我使用的是 AST 节点。它们无法转换回代码。如果它们是,我必须检查每个节点types.FunctionType

我得到了这些错误:

我应该如何正确识别代码中是否使用了特定的内置函数?谢谢!

0 投票
1 回答
208 浏览

python - isinstance 在多处理锁上使用时引发 typeError

我在 Python3.4 上使用多处理模块。出于某种原因,我使用 isinstance() 得到以下错误:

而如果我尝试同样的方法,datetime它会起作用

我尝试了什么:

当我查看 Lock 如何在控制台与 datetime 中显示时,我得到以下信息:

但是按照 Lock 的定义表明它确实是一个类。

那么为什么控制台称其为“绑定方法”。如何在 Lock 实例上使用 isinstance()?

0 投票
6 回答
31436 浏览

python - 使用 isinstance 比较 boolean 和 int

有人可以解释一下为什么isinstance()在以下情况下返回 True 吗?在编写代码时,我期望 False。

我的猜测是它的 Python 的内部子类化为零和一——无论是浮点数还是整数——都在用作布尔值时进行评估,但不知道确切的原因。

解决这种情况的最pythonic方法是什么?我可以使用type(),但在大多数情况下,这被认为不那么 Pythonic。

0 投票
1 回答
80 浏览

python - 如何在字典键中捕获整数,其中大多数是字符串,但有些是我需要删除的整数

如何在字典键中捕获整数,其中大多数是字符串,但有些是我需要删除的整数。

我试过这个:

0 投票
2 回答
17983 浏览

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

我有一个 Python 脚本,它读取 .csv 文件并将每个值存储到列表列表中:list[x][y]。我对此没有任何问题。

我想检查这些字段之一,看看它是否是一个数字(整数)。

当我执行 a时,即使值是 100,print type(list[i][0])它也会返回 a 。<type 'str'>

下面的 if 语句在for遍历列表的循环中,所以我想做的是做一个检查:

这可行,但是在 PEP8 中不赞成,所以我应该使用isinstance(),因此我已将其修改为

但是我遇到了尝试将字符串转换为 int 的问题(如果用户输入字符串)。

我该如何克服呢?这似乎是一个简单的问题,但是我是 Python 新手,所以我想知道一种简洁有效的方法来处理这个问题。在将值存储到列表之前,我是否应该检查该值是否为 int?

我正在使用 Python2。

谢谢

编辑:我已经isinstance()围绕一个尝试异常捕获进行了检查,但是我觉得我不应该仅仅为了检查某个东西是否是 int 而求助于这个?只是好奇是否有更简洁的方法来做到这一点。

编辑:我已经使用isdigit了前面提到的但是我得到了负面的结果。

即给定这个数据集。列表[0][0] = 123,列表[1][0] = asdasd

结果:

0 投票
1 回答
87 浏览

python - Python - 识别列表中的无关类型

假设我有一个表示数值矩阵的二维列表(不,我没有为此使用 numPy)。此列表中允许的类型属于numbers.Number类别。假设我希望隔离此列表中的任何非数字值,例如字符串,我能看到的唯一选择是单独检查每个元素并检查它是否不是 numbers.Number 的实例:

我的问题是:是否有另一种方法可以在不查看每个元素的情况下检查整个矩阵?Python 或其库之一是否具有用于识别列表(列表)中无关元素的内置函数?还是应该继续我提供的当前示例?

0 投票
0 回答
159 浏览

python-3.x - 如何读取python3中的特殊字符输入?

在 Python3 中,当我尝试从控制台读取输入 foo(1,?i:int) 时:

它给出了语法错误!它可以接受其他输入,例如 foo(1,2,2),foo('d',0)。

0 投票
5 回答
85474 浏览

python-3.x - 检查numpy数组中的类型

我有不同类型的数据。他们中的大多数是int有时float。大小不同,因此int大小为 8/ 16/ 32 位。
对于这种情况,我正在创建一个数字类型转换器。因此我通过使用检查类型isinstence()。这是因为我读过这isinstance()type().

关键是我得到的很多数据都是 numpy 数组。我使用 spyder 作为 IDE,然后我看到变量也是一种类型。但是当我输入时isinstance(var,'type i read')我得到了False

我做了一些检查:

因为isinstance(var,type)我得到:

c当我问的d时候是真的

我可以通过步骤ndarray检查

但这意味着对于每个维度我都必须添加一个新索引,否则它会False再次出现。我可以检查那里的dtype类型c.dtype == 'float64'...

好吧,对于我找到并尝试过的东西......我的问题基本上是:

  • var.dtype方法与isinstance()type()(最差/更好等)相比如何?
  • 如果没有所有手动索引,是否有一些方法var.dtype更糟糕?(自动索引等)?isinstance()isinstance()
0 投票
0 回答
69 浏览

python - 如何访问非函数的全局变量?Python

如何访问非函数的全局变量?

目前我正在访问globals()然后手动硬编码我知道模块中存在的功能的删除,即

这可以自动完成吗?(假设我不知道变量的类型,除了它们不应该是函数?

如果我要循环globals()并尝试在循环中删除它会很奇怪:

我必须做类似的事情:

有没有更简单的方法来访问非函数的全局变量?


已编辑