How to document python function parameter types?
Question: I know that the parameters can be any object but for the documentation it is
quite important to specify what you would expect.

First is how to specify a parameter types like these below?

  * `str` (or use `String` or `string`?)
  * `int`
  * `list`
  * `dict`
  * function()
  * `tuple`
  * object instance of class `MyClass`

Second, how to specify params that can be of multiple types like a function
that can handle a single parameter than can be `int` or `str`?

Please use the below example to demonstrate the syntax needed for documenting
this with your proposed solution. Mind that it is desired to be able to
hyperlink reference to the "Image" class from inside the documentation.

    
    
    def myMethod(self, name, image):
        """
        Does something ...
    
        name String: name of the image
        image Image: instance of Image Class or a string indicating the filename.
    
        Return True if operation succeeded or False.
        """
        return True
    

Note, you are welcome to suggest the usage of any documentation tool (sphinx,
oxygen, ...) as long it is able to deal with the requirements.

## Update:

It seams that there is some kind of support for documenting parameter types in
doxygen in. general. The code below works but adds an annoying $ to the param
name (because it was initially made for php).

    
    
        @param str $arg description
        @param str|int $arg description
    


Answer: There is a better way. We use

    
    
    def my_method(x, y):
        """
        my_method description
    
        @type x: int
        @param x: An integer
    
        @type y: int|string
        @param y: An integer or string
    
        @rtype: string
        @return: Returns a sentence with your variables in it
        """
    
        return "Hello World! %s, %s" % (x,y)
    

That's it. In the PyCharm IDE this helps a lot. It works like a charm ;-)

