Apprendre à programmer avec Python 3

Ce contenu est obsolète. Il peut contenir des informations intéressantes mais soyez prudent avec celles-ci.

Vous souhaitez apprendre un langage de programmation ? À partir du début ? Alors bienvenue à vous. :)

Nous allons parler du langage Python, comme l'indique le titre. Aucune connaissance d'un quelconque autre langage de programmation n'est requise. Il est néanmoins conseillé de posséder un ordinateur afin de faciliter votre apprentissage. ;)

Les bases de Python

  1. Présentation

    1. Présentation

    2. Installation

  2. Première approche

    1. Présentation de l'interpréteur

    2. Ecrire son code dans des fichiers

  3. Les variables

    1. Présentation

    2. Les types de données

  4. Conditions et notion de boucles

    1. Les structures conditionnelles

    2. Les opérations logiques

    3. Première boucle

  5. Les fonctions

    1. Les fonctions

    2. La portée des variables

    3. Les fonctions anonymes

  6. Découper son code

    1. Plusieurs fichiers

    2. Des répertoires

  7. TP: Premier du nom

    1. Enoncé

    2. Correction



Ce cours n'est actuellement pas terminé.

Ce cours avait pour but de vous initier et de vous donner les principales bases de Python. Et avec un peu de chance, il y est parvenu. Mais le monde de Python, et celui de la programmation en général, est vaste.

Vous pouvez chercher d'autres cours pour approfondir certaines notions, visiter des forums … Mais surtout : faites des programmes. D'abord simples, vous verrez que vous commencerez à faire des progrès, aussi bien au niveau de votre maitrise de Python, que dans votre façon de penser vos programmes.

Puissiez-vous longtemps arpenter la voix de la programmation.

Remerciements:

  • Dr@zielux, Kje et Smokiev pour leur relecture attentive
  • Karnaj pour son exemple de fonction anonyme
  • Vayel pour son aide

40 commentaires

Je viens de voir sur la page d'accueil que ce tutoriel venait d'être validé.

Ça me surprend dans le sens où j'avais posté une liste conséquente d'erreurs/imprécisions sur le sujet de la beta, et qu'aucune d'entre-elles n'a été prisé en compte : https://zestedesavoir.com/forums/sujet/3304/apprendre-a-programmer-avec-python-3/?page=4#p88462

Le tutoriel n'étant pas encore terminé, sa première publication n'a rien de définitive.

Après avoir relu attentivement ce tutoriel je n'y ai rien vu de bloquant.

Par contre :

  • ZdS souffre toujours de son manque de tutoriels pour débutants complets.
  • En particulier sur Python, qui est une techno extrêmement dynamique en ce moment.
  • Ce tutoriel stagnait depuis des mois sans validation.

J'ai donc pris la décision d'accepter cette première validation (sachant que le tutoriel ne contient pas d'erreur bloquante à mes yeux, même si j'avais quelques remarques à faire pour l'améliorer dans les itérations futures), dans le but de dégripper la rédaction de ce tuto, maximiser les retours sur l'existant et permettre aux auteurs d'améliorer et compléter celui-ci en continu.

Contextuellement, je pense que c'était le choix le plus intelligent à faire.

+12 -0

La 1ere partie du tuto est plutôt sympa, je viens de la lire rapidement. Je la recommanderai à mes camarades débutants en python. Vivement la suite, en espérant avoir du contenu un peu plus avancé :)

+2 -0

Entwanne je te trouve un peu sévère, tu as en effet posté une liste de sujets à discussion, mais c'était le 1er décembre, il n'y a pas eu de message depuis donc ce n'est pas qu'on t'a oublié mais juste qu'on a pas encore eu le temps de regarder. De plus sans encore en parler sur le sujet, certaines remarques ont déjà étés prises en compte mais dans la version bêta pas encore publiée, faut laisser un peu de temps c'est tout. Surtout pour les corrections puisque on rajoute à fur et à mesure des paragraphes dans des chapitres déjà écrit, et on ne pense pas forcément à relire chaque chapitre donc effectivement des fautes passent à travers les mailles mais on les corrige généralement très vite.

Sinon merci pour vos premiers retours :)

J'ai fait ces remarques au moment où le tutoriel était en beta, l'intention n'était donc pas que ce soit corrigé dans la minute, je sais que ça demande du temps, mais avant publication.

Je trouve dommage qu'un cours comportant diverses erreurs relevées passe la validation, même pour les raisons évoquées. Peut-être s'agit-il d'un problème au niveau des betas qui ne sont pas assez mises en avant et ne permettent pas assez de retours, mais je tenais à exposer cet avis, sans aucune sévérité.

Le premier décembre, le tutoriel était déjà validé et programmé pour sa publication en attendant la fin du CdS.

Maintenant, rien n'empêche de proposer des petites corrections en validation au fur et à mesure puisque celles-ci bénéficieront d'un processus plus léger et la validation de délais plus courts. Ça a même été déjà fait une fois entre la validation et la publication de ce tutoriel.

