10 Erreurs qui montrent que tu es DEBUTANT en Python

Sdílet
Vložit
  • čas přidán 15. 06. 2024
  • Dans cette vidéo, je te dévoile 10 erreurs courantes souvent commises par les débutants en Python.
    Ces red flags, une fois évités, te permettront d'améliorer considérablement la qualité de ton code.
    Je t'explique chaque astuce en détail, en te montrant comment les contourner pour écrire un code plus propre et plus efficace.
    Si tu veux élever ton niveau en Python abonne-toi pour ne pas manquer les prochaines astuces et partage tes réflexions dans les commentaires 🐍✨ !
    ⏳ Timestamps ⏳
    00:00 | Intro
    00:13 | Tips 1
    01:21 | Tips 2
    01:44 | Tips 3
    02:21 | Tips 4
    03:21 | Tips 5
    04:02 | Tips 6
    04:27 | Tips 7
    05:16 | Tips 8
    05:38 | Tips 9
    06:14 | Tips 10
    07:00 | Outro

Komentáře • 35

  • @eknight1364
    @eknight1364 Před měsícem +6

    Bonjour,
    j'aimerais apporter quelques précisions:
    - zip ne nécessite pas que les itérateurs aient la même taille, il s'arrête en même temps que le plus petit d'entre eux
    - map et filter sont aussi des générateurs tels que présentés et recommandés dans le dernier tip. Le commentaire sur leur syntaxe est dicutable, leur lourdeur vient surtout des lambda.

    • @R.e.n.e
      @R.e.n.e Před měsícem

      En général si tu veux faire un code plus lisible du replace la lambda par une fonction nommé.

  • @user-ff1zn6bs6m
    @user-ff1zn6bs6m Před měsícem +9

    chouette vidéo, je suis plutôt un utilisateur des map, filter et reduce, donc je suis que partiellement d'accord avec ton tips à ce sujet. Je pense que pour la lisibilité ça dépend vraiment du backgroud des gens qui lisent ton code. Au final c'est un peu un tradeoff à trouver entre la lisibilité et la fonctionnalité du code, vu que niveau performances, il n'y a pas (a ma connaissance) de différences notables.
    Un autre tips si tu refais une vidéo du genre, c'est l'accès des clé d'un dictionnaire avec la method get plutôt que avec les crochets. les variables étant mutables en python essayer d'accéder à foo[''a'] retournera une KeyError si cette clé n'existe pas, alors que foo.get('a') retournera None, ou une valeur par défaut prédéfinit.

    • @Frex-is
      @Frex-is Před měsícem

      Tu peux continuer à utilisé des map, je dirais même que je te le recommande car un map va être lazy contrairement à une list comprehension cela va t'éviter potentiellement des problèmes de mémoire. En terme de performance les 2 sont equivalent +/- quelque ms de différence ce qui est négligeable et le trade off en terme de lisibilité est inexistant selon moi

    • @herogpi1
      @herogpi1 Před měsícem

      Je ne suis pas d'accord d'utiliser le "get". C'est la même problematique du code ci-dessous.
      C'est le travail du programmateur de checker si le dictionnaire a la clé avant de la demander si on n'est pas sûr qu'il en a.
      Si on utilise le get, alors il faut tester après le get si la valeur retourné est None.
      C'est-à-dire : C'est mieux faire le check avant ou après ? Pour moi, on fait le check avant
      ```
      def func1(foo):
      try:
      do_stuff(foo["a"])
      except KeyError:
      do_other_stuff(foo)
      def func2(foo):
      if "a" in foo:
      do_stuff(foo["a"])
      else:
      do_other_stuff(foo)
      ```

    • @user-ff1zn6bs6m
      @user-ff1zn6bs6m Před měsícem

      @@Frex-is ah mais je vais pas me gêner d'utiliser des map, l'évaluation lazy en est une des raison. mais pour la lisibilité encore une fois ça dépend du context. En prod, oui biensûrs.

  • @herogpi1
    @herogpi1 Před měsícem +2

    L'utilisation du map, filter, reduce est plutôt liée au à la programmation fonctionelle, c'est un paradigme et dépend énormement du problème qu'on trait.
    Pour les habitués à la programmation structurée, utiliser des "for" est beaucoup plus lisible qu'utiliser des maps ou même des comprehesion des listes, bien que pour qui utilise la programmation fonctionelle, utiliser des maps est plus lisible.

  • @hideyuki_.9739
    @hideyuki_.9739 Před měsícem

    assez instructif merci !

  • @symphognoboa8224
    @symphognoboa8224 Před měsícem

    Bravo !

  • @nelsonbeneche2372
    @nelsonbeneche2372 Před měsícem +1

    merci pour cette videos

  • @longuemire748
    @longuemire748 Před měsícem

    Merci pour cette video.
    Excuse-moi, mais tu aurais des conseils quand on aborde le python comme un langage de script comme sur blender par exemple?

  • @u.tassinari2916
    @u.tassinari2916 Před měsícem

    Il y a un manque de contraste sur le code j'arrive pas à bien lire le code

  • @vfb6265
    @vfb6265 Před měsícem +2

    + le match case depuis la 3.10 :)

    • @MayasNova
      @MayasNova  Před měsícem +1

      Je n'ai pas encore pris l'habitude de l'utiliser car la majorité des clients avec qui je travaille sont encore en 3.8 😄

  • @jettoheller8549
    @jettoheller8549 Před měsícem +8

    Bonjour, je regarde tes vidéos sur mobile et le code n'est pas lisible. Je trouve que ton image prend trop de place.

    • @MayasNova
      @MayasNova  Před měsícem +4

      Hello, merci pour le retour 🙏 je vais essayer de zoomer plus la prochaine fois 👍

    • @nelsonperrin5800
      @nelsonperrin5800 Před měsícem +1

      Le code est parfaitement lisible sur mon ecran (smartphone pas chère).
      Je te conseille de pivoter ton smartphone de 90°. Si c'est toujours illisible c'est que tu regarde la vidéo en 360 ou 480, et à cette qualité même sur un écran 4k de 19' tu pourras pas lire.
      Sinon je suis dac, une tête au format vignette et un léger zoom serait sympas.

    • @jettoheller8549
      @jettoheller8549 Před měsícem

      @@nelsonperrin5800 si tu veux me donner ton écran et tes yeux, alors je devrais y arriver aussi 😀

  • @Wulfhartus
    @Wulfhartus Před měsícem

    Plutôt utile même pour l'agreg de maths !

    • @user-xq2we4ke5t
      @user-xq2we4ke5t Před měsícem

      Il y a de la programmation pour l'agreg de maths ? Et c'est pas plutot Ruby qui est utilisé généralement en maths ?

    • @Wulfhartus
      @Wulfhartus Před měsícem

      @@user-xq2we4ke5t MathLab est très couramment utilisé par les chercheurs mais Python avec SageMath est très facile et puissant pour faire du calcul formel. On fait du python en agreg de maths, et selon ton option, tu fais en plus du SageMath.

    • @Wulfhartus
      @Wulfhartus Před měsícem

      @@user-xq2we4ke5t ​ @user-xq2we4ke5t MathLab est très couramment utilisé par les chercheurs mais Python avec SageMath est très facile et puissant pour faire du calcul formel. On fait du python en agreg de maths, et selon ton option, tu fais en plus du SageMath.
      Dans cette vidéo, j'ai noté l'utilité des classes (qui serviront à implémenter des arbres en récursif), du enumerate, la puissance de la compréhension de liste, et le deepcopy. Ces commandes peuvent servir dans n'importe quel algo de maths.

    • @antocreadev
      @antocreadev Před měsícem

      @@user-xq2we4ke5tnon c’est python.

  • @user-oc1mk4wm8i
    @user-oc1mk4wm8i Před měsícem

    j'aime bien @Mayas 😊

  • @MrDarkislider
    @MrDarkislider Před měsícem

    J'aime beaucoup ces tips mais je n'ai pas du tout compris le 8eme car pour moi il n'y a que le nom de l'attribut qui change en étant précédé par un underscore

    • @MayasNova
      @MayasNova  Před měsícem

      En fait en mettant un underscore au début ça permet de dire que c'est un attribut privé (en quelques sortes). Du coup on utilise pas directement l'attribut quand on fait "good_person.name"

  • @adnaneguettaf5461
    @adnaneguettaf5461 Před měsícem

    Ayant parler de dataclass, j'aurais trouvé utile de parler de pydantic pour aller un peu plus loin dans la validation par exemple

    • @MayasNova
      @MayasNova  Před měsícem +1

      Salut ! Je me suis limité au python natif dans cette vidéo. Mais oui effectivement pour pydantic c'est très intéressant et ça mérite une vidéo complète sur le sujet je pense 😁

  • @daubert4892
    @daubert4892 Před 14 dny

    Je ne suis vraiment pas d'accord avec beaucoup de ces tips. Ce n'est bien sûr que mon humble avis que je ne veux imposer à personne. Je trouve par exemple que les compréhensions de listes sont assez illisibles, c'est beaucoup plus clair d'utiliser une syntaxe très basique avec une boucle et plusieurs lignes. Pareil pour les concaténations de chaines de caractères, mes yeux lisent beaucoup plus facilement des + qui séparent clairement les éléments qu'on veut coller ensemble plutôt que les accolades logées au sein du texte entre guillemets. Et pour tout ce qui concerne les classes et les objets, de toute façon je déteste le paradigme orienté objet, mais quelle horreur, cette logique, cette syntaxe... Vive la programmation procédurale ! Bref, il n'y a vraiment qu'avec les tips 2 et 5 avec lesquels je suis d'accord en fait.

  • @MrHabib57
    @MrHabib57 Před 22 dny

    vidéo intéressante mais trop rapide pour un débutant

  • @tigidou3344
    @tigidou3344 Před měsícem

    11 - Mettre du typage où ce n'est pas utile.

  • @antocreadev
    @antocreadev Před měsícem +1

    Salut, la video est super, merci de contribuer à la communauté française !! Cependant, le code est trop petit il n’est pas lisible

    • @MayasNova
      @MayasNova  Před měsícem

      Hello, merci pour le retour 🙏 J'ai vu un autre commentaire passer qui disait la même chose aussi. Je vais essayer de zoomer plus pour les prochaines 👍

  • @nelsonbeneche2372
    @nelsonbeneche2372 Před měsícem +1

    merci pour cette videos

  • @nelsonbeneche2372
    @nelsonbeneche2372 Před měsícem

    merci pour cette videos