2016-05-12 5 views
1

Ist es möglich zu sehen, wie genau Methoden funktionieren? Zum Beispiel list method count(). Ich habe eine Liste:Python-Details jeder Methode

li = [3, 5, 6, 7, 3, 3, 3] 

Als ich

print li.count(3) 

Die ouptut 4. wird geben, wie ich einen Code sehen können, wo diese Magie passiert? Befehl help (list.count) gibt kurze unzureichende Informationen:

>>> help(list.count) 
Help on method_descriptor: 

count(...) 
    L.count(value) -> integer -- return number of occurrences of value 
+1

'help (list.count)', lesen Sie die [Dokumentation] (https://docs.python.org/2/tutorial/datastructures.html#more-on-lists) oder sehen Sie [die Quelle] (https://github.com/python/cpython/blob/master/Objects/listobject.c#L2173). –

+0

Haben Sie den Quellcode von Google Python ausprobiert? – TigerhawkT3

+0

Ja, ich habe versucht, diesen Code in Google zu finden. Aber es ist mir nicht gelungen. – goodgrief

Antwort

1

meisten builtins sind in C implementiert, so dass Sie nicht in der Lage sein wird, den Code zu sehen. Mit der "Hilfe" -Funktion erhalten Sie jedoch eine ausführliche Hilfe zu allem.

help(li.count) 

Dies gibt Ihnen genügend Informationen, wirklich wissen, welche Dinge, die Sie tun können, was mit Objekt, das Sie Hilfe liefern. Was ich tat, als ich anfing, ist, meine eigenen Funktionen zu schreiben, die die Funktionalität emulieren. Dies gibt Ihnen ein wirklich gutes Verständnis von all den Dingen, die Sie berücksichtigen müssen. Hier ist ein Beispiel dafür, wie eine Zählfunktion aussehen könnte:

def count(crit, iterable): 
    i = 0 
    for item in iterable: 
     if crit == item: 
      i += 1 
    return i 

Als Alternative viele Dinge (wie das tkinter Modul) sind in Python geschrieben und Sie können sie in pythonx.x nachschlagen/Lib/tkinter (ersetze tkinter mit dem Modul, das du dir ansehen willst). Ich hoffe das beantwortet deine Frage gut genug.