devel:python
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| devel:python [2015/01/07 08:54] – external edit 127.0.0.1 | devel:python [2024/03/01 16:40] (current) – [Qu'est ce que c'est?] boman | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | | ||
| ====== Interface python ====== | ====== Interface python ====== | ||
| Line 6: | Line 5: | ||
| - | Python est un langage interprété (comme le shell unix, matlab, etc) qui ressemble un peu à l' | + | Python est un langage interprété (comme le shell unix, matlab, etc) qui ressemble un peu à l' |
| Pour moi, c'est LA solution idéale pour interfacer un code de calcul avec la ligne de commande. | Pour moi, c'est LA solution idéale pour interfacer un code de calcul avec la ligne de commande. | ||
| - | Pour la petite histoire, Python a été inventé par Guido van Rossum en 1990 (c' | + | Pour la petite histoire, Python a été inventé par Guido van Rossum en 1990 (c' |
| Pour en savoir plus sur ce fabuleux langage (n' | Pour en savoir plus sur ce fabuleux langage (n' | ||
| Line 16: | Line 15: | ||
| * [[http:// | * [[http:// | ||
| * [[http:// | * [[http:// | ||
| - | * [[http:// | ||
| - | * [[http:// | ||
| - | * [[http:// | ||
| ===== Python vs l' | ===== Python vs l' | ||
| Line 39: | Line 35: | ||
| | Licence | payant (pas pour nous mais...) | gratuit - même encore mieux: on peut le revendre! (voir [[http:// | | Licence | payant (pas pour nous mais...) | gratuit - même encore mieux: on peut le revendre! (voir [[http:// | ||
| - | Ajoutons à ca des petits " | + | Ajoutons à ca des petits " |
| - | En fait, tout ce qui peut se faire avec l' | + | En fait, tout ce qui peut se faire avec l' |
| - | Une application très simple de la puissance de Python serait de programmer l' | + | Une application très simple de la puissance de Python serait de programmer l' |
| {{ : | {{ : | ||
| Line 49: | Line 45: | ||
| Parmi les nombreuses choses que nous avions demandé à OE et qui nous sont maintenant accessible, citons (dans le désordre) : | Parmi les nombreuses choses que nous avions demandé à OE et qui nous sont maintenant accessible, citons (dans le désordre) : | ||
| - | * plus de memory leaks venant de l'interpreteur | + | * plus de memory leaks venant de l'interpréteur |
| * les " | * les " | ||
| * arrêt de l' | * arrêt de l' | ||
| * les strings, les vecteurs, les tuples, les dictionnaires, | * les strings, les vecteurs, les tuples, les dictionnaires, | ||
| - | * toutes les commandes | + | * toutes les commandes |
| * le path browser | * le path browser | ||
| * interface directe avec matlab via [[http:// | * interface directe avec matlab via [[http:// | ||
| * interface directe avec GNUplot via [[http:// | * interface directe avec GNUplot via [[http:// | ||
| * interface directe avec Qt via [[http:// | * interface directe avec Qt via [[http:// | ||
| - | * possibilité de s' | + | * possibilité de s' |
| - | * possibilité de distribuer des applications " | + | * possibilité de distribuer des applications " |
| - | * plus de cast bidon lorsqu' | + | * plus de cast bidon lorsqu' |
| - | * gestion automatique des pointeurs '' | + | * gestion automatique des pointeurs '' |
| * ... | * ... | ||
| Line 79: | Line 75: | ||
| - | ===== L' | + | ===== L' |
| - | Python possède une API écrite en C qui permet d' | + | Python possède une API écrite en C qui permet d' |
| - | Cette interface n'est pas simple à écrire parce que l'API Python est complexe. J'etais donc un peu découragé jusqu' | + | Cette interface n'est pas simple à écrire parce que l'API Python est complexe. J'étais |
| - | Swig n'est pas qu'un simple traducteur: il gère également la surcharge des fonctions membres (absentes dans python | + | Swig n'est pas qu'un simple traducteur: il gère également la surcharge des fonctions membres (absentes dans Python |
| - | L' | + | L' |
| - | Lorsqu' | + | Lorsqu' |
| meta(' | meta(' | ||
| Line 104: | Line 100: | ||
| - | Avoir une première interface est très simple. Le premier problème était les cast implicites cachés derrière les '' | + | Avoir une première interface est très simple. Le premier problème était les cast implicites cachés derrière les '' |
| Après ceci, le premier résultat ne ressemblait pas trop à l' | Après ceci, le premier résultat ne ressemblait pas trop à l' | ||
| Line 110: | Line 106: | ||
| loadingset.define(1, | loadingset.define(1, | ||
| - | ce qui est lourd. J'ai donc réussi à " | + | ce qui est lourd. J'ai donc réussi à " |
| Même remarque pour les noms d' | Même remarque pour les noms d' | ||
| Line 121: | Line 117: | ||
| * Autre moyen: regarder ce que j'ai fait dans '' | * Autre moyen: regarder ce que j'ai fait dans '' | ||
| * La syntaxe est extrêmement proche de celle d' | * La syntaxe est extrêmement proche de celle d' | ||
| - | * Je vous conseille aussi de jeter un oeil à Swig. | + | * Je vous conseille aussi de jeter un œil à Swig. |
| * Vous pouvez également regarder l' | * Vous pouvez également regarder l' | ||
| Line 128: | Line 124: | ||
| * charger un fichier : '' | * charger un fichier : '' | ||
| * '' | * '' | ||
| - | * '' | + | * '' |
| * '' | * '' | ||
| * '' | * '' | ||
| * '' | * '' | ||
| - | * tout est objet (même une fonction) | + | * tout est objet (même une fonction). |
| Différences par rapport à l' | Différences par rapport à l' | ||
devel/python.1420617289.txt.gz · Last modified: (external edit)
