如何将JavaScript("对象")翻译成Python?



我正在将一些JavaScript代码转换为Python。

JavaScript中有一个if条件,看起来像:CCD_ 1,然后如果该条件评估为真,则采取一系列操作。

在这种情况下,f将类似于:f = { 'fields': ["user_id", "date_started", "date_ended"] }

在这种情况下,fdict,但可能并不总是这样。

我知道在JavaScript中,几乎所有的东西都被认为是一个对象。Python中object的等效约束是什么?

在JavaScript中,当以下所有项均为而非true时,typeof f == 'object'为true:

  • f就是undefined:Python中没有等价物
  • if (typeof f === 'object')0是一个数字、bigint或boolean:在Python中,这是floatint的实例。由于boolint的一个子类,因此它被包括在内
  • f是一个字符串:在Python中,这是str的一个实例
  • f是一个符号:在Python中没有等价的符号
  • f是一个函数:在Python中,您可以使用callable来检测

注意:typeof null == 'object'为true,因此在Python中None应该通过等效测试。

因此,这就引出了以下Python测试:

if not (callable(f) or isinstance(f, (int, float, str))):
# it is an "object"

您可以使用type方法来获取python中的变量类型:

if (type(f) is dict)

实际上,python中的js对象就是字典!你可以从这个链接看到更多的细节。

最新更新