formation pour developpeurs Java - Python - Programmation
Marsh Posté le 02-06-2004 à 14:56:26
C'est pour quelle version de Python ça ? Si c'est pour une version assez récente, il faudra penser à leur montre la sytnaxe staticmethod/classmethod et et property avec get/set pour ne pas trop les depayser
Et un chapitre pour montrer l'usage des iterateurs serait pas mal aussi.
Marsh Posté le 02-06-2004 à 15:01:27
recente (> 2.2)
les staticmethoc/classmethod, je connais pas (je me suis arreté juste avant la 2.2), mais j'en ai pas vu dans Zope. T'as un lien quelque part ?
Les iterateurs, c'est encore avec les generateurs, ou c'est mieux maintenant ?
Marsh Posté le 02-06-2004 à 15:01:41
insiste bien sur le côté for (foreach en fait, pour ne pas voir des i = 0 while i< ...), sur le fait que tout est dictionnaire, sur les petits sucres (lambda et surtout list comprehension)
après pour l'objet, cherche pas comprendre, tu leur fais faire du tout object
pas de constructeur : __init__ ?????
ah oui, j'oubliais : les finaliseurs (__del__) qui sont appelés (pas la peine de fermer les fichiers explicitement, etc
Marsh Posté le 02-06-2004 à 15:03:26
ReplyMarsh Posté le 02-06-2004 à 15:04:32
Taz a écrit : |
je vais etre fin apres pour expliquer qu'un script dans zope, c'est un fichier == une fonction moi
Marsh Posté le 02-06-2004 à 15:05:34
non je veux dire du tout class Foo(object)
Marsh Posté le 02-06-2004 à 15:06:48
Taz a écrit : non je veux dire du tout class Foo(object) |
j'ai jamais utilisé cette notation
tain y'a eu que des petites evolutions depuis que j'ai décroché, mais mise bout a bout ca fait beaucoup quand même
Marsh Posté le 02-06-2004 à 15:09:15
ah ouais, genre t'es resté à la 1.5 ...lis déjà les Changelog de la 2.2 et de la 2.3
après si t'as des questions, je t'attends, je suis très au courant de tout ça
Marsh Posté le 02-06-2004 à 15:10:08
Taz a écrit : ah ouais, genre t'es resté à la 1.5 ... |
non, quand même (pas de +=, les methodes de string uniquement via le module, argh)
Marsh Posté le 02-06-2004 à 15:11:01
Taz a écrit : ah ouais, genre t'es resté à la 1.5 ...lis déjà les Changelog de la 2.2 et de la 2.3 |
bah sinon si t'as le n° de la PEP qui va bien, ca me fera de la lecture.
j'ai laché quand ils ont ajouté le booléen en fait (c'est pas la raison, mais ca situe le moment). Donc tout ce qu'il y a apres, zap.
Marsh Posté le 02-06-2004 à 15:11:19
La principale évolution viens des new style objects ( en heritant de object donc )
Elle permet la definition de staticmethod/classmethod/property getter et setter facilement sans avoir à faire appel aux metaclass
Pour les iterateurs, ils sont toujours créés en passant par yield mais c'est surtout pour insister sur leur usage car ils sont vraiment très pratiques ( notion de foreach indiquée par Taz ) et sont faciles à écrire.
Et bientot, dans Python 2.4, les list-comprehensions vont muter pour nous donner les iterator-comprehension
Marsh Posté le 02-06-2004 à 15:14:11
Au fait, voici une page qui explique les gros changements qu'il y a eu avec l'unification des type en Python : http://www.python.org/2.2.2/descrintro.html
Marsh Posté le 02-06-2004 à 15:37:55
j'ai lu, 1er message mis a jour.
en fait hériter d'object permet "juste" d'avoir accès a la nouvelle api, d'avoir les propriétés, ... j'ai bon ?
Marsh Posté le 02-06-2004 à 15:45:56
http://docs.python.org/whatsnew/whatsnew23.html
oui, et c'est très important. ça unifie aussi le système de typage
attends ce soir, je te mail un Impress
Marsh Posté le 03-06-2004 à 14:51:36
ReplyMarsh Posté le 04-06-2004 à 07:14:21
merde
edit: le mail m'est revenu, j'ai ressayé, idem
Marsh Posté le 02-06-2004 à 14:50:19
Je dois préparer une formation Python pour des developpeurs Java, dans l'optique d'une utilisation avec Zope & ZPT.
J'avais pensé a un truc du genre pour le moment :
1. Présentation générale
2. Changements sytaxique // java
> pas de ;
> affectations
> if / else (pas de switch)
> boucles while & for
> exception
> blocs par indentation
> l'instruction pass
3. Les types de données
> types de bases (string, int, ...)
> quelques methodes de chaines
> liste & tuple
> methodes de liste
> lambda & list comprehension
> dictionnaires
> methodes de dico
4. Les fonctions
> syntaxe (def, ...)
> parametres optionnels
> appel avec parametres nommés
> retour de valeurs multiples
5. Les classes
> exemple
> heritage multiple
> pas d'accesseurs privés / publiques
> __init__ (ptet un mot sur __new__)
> self, equivalent a this, mais explicite
> staticmethod / classmethod
> en java, y'a que staticmethod
> les propertiétés (property)
6. La notion de module
> 1 fichier == 1 module
> +/- equivalent aux packages java
> sous modules, avec l'utilisation de répertoire
Vous voyez des choses qui manquent ?
Message édité par lorill le 02-06-2004 à 15:36:52