#26 Le 26/09/2007, à 13:22
- bipede
Re : [résolu] gadfly & "Apprendre à programmer avec Python" de G. Swinnen
Heu, me serais-je trompé? Tu n'es pas A***** alias Pyrog, l'auteur de EKD? Ton message me fait douter.
Oui tu t'es trompé
Python est objet? Pour java oui car le moindre script sous ce langage ne peut se concevoir hors d'une classe (au moins la classe principale main).
Java a besoin d'une classe main() parce qu'il est fait ainsi... Ce n'est pas le critère déterminant d'un langage objet, d'autant qu'une fois cette classe main() définie, aucune autre définition de classe n'est requise (Mais c'est vrai, java est un langage objet)
Python n'a pas besoin qu'on déclare le moindre objet pour fonctionner, mais quand on fait du python on ne fait que manipuler des objets... Une chaine de caractères est un objet, une liste est un objet, un fichier est un objet etc...
quand on écrit u"chaîne de caractères", on fait de l'objet, car on crée un objet unicode() qu'on peut décoder par sa méthode .decode() pour en faire un objet str() qu'on peut à son tour encoder avec sa méthode .encode() pour refaire un objet unicode().
Python est objet parce que tout ce qui le compose est objet, mais il n'empêche aucunement de coder sous forme procédurale (tout comme java d'ailleurs)...
Si on programme des interfaces graphique à l'aide de python, il est impossible de le faire sans définir la moindre classe, ou alors on n'obtiendra aucun résultat exploitable...
Dernière modification par bipede (Le 26/09/2007, à 13:22)
Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Kubuntu 21.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 20.10 avec /home séparé.
Mon site: Les contributions du bipède
Hors ligne
#27 Le 26/09/2007, à 14:56
- aleph
Re : [résolu] gadfly & "Apprendre à programmer avec Python" de G. Swinnen
Le mot "objet" dans la nomenclature du langage Python ou le mot "objet" dans le paradigme de la programmation dite orientée objet n'ont pas le même sens.
Cela dit, opposer programmation procédurale et programmation orientée objet (poo) est un peu vain. Python permet d'utiliser les deux, tout l'art est de savoir quand il est préférable d'utiliser l'un ou l'autre.
- Pour créer un fichier zip, 10 lignes de code en Python suffisent, la poo est inutile.
- Pour le travail avec des GUI, la poo convient à merveille.
- Python permet de remplacer avantageusement, un de ces millions langage shell (zsh...) pour qui maîtrise déjà Python. Voir par ex
http://www.ibm.com/developerworks/aix/library/au-python/?ca=dgr-lnxw01Python4Unix
- Pour mes bibilothèques mathématique pures, j'utilise plutôt une programmation procédurale, tout simplement parce que sous cette forme elles sont 20 à 50 fois plus rapides que sous une forme oo.
(Je sai pourquoi).
- Le langage lui-même et ses modules d'extension (core libraries) jouent habillement avec ces concepts. Un str ou unicode est conforme à la poo. Les librairies math/cmath sont plutôt procédurales, pour prendre deux exemples simples.
etc, etc etc
#28 Le 26/09/2007, à 20:07
- aleph
Re : [résolu] gadfly & "Apprendre à programmer avec Python" de G. Swinnen
Petite correction.
La création d'un fichier zip se fait bien au moyen de la classe ZipFile du module zipfile. Donc ici, poo.
#29 Le 27/09/2007, à 12:55
- alteo_gange
Re : [résolu] gadfly & "Apprendre à programmer avec Python" de G. Swinnen
Salut!
alteo_gange a écrit :Heu, me serais-je trompé? Tu n'es pas A***** alias Pyrog, l'auteur de EKD? Ton message me fait douter.
Oui tu t'es trompé
Désolé!
Python n'a pas besoin qu'on déclare le moindre objet pour fonctionner, mais quand on fait du python on ne fait que manipuler des objets... Une chaine de caractères est un objet, une liste est un objet, un fichier est un objet etc...
Effectivement. Le fait que les chaînes de caractères soient des objets comportent au moins un grand avantage: l'utilisation de méthodes pour un usage courant.
Le mot "objet" dans la nomenclature du langage Python ou le mot "objet" dans le paradigme de la programmation dite orientée objet n'ont pas le même sens.
Ok.
- Le langage lui-même et ses modules d'extension (core libraries) jouent habillement avec ces concepts. Un str ou unicode est conforme à la poo. Les librairies math/cmath sont plutôt procédurales, pour prendre deux exemples simples.
Oui j'avais vu qu'on ne pouvait pas vraiment éditer le module math. Il doit être semi-compilé pour que les scripts qui s'en servent gagnent en rapidité d'exécution.
- Python permet de remplacer avantageusement, un de ces millions langage shell (zsh...) pour qui maîtrise déjà Python. Voir par ex
http://www.ibm.com/developerworks/aix/library/au-python/?ca=dgr-lnxw01Python4Unix
Ça a l'air bien pratique pour faire des scripts utilisant les exécutables du système d'exploitation.
Il n'y a pas que python qui est bien documenté. La doc d'apache est pas mal non-plus.
Pour activer les scripts à partir du serveur:
http://httpd.apache.org/docs/2.0/howto/cgi.html
Il ne fallait pas compter sur G. Swinnen pour nous guider sur ce coup là (pas plus que sur les nounous du forum ). Il ne cite même pas un nom de serveur.
Hors ligne