2010-10-28 5 views
2

Je cherche des pages de référence pour Python similaires à la documentation de PHP.net. c'est-à-dire, quelque chose qui fournit une liste claire et simple de toutes les classes et méthodes dans un module que je peux cliquer pour obtenir plus d'informations, telles que les arguments. Avoir des descriptions en dessous de chaque classe/méthode rend plus difficile de trouver ce que vous cherchez.Facile à naviguer en ligne Manuel de référence Python?

+11

La documentation en ligne de PHP est assez horrible. –

+4

Je ne vois pas ce qui craint à ce sujet et vraiment doc php ne sont pas mieux du tout? http://docs.python.org/library/datetime.html#datetime.time – dcolish

+0

@Ignacio: C'est ce que je pensais. Mon PHP est rouillé mais je l'ai beaucoup utilisé cette semaine, donc je devais compter sur PHP.net et je n'ai pas été impressionné. Je trouve mes livres Python meilleurs que mes livres PHP mais c'est probablement dû à un mauvais choix de livres PHP! – winwaed

Répondre

1
>>> import datetime 
>>> help(datetime.time) 
3

premières lignes du haut-docs semblent bien me:

from datetime import time 
help(time) 

Prints:

class time(__builtin__.object) 
| time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object 
| 
| All arguments are optional. tzinfo may be None, or an instance of 
| a tzinfo subclass. The remaining arguments may be ints or longs. 
+0

Eh bien, c'est clair et agréable ... Je préfère avoir un site Web à utiliser la ligne de commande chaque fois que je veux regarder quelque chose cependant. Surtout si je ne connais pas le nom de ce que je cherche exactement. – mpen

+1

@Mark: utilisez votre énergie pour suggérer des moyens de rendre la documentation en ligne meilleure. Comment l'organiseriez-vous? – bernie

+4

J'ai suggéré un moyen. J'ai dit que je voulais une simple liste de méthodes sans les descriptions confuses. Je les mettrais dans une barre latérale à gauche ou à droite de la page. Chaque page serait dédiée à la seule méthode * one *, et elle énumérerait clairement ses arguments en haut, avec leurs valeurs par défaut. Je leur ferais des ancres cliquables qui donneraient plus d'infos. Je mettrais des exemples ci-dessous, puis les commentaires des utilisateurs au bas de la page. J'aurais une fonction de recherche qui vous mènera directement à la méthode. – mpen

3

Personnellement, je trouve ces deux techniques utiles:

  1. Importez le module datetime et puis en faisant help(datetime.time). La sortie est beaucoup mieux et donne surtout ce dont vous avez besoin.

  2. En utilisant la référence effbot's. Vous pouvez consulter le datetime un here. J'ai généralement Google Effbot <module> pour une brève description du module et un exemple de travail. Très utile dans les temps.

Plus précisément, this est ce dont je parle.

+2

effbot est exactement à l'opposé de ce que je veux .. Je suis à la recherche d'un manuel de référence, pas plus de tutoriels. 'help' fonctionne bien, mais ... je n'aime pas avoir à entrer dans la ligne de commande, à importer un module, puis à 'help' au hasard jusqu'à ce que je trouve ce que je cherche. – mpen

+0

Aah ok, désolé ne pourrait pas être d'une grande aide, mais je cherche habituellement le site Web d'effbot pour obtenir quelque chose rapidement sans entrer dans les détails minutieux. En outre, des exemples vous aident parfois à comprendre la documentation. Mais c'est ce que je ressens! – user225312

+0

Les exemples simples sont géniaux si c'est ce que vous cherchez, mais pas si tout ce que vous voulez savoir, ce sont les arguments. Intellisense en Python ne fonctionne pas très bien: \ – mpen

2

Le manuel de référence en ligne standard has a search function fonctionne raisonnablement bien. La recherche de datetime liée à ci-dessus fournit une liste qui inclut le contenu du module datetime, les méthodes/propriétés de la classe datetime, plusieurs références à datetime d'ailleurs dans la bibliothèque et un tas de références d'API C. Si vous cherchez un , le manuel de référence suppose dans une certaine mesure que vous sachiez ce que vous cherchez.

Il semble que vous vouliez peut-être afficher une liste de méthodes/propriétés pour la classe dans la navigation de gauche? Si c'est le cas, il pourrait être utile d'en faire la demande aux docs pour voir si quelque chose pourrait être changé.

+3

