2012-06-06 17 views
7

Jak uzyskać podpis wbudowanych metod? . Przykład: dict() get (k)Uzyskaj wbudowaną sygnaturę metody - Python

>> a = dict().get 
>> a 
<built-in method get of dict object at 0x1003aafd0> 
>> a.__doc__ 
'D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.' 
>> import inspect 
>> inspect.getargspec(a) 
TypeError: <built-in method get of dict object at 0x100377250> is not a Python function 

chciałbym zobaczyć wynik podobny do tego

>> a.some_function() 
('key', 'default'=None) 
+0

możliwy duplikat [Jak uzyskać listę argumentów wbudowanego konstruktora klasy Python?] (Http://stackoverflow.com/questions/7628081/how-to-get-arguments-list-of-a-iltilt -in-python-class-constructor) – ChristopheD

+0

Powiązane: http://bugs.python.org/issue1748064 Krótkie podsumowanie: w tej chwili nie można (w CPython). – ChristopheD

Odpowiedz

4

I nie sądzę, jest to możliwe dla wbudowanych funkcji w Pythonie zaimplementowane w C. Zobacz dyskusję o błędzie this w celu uzyskania dalszych szczegółów.

Powiązane problemy