Un zeste de Python

Débuter avec Python

a marqué ce sujet comme résolu.

Bonjour les agrumes !

La bêta a été mise à jour et décante sa pulpe à l’adresse suivante :

J’ai maintenant terminé la relecture de la partie VII. Aller plus loin (et bien sûr corrigé l’erreur remontée par @kayou, merci de l’avoir relevée).

Je m’interroge sur le chapitre Débogage que je ne trouve pas très fluide, donc je voulais savoir si vous aviez des retours à faire dessus.

Aussi, j’ai noté que certaines apostrophes dans des exemples de code faisaient sauter la coloration syntaxique. J’attends de toutes les repérer pour les corriger ensuite (je pense simplement remplacer les 'par des ).

Merci d’avance pour vos commentaires.

Bonsoir,

Ce coup ci je n’ai rien trouvé, alors je vais faire quelques remarques ;)

Effectivement le chapitre débogage en particulier la première partie sur le débogage manuel est moins agréable à lire que les autres chapitre, par contre je ne sais pas comment améliorer cela, le fait de partir d’un programme complet est une bonne chose, mais cela rends les exemples d’utilisation assez long et le fait de ne pas avoir de coloration des sorties du programme rend leurs lecture assez lourde. La coloration des sorties d’erreur apporté par Ipython pourrait réponde en partie sur ce point.

La partie sur Pdb me semble plus intéressante, mais j’aurais mis l’exemple d’utilisation avec Pycharm en début de paragraphe avant d’entrer les détails de fonctionnement du module de débogage.

A coté de cela, plusieurs générateur sont présenté dans la partie sur les boucles, où tu parles aussi des listes en intentions, mais sans faire de liens entres les 2 avec par exemple la difference entre [i*i for i in range(10)] et (i*i for i in range(10)). De même il ne me semble pas avoir vu d’explication sur l’usage de yield.

J’ai un doute sur l’orthographe des Listes en intension ne devrait t’on pas écrire en intention ?

Salut,

Merci pour ton retour. Je vois que tu partages mon avis sur le chapitre du débogage, j’arrive pas à savoir si ça me réjouit ou m’attriste. :D
Pour ce qui est de la coloration j’ai essayé d’en mettre où je pouvais, et il y a peut-être d’autres blocs que je peux passer en mode « python » pour avoir une meilleure coloration de la sortie. Ou alors tu parles de l’utilisation de Pdb en tant que tel par le lecteur ?

Pour ce qui est de PyCharm je préfère garder ça un peu à l’écart parce que ça ne concerne pas tout le monde : c’est une aide en plus pour les personnes qui utilisent cet éditeur, mais je n’ai pas envie que les explications tournent autour de ça.

À propos des générateurs c’est un parti pris. Je me suis posé la question à un moment et j’ai décidé de les garder à l’écart, ça ne me semble pas pertinent pour l’apprentissage du Python.
Et je prends soins de ne pas rentrer dans les détails ni parler de générateurs. Peut-être que certains itérateurs que je présente sont des générateurs, mais c’est pour moi du détail d’implémentation : tout ce qu’il y a à savoir c’est qu’on peut itérer, et que les itérateurs sont consommés.

Je préfère garder l’introduction aux générateurs dans un chapitre de mon cours sur les notions avancées, mais c’est un choix critiquable.
Ça explique aussi que je ne montre pas la syntaxe des générateurs en intension et que je ne présente pas tuple(i*i for i in range(10)) par exemple.

Sinon non je parle bien de l'intension (contraire de l’extension : https://fr.wikipedia.org/wiki/Intension_et_extension) et non de l’intention. Mais ton intention est louable. :)

Merci beaucoup pour ton retour !

Bonjour les agrumes !

La bêta a été mise à jour et décante sa pulpe à l’adresse suivante :

J’ai maintenant terminé la partir VIII. La bibliothèque standard… ou presque !

En effet, il y a quelques chapitres (regex, réseau, concurrence) que je remets à plus tard, pour pouvoir me concentrer sur le reste. Je pense que je les exclurai lors du premier envoi en validation et que je les travaillerai ensuite.

Merci d’avance pour vos commentaires.

Bonjour,

Dans la partie Module operator, il est indiqué

les opérateurs and, or et not sont préfixés de _ afin de ne pas générer un conflit

Mais dans ce cas ca devrait plutôt être suffixés ou postfixés ?.

J’ai pris un peu de temps pour comprendre la phrase :

Les opérateurs [], []= et del [] sont appelés getitem, setitem et delitem.

un petit complément pour dire qu’on les utilise en lien avec un itérable par ex values[] la rendrait moins cryptique (ce n’est pas forcement naturel de voir les crochets comme un opérateur).

Dans la partie Hiérarchie des nombres,