Oui ... ce serait merveilleux s'ils avaient une liste de méthodes et propriétés sur le côté gauche. Sinon, je me retrouve à parcourir une longue page en essayant de trouver ce que je veux, et avec les descriptions mélangées, il est facile de sauter ce que je cherchais. La recherche semble décente .. Je suppose qu'il est regrettable que le premier lien pour "datetime.time" est une méthode qui * ne * crée pas un temps basé sur les entrées (en fait .. Je ne suis toujours pas sûr de ce qu'il fait. "même heure, minute, seconde" .. comme quoi? est-ce que 'now()'?) – mpen

+1

@Mark: "même heure, minute, seconde" ... que l'objet 'datetime' sur lequel vous êtes invoquant 'time()'. – bstpierre

3

Vous pouvez essayer

python -m pydoc -p 8000 

vont alors http://localhost:8000

Probablement toujours pas ce que vous cherchez, mais il est une autre option.

+0

S'il affichait les arguments et cachait les méthodes '__eq__', ce serait moitié décent. Au moins, c'est concis. – mpen

1

Peut-être que quelqu'un doit simplement utiliser les iframes (ou des cadres réels) pour les mettre ensemble:

http://docs.python.org/library ./reference

vous prenez peut-être une heure avec BeautifulSoup, re et urllib2.

J'ai trouvé Ctrl-f appliqué à ./library fonctionne bien.

1

facile à naviguer manuel de référence python:

Aller à l'évidence lieu - Manuel bibliothèque Python, le module datetime (?): http://docs.python.org/library/datetime.html

Dans la table des matières dans le panneau à gauche , notez "8.1.5 Objets temporels". Clique sur le lien.

Lire le haut de la page:

classe datetime.time (heure [, minute [, deuxième [, microseconde [, tzinfo]]]])

Mise à jour OK, donc nous voulons "utcoffset" et ce n'est pas en haut de la page. Essayez ceci dans votre navigateur: <Ctrl-F>, tapez "utcoffset" (sans les guillemets), <Enter>

Alternative: (peut être disponible que sous Windows et Linux) - une version CHM de la documentation est fourni avec les distributions de Windows Python et J'ai entendu dire qu'il peut aussi être utilisé sur Linux. Démarrez-le, cliquez sur Index, tapez "utcoffset" (sans les guillemets), <Enter> et il affichera trois options - c'est une méthode de datetime. (Datetime | time | tzinfo)

+0

Oui..et c'est ce que j'ai fait (Ctrl + F), mais il ne semble pas que ce soit nécessaire. Aussi "datetime.time" a 20 résultats. 20! Ce n'est guère efficace. – mpen

3

@Mark - pour certains raison pour laquelle je ne peux pas poster de commentaires.

Je suis entièrement d'accord avec vous. J'ai codé en PHP pendant des années, et leur documentation est la meilleure que j'ai trouvée - Java est dans la même veine mais un peu plus compliqué à voir.

Je veux voir la même chose que vous - une liste scannable de fonctions et de méthodes, d'arguments plus les types, les valeurs par défaut et si elles sont facultatives et les types de retour.

Ce n'est pas sorcier. Honnêtement, je ne sais pas comment les gens font quelque chose rapidement en Python jusqu'à ce qu'ils le sachent. C'est ridicule de devoir utiliser Google au lieu d'utiliser le propre système de documentation de la langue.

L'ensemble de la configuration de docs python est ciblé sur les personnes qui savent déjà ce qu'ils recherchent, qu'il s'agisse du site web Python docs ou de pydoc lui-même. Et oublie d'ouvrir un shell python chaque fois que je veux faire quelque chose et utiliser 'help'. Sérieusement? Utilisez CTRL-F sur la page? Je ne sais pas précisément ce que je cherche.

Si je connaissais la classe d'une méthode, ou le nom spécifique de la méthode ou de la fonction que je recherche, les docs pourraient être presque utilisables, bien que toujours lents et désagréables. Mais quand je ne sais pas si je cherche join ou implode ou quoi que ce soit, c'est à peu près inutile.

Un cas d'espèce - J'essaie de trouver rapidement comment travailler avec et élever un OSError. Les docs mentionnent laborieusement dans une description textuelle qu'il existe un attribut errno. Où le constructeur est-il documenté? Pas sur the exceptions page. Pas lié à. Aucune idée des arguments qu'il faut prendre. Impossible de trouver facilement les méthodes ou les attributs. Je devrais voir des puces et du code pertinent dans une liste facilement scannable. Quelle perte de temps. Dommage car j'aime la langue. PS - donc ma réponse est pour quelqu'un de créer des docs python dans le style de PHP.

==== ==== MISE À JOUR

C'est exactement ce que je cherchais: Epydoc.WTF m'a-t-il fallu 2 jours de googling pour le trouver?

+0

Mes sentiments exactement. Je suis en train de créer de tels documents ... mais ça pourrait être un moment. Je travaille sur ces choses sporadiquement quand je trouve du temps et de la motivation. – mpen

+0

@Mark - Je pense avoir trouvé la réponse. Il a juste besoin d'un moteur de recherche facile à utiliser et il sera parfait. – BartD

+0

Pas mal ... pourrait être un peu mieux je pense. – mpen

Questions connexes