47 votes

Qu'auriez-vous aimé savoir lorsque vous avez commencé à apprendre Python ?

J'ai décidé d'apprendre Python 3. Pour ceux qui l'ont déjà fait, qu'est-ce qui vous a été le plus utile en cours de route et que vous auriez aimé connaître plus tôt ?

57voto

Alex Martelli Points 330805

J'ai appris Python avant la sortie de la version 1.5.2, donc les choses qui étaient essentielles pour moi à l'époque ne le sont peut-être plus aujourd'hui.

Ceci étant dit, une chose cruciale que j'ai mis un peu de temps à réaliser, mais que je considère maintenant comme cruciale : beaucoup de fonctionnalités que d'autres langages rendraient intrinsèques sont en fait rendues disponibles par la bibliothèque standard et les modules intégrés.

Le langage lui-même est petit et simple, mais tant que vous n'êtes pas familiarisé avec les modules intégrés et les "parties principales" de la bibliothèque standard (par exemple, aujourd'hui, sys , itertools , collections , copy ...), vous réinventerez sans cesse la roue. Par conséquent, plus vous consacrerez de temps à vous familiariser avec ces éléments, plus vous progresserez en douceur. Chaque fois que vous avez une tâche à effectuer, qui ne semble pas être directement prise en charge par le langage, demandez-vous d'abord : quels modules intégrés ou modules dans la bibliothèque standard rendront la tâche beaucoup plus simple, ou même la feront entièrement à ma place ? Parfois, il n'y en aura pas, mais le plus souvent, vous trouverez d'excellentes solutions en procédant de la sorte.

33voto

Alexandru Points 3999
  1. J'aurais préféré ne pas connaître Java.
  2. Plus de programmation fonctionnelle. (voir le module itertools, la compréhension de liste, map(), reduce() ou filter())

28voto

Paul Tarjan Points 13754

Compréhension de listes (établit une liste proprement) :

[x for x in y if x > z]

Expansion du générateur (identique à la compréhension de liste, mais qui n'est évaluée qu'au moment de son utilisation) :

(x for x in y if x > z)

25voto

S.Lott Points 207588

Deux choses qui font mal au cerveau. L'une d'entre elles ne s'applique pas à Python 3.

a = 095

Ne fonctionne pas. Pourquoi ? Le zéro initial est un littéral octal. Le 9 n'est pas valide dans un littéral octal.

def foo( bar=[] ):
    bar.append( 1 )
    return bar

Ne fonctionne pas. Pourquoi ? L'objet mutable par défaut est réutilisé.

20voto

Robert Rossney Points 43767
  • Ce qu'il faut faire enumerate est destiné à.
  • Cela seq = seq.append(item) y seq = seq.sort() les deux ensembles seq a None .
  • Utilisation set pour supprimer les doublons.
  • Presque tout ce qui se trouve dans la itertools y collections modules.
  • Comment la * y ** les préfixes pour les arguments des fonctions fonctionnent.
  • Comment les arguments par défaut des fonctions fonctionnent en interne (c.-à-d. ce que l'on entend par f.func_defaults est).
  • Comment (pourquoi, en fait) concevoir les fonctions de manière à ce qu'elles soient utiles en conjonction avec map y zip .
  • Le rôle des __dict__ dans les classes.
  • Ce qu'il faut faire import le fait.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X