(Encore une raison pour laquelle j'ai opté pour une première publication sans plus attendre : n'étant pas dans un monde parfait dans lequel les auteurs peuvent attendre des mois sans se démotiver ni le site se passer du renouvellement de son contenu, autant suivre la logique release early, release often).

+5 -0

Merci pour vos retours. Une première mise à jour de corrections est en chemin.

@Andr0 et Deathekirl: la suite est en cours de rédaction, ça arrive ;)

@Deathekirl: Des notions plus avancées seront abordées, mais il s'agit avant tout d'un cours d'initiation, dans le but de passer du niveau "novice total" au niveau "je sais me débrouiller". Pour une maitrise plus poussée, je sais qu'il y a deja le cours sur les slicing et ce cours en rédaction.

J'avais abordé Python3 à partir du livre de Gérard Swinnen qui est fort intéressant…

Mais je trouve que votre méthode, présenter un concept à la fois, donne un gain

de clarté évident.

Bravo et merci pour les explications sur les "imports". Je ne l'avais jamais

vu exposé si clairement.

Bonjour, j'ai fortement apprécié ce début de tutoriel, bien que je trouve le T.P. un peu trop simple à mon goût, je pense (et cela ce voit dans l'écriture) que vous regorgez d'imagination alors pourquoi ne pas proposer plus d'exercices ?

De plus je tiens a préciser que je suis encore novice en Python, donc j'ai bien appréhender le côté débutantde ce cours et me tient a votre disposition si vous voulez vérifier auprès de néophytes si cela à du sens ou est facilement compréhensible contrairement a vous qui connaissez déjà le sujet sur le bout des doigts.

Finalement, avez vous fixés des dates pour la suite de ce cours ? Cela permettrait de nous garder en haleine et par la même occasion de vous fixer un objectif.

Salut, Alors pour les dates je laisserai martinqt, mais je peux déjà vous dires que deux nouveaux chapitres sont terminés, celui sur les chaînes de caractère et celui sur les listes (première approche), un autre chapitre leur sera dédié. D'ailleurs, vous pouvez déjà lire les deux chapitres dans la bêta.

bêta

+0 -0

Tout d’abord merci pour vos retours.

Le TP va être complètement refait avec un autre exemple qui servira de fil rouge aux deux TP suivants. Ce sera la prochaine étape après la validation des nouveaux chapitres.

En parlant de nouveaux chapitres, j’avais prévu d’envoyer en validation le chapitre sur les chaines et les deux chapitres des listes en même temps. Le deuxième chapitre consacré aux listes m’a donné plus de fil à retordre que prévu sur la partie concernant le comportement des listes lors d’une copie. Je pense néanmoins en voir le bout et avoir le deuxième chapitre en beta aux alentours du week-end prochain. Comme l'a dit mon voisin du dessus, vous pouvez déjà donner votre avis sur les deux premiers chapitres de la deuxième partie dans la section beta.

@natanx.exe : « plus d’exercices » comme dans « un TP plus long » ou « des exos dans les autres chapitres » ?

Encore merci pour ces retours.

@natanx.exe : « plus d’exercices » comme dans « un TP plus long » ou « des exos dans les autres chapitres » ?

Bah déjà avoir des exos pour chaque notion indépendamment serait cool, de plus avoir un tp plus long pour forcer une vraie réflexion et un vrai début de projet. Le T.P sur le convertisseur degré radian est assez sympa comme défi, mais par exemple j'ai commencé python ya quoi 1 semaine et demi, j'ai divisé votre code par deux. Donc voilà, après si vous voulez parler plus sérieusement je reste joignable a mon mail : natanx[point]exe[at]gmail[point]com ;)

Salut, je ne suis que le correcteur mais je n’ai pas eu de news de martin depuis un moment, et il ne s’est pas connecté depuis novembre. En tout cas, la version en bêta est actuellement la plus récente et comporte 3 chapitres de plus que la version en ligne, mais rien de plus n’a été rédigé depuis.

Bonsoir,

Je peux maintenant reprendre la rédaction de ce tutoriel. Le temps de tout remettre en place d’ici ce week-end.

Désolé pour l’absence imprévue.

PS: A 5h près, le hasard fait bien les choses.

martinqt

Awh, c’est cool ça! :)

Je te proposerais bien de l’aide maaiis … De la part d’une personne souhaitant apprendre avec ce tutoriel .. :D

Bon courage en tout cas ! :)

Bonjour à tous,

J’ai le projet de créer une intelligence artificielle simple en python. Je vous épargne les détails mais j’aurais besoins de transformer une chaine de caractère en NOM de liste et je ne trouve aucun moyen sur internet. Avez-vous une solution?

Merci d’avance.

La première solution je pense serait d’aller réaliser un post sur le Forum pour obtenir des informations à ce sujet.

Si tu le fais, penses peut être à expliquer plus en détails ce que tu souhaites, ce que j’ai cru comprendre, c’est que tu souhaites récupérer une chaîne de caractères afin de créer une variable ayant pour nom de variable le contenu de ta chaîne de caractères, cette future variable étant une liste.

Je sais pas si c’est ça que tu cherches, mais n’hésites pas dans tous les cas à poster sur le Forum plutôt qu’ici.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte