Maya commands come in a very small range of forms. Recognizing the form that a command takes is useful for working with new commands.
The most basic form is simply <command>(<object>)
where is the function you're calling and is the string name of an object you are working with:
cmds.hide('pCube1')
cmds.delete('nurbsCurve8')
Many commands can accept multiple targets. You can pass these individually or as iterables (lists, tuples)
cmds.select("top", "side")
cameras = ['top', 'side']
cmds.select(cams)
You can Python's star *args to pass an iterable object like a generator to a command:
cmds.select(*a_generator_function())
A lot of commands take flags which control their behavior. for example
cmds.ls(type='mesh')
will return a list of meshes, and
cmds.ls(type='nurbsCurve')
returns a list of nurbs curves.
Commands which take flag can use the Python **kwargs syntax, allowing you to create dictionary of flag-value pairs and pass that to the command:
options = {type: 'mesh'}
cmds.ls(**options)
is the same as
cmds.ls(type='mesh')
This can be very useful when assembling a command from a list of options supplied by a user or by script logic