2013-02-22 17 views

Odpowiedz

8
help(function) 

powinien załatwić sprawę.

Demo:

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) 
+0

Więc importuję plik Pyplot jako PLT. Chcę dostosować pozycję moich działek. Kiedy wpisuję help (pl.set_position) lub help (ustawienie_pozycji), pojawia się komunikat o błędzie. – lord12

+0

@ lord12 - To dlatego, że 'plt.set_position' nie istnieje ... Musisz przede wszystkim wiedzieć, gdzie znaleźć swoją funkcję. – mgilson

+1

Przyjmowanie propozycji sposobu lepszego napisania ostatniego wiersza docstringu --- http://www.youtube.com/watch?v=XaWU1CmrJNc – mgilson

2

W ipython jego SuperEasy - wystarczy dołączyć ? (lub ?? dla rozszerzonej informacji z kodu źródłowego) do funkcji w pytaniu.

Zawsze używam go podczas pracy interaktywnie w 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]: 
3

Spróbuj uruchomić w ipython, w którym to przypadku można wpisać:

In [1]: from matplotlib import pyplot as pl 

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

Tu trzeba użyć google aby dowiedzieć się, że set_position jest metodą z klasy Axes:

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 
    ========== ==================== 
Powiązane problemy