Pour autant, ces types se conformeraient à la hiérarchie présentée au-dessus car ils y feraient référence en utilisant les types abstraits (Number, Complex, Real, Rational, Integral) définis dans le module numbers.

Le terme Integral utilisé par le module numbers peu être étrange pour un francophone, ca serait peut être bien de préciser qu’il désigne les entiers int.

+1 -0

Bonjour les agrumes !

La bêta a été mise à jour et décante sa pulpe à l’adresse suivante :

J’ai enfin terminé de relire et compléter l’ensemble du cours (excepté les chapitres que j’ai exclus pour le moment) et vais donc présenter cette version à la validation.
Je reste bien sûr ouvert à toute relecture, aux retours et corrections que vous pourriez faire.

Merci d’avance pour vos commentaires.

Bonjour, je n’ai pas tout repris je me suis contenté de relire les Annexes que je n’avais pas encore vu.

Dans le Glossaire il doit y avoir une typo à:

assertion

Préicat évalué avec le mot-clé assert qui lève une exception s’il est faux.

Ca doit être Prédicat

Dans la partie sur les Opérateurs simple tu as mis := je pense que je l’aurais mis dans la partie suivante Opérateur d’assignation pour pouvoir le comparer avec l’assignation classique =

De plus dans cette partie ne serait’il pas intéressant d’indiquer la version minimale de Python pour certaines fonctionnalités (ex : :=, async / await, match ... case, …)

La partie Exercices n’est pas indiquée comme étant hors publication, mais elle ne contient que le sommaire des exercices, c’est normal ?

Merci pour la typo, ce sera corrigé.

Pour ce qui est de la partie Exercices c’est bizarre, car elle est bien indiquée comme telle chez moi(« Cette partie n’est pas prête à la publication. En cas de validation, elle ne sera pas publiée. ») et apparaît grisée.

À propos de l’opérateur := je préfère le garder à part, avec les opérateurs qui s’utilisent dans des expressions (au contraire de la famille des =). Mais oui je penserai à ajouter une note à propos des versions.

Merci :)

Aussi, j’ai noté que certaines apostrophes dans des exemples de code faisaient sauter la coloration syntaxique. J’attends de toutes les repérer pour les corriger ensuite (je pense simplement remplacer les 'par des ).

entwanne

Je ne pense pas que ce soit une bonne idée, ça empêche de copier-coller le code pour le tester.

>>> a = ’foo’
  File "<stdin>", line 1
    a = ’foo’
        ^
SyntaxError: invalid character '’' (U+2019)
>>> a = 'foo'
>>> a
'foo'
>>>
+0 -0

Non non, je ne parle pas de ces apostrophes là qui font partie de la syntaxe. Je parle justement de celles dans les résultats.

C’est-à-dire que plutôt que :

>>> print("aujourd'hui")
aujourd'hui

J’écrirais :

>>> print("aujourd'hui")
aujourd’hui

L’apostrophe utilisée dans ce contexte n’est pas importante car ce n’est pas du code, et ça évite de casser la coloration.

J’écrirais :

>>> print("aujourd'hui")
aujourd’hui

entwanne

Il me semble alors qu’il faudrait mettre l’apostrophe typographique dans la chaîne de caractères initiale aussi, pour rester cohérent, non?

+0 -0

Malheureusement ça n’est applicable à tous les exemples, comme :


>>> print('''J'ai dit "salut"''')
J'ai dit "salut"
>>> print("""Une chaîne sur
... plusieurs lignes
... avec des ' et des " dedans""")
Une chaîne sur
plusieurs lignes
avec des ' et des " dedans

(pour lequel il serait peut-être tout de même préférable de laisser comme tel)

Mais surtout les cas où l’apostrophe est dans le texte d’une exception :

>>> 'toto' * 0
''
>>> 'toto' * -10
''
>>> 'toto' * 1.5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'float'

Et là je ne vois pas de soucis à remplacer can't par can’t.

Sinon, remplacer l’en-tête par pycon plutôt que python ? C’est fait pour non ? Seul ce qui est précédé de >>> sera coloré.

Python :

>>> print('''J'ai dit "salut"''')
J'ai dit "salut"
>>> print("""Une chaîne sur
... plusieurs lignes
... avec des ' et des " dedans""")
Une chaîne sur
plusieurs lignes
avec des ' et des " dedans

Pycon :

>>> print('''J'ai dit "salut"''')
J'ai dit "salut"
>>> print("""Une chaîne sur
... plusieurs lignes
... avec des ' et des " dedans""")
Une chaîne sur
plusieurs lignes
avec des ' et des " dedans
+5 -0

Bonjour les agrumes !

La bêta a été mise à jour et décante sa pulpe à l’adresse suivante :

J’ai corrigé les remarques faites depuis la dernière mise à jour, notamment sur les blocs de code pycon.

Merci d’avance pour vos commentaires.

Ce sujet est verrouillé.