2010-12-12 36 views
10

Có cách nào để quan sát một hàm để nó hiển thị cho tôi thông tin về các đối số cần (như số lượng arg, nhập nếu có thể, tên đối số nếu được đặt tên) và giá trị trả về? dir() dường như không làm những gì tôi muốn. Chuỗi __doc__ đôi khi bao gồm các đối số phương thức/hàm, nhưng thường thì không.Làm cách nào để xem chữ ký hàm trong Python?

+0

Nói chung, các tài liệu (không nhất thiết phải '__doc__') * là * đặt cược tốt nhất của bạn. – delnan

+1

Để xem chữ ký chức năng. Bước 1. Đọc mã. Bước 2. Tìm kiếm. http://stackoverflow.com/questions/2677185/how-read-method-signature Điều này đã được trả lời ở đây nhiều lần. http://stackoverflow.com/questions/3375573/finding-a-functions-parameters-in-python, cũng vậy. –

+1

Đánh giá cao các liên kết, nhưng thành thật mà nói, tôi nghĩ câu hỏi của tôi là * nhiều * ngắn gọn và rõ ràng hơn sau đó bạn đã chuyển tiếp. Điều này ít nhất được sinh ra trong đó tôi đã làm một tìm kiếm và nó không bật lên bất cứ điều gì sau một vài phút tìm kiếm. : \ – mindthief

Trả lời

15

help(the_funcion) sẽ cung cấp cho bạn tất cả thông tin đó.

mẫu:

>>> 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

Làm việc như một say mê, cảm ơn! Giải pháp khác này từ một câu hỏi liên quan cũng hoạt động: 'kiểm tra nhập in (inspect.getargspec (the_function))' nhưng help() là tốt hơn nhiều! – mindthief

+0

Tôi đã làm việc với python từ 5 năm nay và tôi không biết về điều đó. Tuyệt diệu! –

Các vấn đề liên quan