如何在python中找到有关函数的信息?

时间:2013-02-22 17:05:22

标签: python

我知道在R中你可以输入?“function_name”。你是如何在python中做到这一点的?具体来说,我正在尝试在set_position库中找到有关pyplot的信息。

3 个答案:

答案 0 :(得分:8)

help(function)

应该这样做。

演示:

def func():
    """
    I am a function who doesn't do anything,
    I just sit in your namespace and crowd it up.
    If you call me expecting anything
    I'll just return to you the singleton None
    """
    pass

help(func)

答案 1 :(得分:3)

尝试在ipython中投放,在这种情况下,您可以输入:

In [1]: from matplotlib import pyplot as pl

In [2]: pl.set_position?
Object `pl.set_position` not found.

在这里,您必须使用google来确定set_positionAxes类的方法:

In [3]: pl.Axes.set_position?
Type:       instancemethod
String Form:<unbound method Axes.set_position>
File:       /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axes.py
Definition: pl.Axes.set_position(self, pos, which='both')
Docstring:
Set the axes position with::

  pos = [left, bottom, width, height]

in relative 0,1 coords, or *pos* can be a
:class:`~matplotlib.transforms.Bbox`

There are two position variables: one which is ultimately
used, but which may be modified by :meth:`apply_aspect`, and a
second which is the starting point for :meth:`apply_aspect`.


Optional keyword arguments:
  *which*

    ==========   ====================
    value        description
    ==========   ====================
    'active'     to change the first
    'original'   to change the second
    'both'       to change both
    ==========   ====================

答案 2 :(得分:2)

ipython中它的超级性 - 只需将?(或??附加源代码的扩展信息)添加到相关函数中。

我总是在matplotlib

中以交互方式使用它
In [2]: from matplotlib.axes import Axes

In [3]: Axes.set_position??
Type:       instancemethod
String Form:<unbound method Axes.set_position>
File:       /home/tzelleke/.local/modules/active_python_2.7/lib/python2.7/site-packages/matplotlib/axes.py
Definition: Axes.set_position(self, pos, which='both')
Source:
    def set_position(self, pos, which='both'):
        """
        Set the axes position with::

          pos = [left, bottom, width, height]

        in relative 0,1 coords, or *pos* can be a
        :class:`~matplotlib.transforms.Bbox`

        There are two position variables: one which is ultimately
        used, but which may be modified by :meth:`apply_aspect`, and a
        second which is the starting point for :meth:`apply_aspect`.


        Optional keyword arguments:
          *which*

            ==========   ====================
            value        description
            ==========   ====================
            'active'     to change the first
            'original'   to change the second
            'both'       to change both
            ==========   ====================

        """
        if not isinstance(pos, mtransforms.BboxBase):
            pos = mtransforms.Bbox.from_bounds(*pos)
        if which in ('both', 'active'):
            self._position.set(pos)
        if which in ('both', 'original'):
            self._originalPosition.set(pos)

In [4]: