Constructs a qubit id of the appropriate type based on args.

This is shorthand for constructing qubit ids of common types:

>>> cirq.q(1) == cirq.LineQubit(1)
>>> cirq.q(1, 2) == cirq.GridQubit(1, 2)
>>> cirq.q("foo") == cirq.NamedQubit("foo")

Note that arguments should be treated as positional only.

*args One or two ints, or a single str, as described above.

cirq.LineQubit if called with one integer arg. cirq.GridQubit if called with two integer args. cirq.NamedQubit if called with one string arg.

ValueError if called with invalid arguments.