Neler olup bittiğini görmek için keşif içinse, IPython'a bakmanızı tavsiye ederim . Bu, bir nesnenin belgelerini, özelliklerini ve hatta kaynak kodunu elde etmek için çeşitli kısayollar ekler. Örneğin, "?" bir işleve nesne için yardım verecektir (etkin bir "yardım (obj)" kısayolu, iki? 's (" func??
" kullanarak wheras varsa kaynak kodunu görüntüler.
Sekme tamamlama, sonuçların güzel yazdırılması, sonuç geçmişi vb. Gibi bu tür keşif programlama için çok kullanışlı hale getiren birçok ek kolaylık da vardır.
İçgözlem daha programlı kullanım için, temel yerleşikleri gibi dir()
, vars()
, getattr
faydalı olacaktır vs, ancak kontrol etmek için zaman harcamaya değer incelemek modülü. Bir işlevin kaynağını getirmek için, " inspect.getsource
" kullanın , örneğin, kendisine uygulama:
>>> print inspect.getsource(inspect.getsource)
def getsource(object):
"""Return the text of the source code for an object.
The argument may be a module, class, method, function, traceback, frame,
or code object. The source code is returned as a single string. An
IOError is raised if the source code cannot be retrieved."""
lines, lnum = getsourcelines(object)
return string.join(lines, '')
inspect.getargspec
işlev parametrelerinin adlarını ve varsayılan değerlerini vereceğinden, işlevleri kaydırma veya değiştirme ile uğraşıyorsanız da yararlıdır.