Developpez.com - Rubrique Python

Le Club des Développeurs et IT Pro

Cours Python - Apprendre les concepts de base du langage Python

Un tutoriel de Gilles Chagnon

Le 2020-11-15 00:17:44, par Malick, Community Manager
Chers membres du club,

J'ai le plaisir de vous présenter ce tutoriel de Gilles Chagnon :

Cours Python - Les concepts de base
Ce cours a été initialement présenté à des étudiants de licence Projet Web de l'Université Pierre-et-Marie-Curie. Il présenta la syntaxe de base de Python, ainsi que l'utilisation de la bibliothèque PyQt.

Bonne lecture

Retrouvez Les meilleurs cours et tutoriels pour apprendre Python .
  Discussion forum
1 commentaire
  • fred1599
    Expert éminent
    Bonjour,

    Merci pour le tutoriel (beaucoup de boulot), mais tant qu'à faire, si on veut juste les bases du langage, alors il faut y rester, et ne pas s'aventurer trop loin.

    Dans ce tutoriel on parle de POO et c'est un thème à part, chaque langage étant plus ou moins OO.

    En lisant en diagonale l'index, je vois Encapsulation, et là je me dis, comment cela va-t-il être expliqué ? Eh bien comme prévu, c'est à dire comme un développeur Java ou C++, et c'est une erreur. Si on ne se limite qu'aux variables privées concernant ce thème, Python ne permet pas d'interdire l'accès à une variable privée depuis l'extérieur d'une classe.

    Envoyé par documentation
    “Private” instance variables that cannot be accessed except from inside an object don’t exist in Python.
    Source: https://docs.python.org/3.8/tutorial...vate-variables

    Démonstration:

    Code :
    1
    2
    3
    4
    5
    6
    7
    class A:
        def __init__(self):
             self.__private = 5
    
    
    a = A()
    print(a.__dict__["_A__private"])  # 5
    En python, renseigner les underscores devant un nom de variable n'a pas le même effet que pour du Java et du C++ par exemple, ça permettra de donner une information/indication sur son traitement et ça en reste là.

    Envoyé par cours python
    L'encapsulation consiste à masquer certaines propriétés afin qu'elles ne soient plus directement accessibles depuis l'extérieur de l'objet.
    Wep pour l'encapsulation, et même si je ne parle pas de Python, dans l'exemple de code donné, quel est l'intérêt de vouloir cacher, si avec des getters/setters on peut y accéder et modifier les valeurs de chaque variable privée ?
    En Python ce n'est absolument pas naturel, et on laisse la liberté aux développeurs de gérer comme bon lui semble la manière dont le client utilisera l'application développée.
    Je suis d'accord sur le fait que l'encapsulation a un but mais elle ne doit pas être mal utilisée et en Python elle y est quasiment à tous les coups.

    Bonne journée,