alphaomega
alphaomega

Reputation: 187

How to translate JavaScript ('object') into Python?

I am working on converting some JavaScript code into Python.

There is an if condition in the JavaScript that looks something like: if (typeof f === 'object') and then a series of actions are taken if this condition evaluates to true.

In this case f would be something like: f = { 'fields': ["user_id", "date_started", "date_ended"] }

In this case f is a dict, but it might not always be the case.

I know that in JavaScript nearly everything is considered an object. What would be the equivalent constraint to object in Python?

Upvotes: 0

Views: 77

Answers (2)

trincot
trincot

Reputation: 350345

In JavaScript typeof f == 'object' is true when all of the following is not true:

  • f is undefined: there is no equivalent in Python
  • f is a number, bigint or boolean: in Python this is an instance of float or int. As bool is a subclass of int, it is included.
  • f is a string: in Python this is an instance of str
  • f is a symbol: there is no equivalent in Python
  • f is a function: in Python you can use callable to detect this

Caveat: typeof null == 'object' is true, so in Python None should pass the equivalent test.

So this brings us to the following test in Python:

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

Upvotes: 2

Nothehi
Nothehi

Reputation: 703

you can use type method for getting type of variables in python:

if (type(f) is dict)

Actually, js objects in python are dictionaries! you can see more details from this link.

Upvotes: 1

Related Questions