2. Les bases pour bien débuter#
Contenus |
Capacités attendues |
Commentaires |
---|---|---|
Constructions élémentaires |
Mettre en évidence un corpus de constructions élémentaires. |
affectation, conditionnelles, boucles bornées, boucles non bornées, appels de fonction. |
Spécification |
Prototyper une fonction. Décrire les préconditions sur les arguments. Décrire des postconditions sur les résultats. |
Des assertions peuvent être utilisées pour garantir des préconditions ou des postconditions. |
Mise au point de programmes |
Utiliser des jeux de tests. |
L’importance de la qualité et du nombre des tests est mise en évidence. Le succès d’un jeu de tests ne garantit pas la correction d’un programme. |
Utilisation de bibliothèques |
Utiliser la documentation d’une bibliothèque. |
Aucune connaissance exhaustive d’une bibliothèque particulière n’est exigible. |
Ce cours est l’occasion de brosser un tableau général de concepts généraux et d’éléments de la syntaxe Python. Pour finir ici, quelques éléments de la philosophie des développeurs Python.
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!