ถ้านี่เป็นสำหรับการสำรวจเพื่อดูสิ่งที่เกิดขึ้นผมขอแนะนำให้มองหาที่IPython เพิ่มทางลัดต่าง ๆ เพื่อรับเอกสารประกอบวัตถุคุณสมบัติและแม้แต่ซอร์สโค้ด ตัวอย่างเช่นการผนวก "?" ฟังก์ชั่นจะให้ความช่วยเหลือสำหรับวัตถุ (ทางลัดที่มีประสิทธิภาพสำหรับ "ความช่วยเหลือ (obj)" ในกรณีที่ใช้สอง? (" func??
")) จะแสดงซอร์สโค้ดถ้ามันมีอยู่
นอกจากนี้ยังมีสิ่งอำนวยความสะดวกเพิ่มเติมมากมายเช่นการเติมแท็บ, การพิมพ์ผลลัพธ์, ประวัติผลลัพธ์ ฯลฯ ซึ่งทำให้สะดวกมากสำหรับการเขียนโปรแกรมเชิงสำรวจประเภทนี้
สำหรับการใช้งานการเขียนโปรแกรมมากขึ้นของวิปัสสนาที่ builtins พื้นฐานเช่นdir()
, vars()
, getattr
ฯลฯ จะเป็นประโยชน์ แต่มันเป็นอย่างดีคุ้มค่าเวลาของคุณเพื่อตรวจสอบตรวจสอบโมดูล ในการดึงที่มาของฟังก์ชั่นให้ใช้ " inspect.getsource
" เช่นนำไปใช้กับตัวเอง:
>>> 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
นอกจากนี้ยังมีประโยชน์บ่อยถ้าคุณกำลังจัดการกับการตัดหรือจัดการฟังก์ชั่นเนื่องจากมันจะให้ชื่อและค่าเริ่มต้นของพารามิเตอร์ฟังก์ชั่น