Get a function definition/implementation hint similar to the one shown in pycharm.

Cameron Simpson cs at cskk.id.au
Mon Oct 18 17:22:00 EDT 2021


On 18Oct2021 01:43, Hongyi Zhao <hongyi.zhao at gmail.com> wrote:
>I've written the following python code snippet in pycharm:
>```python
>import numpy as np
>from numpy import pi, sin
>
>a = np.array([1], dtype=bool)
>if np.in|vert(a) == ~a:
>    print('ok')
>```
>When putting the point/cursor in the above code snippet at the position denoted by `|`, I would like to see information similar to that provided by `pycharm`, as shown in the following screenshots:
>
>https://user-images.githubusercontent.com/11155854/137619512-674e0eda-7564-4e76-af86-04a194ebeb8e.png
>https://user-images.githubusercontent.com/11155854/137619524-a0b584a3-1627-4612-ab1f-05ec1af67d55.png
>
>But I wonder if there are any other python packages/tools that can help 
>me achieve this goal?

Broadly, you want the "inspect" module, which is part of the stdlib, 
documented here: https://docs.python.org/3/library/inspect.html

It has many functions for extracting information about things, and you 
want the signature() function to get the parameters and type annotations 
of a function.

    def f(a):
        ...

    sig = signature(f)

You also want the function docstring for the help text, which is 
"f.__doc__" in the example above. This is what gets printed by help():

    >>> import numpy as np
    >>> help(np.invert)

It may be that PyCharm has additional information about some libraries 
allowing it to include a reference to the only documentation.

Cheers,
Cameron Simpson <cs at cskk.id.au>


More information about the Python-list mailing list