The usual convention is a single hyphen for short-form (single-letter) options, and a double hyphen for long-form options:
> python -v
or
> python —-version
It’s good practice to offer both. It should also be possible to set multiple options at once by appending one after another in short form following a single hyphen:
> ls -alR
is the same as
> ls -a -l -R
Long-form options are technically a GNU thing [0] and are not mentioned in the POSIX standard, but they’re conventional enough now that I think it’s good practice to include them in any CLI program.
There are also a number of looser conventions about the meaning of certain short-form options [1].
I wonder if there's a complete list somewhere.