Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Cours Python - Les concepts de base


Sujet :

Python

  1. #1
    Community Manager

    Cours Python - Les concepts de base
    Ce message n'a pas pu être affiché car il comporte des erreurs.
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  2. #2
    Expert confirmé
    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.

    Citation 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 :Sélectionner tout -Visualiser dans une fenêtre à part
    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à.

    Citation 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,
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

###raw>template_hook.ano_emploi###