2010-12-12 14 views
10

क्या कोई फ़ंक्शन आत्मनिरीक्षण करने का कोई तरीका है जिससे कि यह मुझे उन तर्कों पर जानकारी दिखाता है जो तर्क लेते हैं (जैसे तर्कों की संख्या, यदि संभव हो तो टाइप करें, नाम के तर्कों का नाम) और वापसी मूल्य? dir() ऐसा नहीं लगता है जो मैं चाहता हूं। __doc__ स्ट्रिंग में कभी-कभी विधि/फ़ंक्शन तर्क शामिल होते हैं, लेकिन अक्सर नहीं।पायथन में फ़ंक्शन हस्ताक्षर कैसे देखें?

+0

सामान्य तौर पर, प्रलेखन (जरूरी नहीं '__doc__') * है * आपका सर्वश्रेष्ठ दांव। फ़ंक्शन हस्ताक्षर देखने के लिए – delnan

+1

। चरण 1. कोड पढ़ें। चरण 2. खोज। http://stackoverflow.com/questions/2677185/how-read-method-ignature यह पहले से ही कई बार उत्तर दिया गया है। http://stackoverflow.com/questions/3375573/finding-a- कार्यक्षमता-parameters-in-python, भी। –

+1

लिंक की सराहना करते हैं, लेकिन ईमानदारी से मुझे लगता है कि मेरा प्रश्न * अधिक * अधिक संक्षेप में और स्पष्ट रूप से बताया गया है, जिन्हें आपने अग्रेषित किया है। यह कम से कम पैदा हुआ है कि मैंने एक खोज की है और यह खोज के कुछ मिनटों के बाद कुछ भी नहीं बदला है। : \ – mindthief

उत्तर

15

help(the_funcion) आपको वह सारी जानकारी देनी चाहिए।

नमूना:

>>> help(enumerate) 
Help on class enumerate in module __builtin__: 

class enumerate(object) 
| enumerate(iterable[, start]) -> iterator for index, value of iterable 
| 
| Return an enumerate object. iterable must be another object that supports 
| iteration. The enumerate object yields pairs containing a count (from 
| start, which defaults to zero) and a value yielded by the iterable argument 
| enumerate is useful for obtaining an indexed list: 
|  (0, seq[0]), (1, seq[1]), (2, seq[2]), ... 
| 
| Methods defined here: 
| 
| __getattribute__(...) 
|  x.__getattribute__('name') <==> x.name 
| 
| __iter__(...) 
|  x.__iter__() <==> iter(x) 
| 
| next(...) 
|  x.next() -> the next value, or raise StopIteration 
| 
| ---------------------------------------------------------------------- 
| Data and other attributes defined here: 
| 
| __new__ = <built-in method __new__ of type object> 
|  T.__new__(S, ...) -> a new object with type S, a subtype of T 
+4

एक आकर्षण की तरह काम किया, धन्यवाद! संबंधित प्रश्न से यह अन्य समाधान भी काम करता है: 'आयात निरीक्षण प्रिंट (निरीक्षण .getargspec (the_function)) 'लेकिन मदद() बहुत बेहतर है! – mindthief

+0

मैं अब 5+ साल के लिए अजगर के साथ काम कर रहा हूं और मुझे उस बारे में पता नहीं था। बहुत खुबस! –

संबंधित मुद्दे