J'aimerais faire un array de classes, a la delphi, pour stocker plusieurs variables / classes.
Si j'arrive bien a en creer et a ajouter, je n'arrive pas par contre a effacer...
[zip]
Il y a pas plus simple ? a la delphi ?
[zip]
mobj(2).delete (on efface le 2eme de la liste)
del arr[2] # Ca efface le 3ème (index zéro-basés)
mobj.clear (on vide toute la liste)...
del arr[:]
Ou en créant une nouvelle liste:
arr = []
La création d'une nouvelle liste peut être problématique si tu as importé ton 'arr' dans un autre module (car ça crée un nouvel objet dans le module courant... qui deviens indépendant de celui de l'autre module). Cf http://wikipython.flibuste.net/moin.py/QuestionsGenerales
bref vous voyez ce que je veux dire ... car la ca fait 1 heure que je cherche sur google, je dois pas chercher comme il faut :(
Sûrement :-)
Hello,
J'arrive de delphi et j'ai une question ...
J'aimerais faire un array de classes, a la delphi, pour stocker plusieurs
variables / classes.
Si j'arrive bien a en creer et a ajouter, je n'arrive pas par contre a
effacer...
[zip]
Il y a pas plus simple ? a la delphi ?
[zip]
mobj(2).delete (on efface le 2eme de la liste)
del arr[2] # Ca efface le 3ème (index zéro-basés)
mobj.clear (on vide toute la liste)...
del arr[:]
Ou en créant une nouvelle liste:
arr = []
La création d'une nouvelle liste peut être problématique si tu as
importé ton 'arr' dans un autre module (car ça crée un nouvel objet dans
le module courant... qui deviens indépendant de celui de l'autre module).
Cf http://wikipython.flibuste.net/moin.py/QuestionsGenerales
bref vous voyez ce que je veux dire ... car la ca fait 1 heure que je
cherche sur google, je dois pas chercher comme il faut :(
J'aimerais faire un array de classes, a la delphi, pour stocker plusieurs variables / classes.
Si j'arrive bien a en creer et a ajouter, je n'arrive pas par contre a effacer...
[zip]
Il y a pas plus simple ? a la delphi ?
[zip]
mobj(2).delete (on efface le 2eme de la liste)
del arr[2] # Ca efface le 3ème (index zéro-basés)
mobj.clear (on vide toute la liste)...
del arr[:]
Ou en créant une nouvelle liste:
arr = []
La création d'une nouvelle liste peut être problématique si tu as importé ton 'arr' dans un autre module (car ça crée un nouvel objet dans le module courant... qui deviens indépendant de celui de l'autre module). Cf http://wikipython.flibuste.net/moin.py/QuestionsGenerales
bref vous voyez ce que je veux dire ... car la ca fait 1 heure que je cherche sur google, je dois pas chercher comme il faut :(
Sûrement :-)
ian
Ok merci j'ai pu effacer...
Est-ce que tu connais un site qui detaille ca ? la facon propre de creer, d'utiliser etcetc
Par exemple pour connaitre le nombre d'elements dans une liste ...
j'ai donc fait ca (pour test) :
class trial: tmp=0 def func(self,x): self.tmp=x
arr=[] for i in range(0,5): inst=trial() arr.append(inst) arr[i].func(i)
del arr[2]
for i in range(0,5): print 'arr[%d].tmp = %d'%(i,arr[i].tmp)
evidemment ca plante vu que j'en ai efface 1...
Merci encore (reponse rapide :p)
Ok merci j'ai pu effacer...
Est-ce que tu connais un site qui detaille ca ? la facon propre de creer,
d'utiliser etcetc
Par exemple pour connaitre le nombre d'elements dans une liste ...
j'ai donc fait ca (pour test) :
class trial:
tmp=0
def func(self,x):
self.tmp=x
arr=[]
for i in range(0,5):
inst=trial()
arr.append(inst)
arr[i].func(i)
del arr[2]
for i in range(0,5):
print 'arr[%d].tmp = %d'%(i,arr[i].tmp)
Est-ce que tu connais un site qui detaille ca ? la facon propre de creer, d'utiliser etcetc
Par exemple pour connaitre le nombre d'elements dans une liste ...
j'ai donc fait ca (pour test) :
class trial: tmp=0 def func(self,x): self.tmp=x
arr=[] for i in range(0,5): inst=trial() arr.append(inst) arr[i].func(i)
del arr[2]
for i in range(0,5): print 'arr[%d].tmp = %d'%(i,arr[i].tmp)
for i in range(len(arr))
ou encore mieux for i in arr
ou for i, a in enumerate(arr)
evidemment ca plante vu que j'en ai efface 1...
Merci encore (reponse rapide :p)
-- William Dodé - http://flibuste.net
Laurent Pointal
Ok merci j'ai pu effacer...
Est-ce que tu connais un site qui detaille ca ? la facon propre de creer, d'utiliser etcetc
Pour qq chose de verbeux, y'a les docs Python, les intros, etc. http://www.python.org/doc/ http://www.python.org/doc/faq/
Pour une référence rapide, y'a celle de R.Gruet ainsi que ma PQRC: http://rgruet.free.fr/ http://www.limsi.fr/Individu/pointal/python/pqrc/
Par exemple pour connaitre le nombre d'elements dans une liste ...
len(laliste)
Que tu peux généraliser en python, len(monset), len(machaine), len(mondictionnaire), etc...(n'importe quelle classe peut définir l'opérateur correspodant).
<pub> Ma page de liens Python: http://www.limsi.fr/Individu/pointal/python.html#liens
Tu y trouveras divers liens vers des tutoriels Python, des docs, etc... </pub>
A+
Laurent.
Ok merci j'ai pu effacer...
Est-ce que tu connais un site qui detaille ca ? la facon propre de creer,
d'utiliser etcetc
Pour qq chose de verbeux, y'a les docs Python, les intros, etc.
http://www.python.org/doc/
http://www.python.org/doc/faq/
Pour une référence rapide, y'a celle de R.Gruet ainsi que ma PQRC:
http://rgruet.free.fr/
http://www.limsi.fr/Individu/pointal/python/pqrc/
Par exemple pour connaitre le nombre d'elements dans une liste ...
len(laliste)
Que tu peux généraliser en python, len(monset), len(machaine),
len(mondictionnaire), etc...(n'importe quelle classe peut définir
l'opérateur correspodant).
<pub>
Ma page de liens Python:
http://www.limsi.fr/Individu/pointal/python.html#liens
Tu y trouveras divers liens vers des tutoriels Python, des docs, etc...
</pub>
Est-ce que tu connais un site qui detaille ca ? la facon propre de creer, d'utiliser etcetc
Pour qq chose de verbeux, y'a les docs Python, les intros, etc. http://www.python.org/doc/ http://www.python.org/doc/faq/
Pour une référence rapide, y'a celle de R.Gruet ainsi que ma PQRC: http://rgruet.free.fr/ http://www.limsi.fr/Individu/pointal/python/pqrc/
Par exemple pour connaitre le nombre d'elements dans une liste ...
len(laliste)
Que tu peux généraliser en python, len(monset), len(machaine), len(mondictionnaire), etc...(n'importe quelle classe peut définir l'opérateur correspodant).
<pub> Ma page de liens Python: http://www.limsi.fr/Individu/pointal/python.html#liens
Tu y trouveras divers liens vers des tutoriels Python, des docs, etc... </pub>
A+
Laurent.
Jerome
ian wrote:
Ok merci j'ai pu effacer...
Est-ce que tu connais un site qui detaille ca ? la facon propre de creer, d'utiliser etcetc
Par exemple pour connaitre le nombre d'elements dans une liste ...
www.python.org/doc ...
len(l) pour la longueur
ian wrote:
Ok merci j'ai pu effacer...
Est-ce que tu connais un site qui detaille ca ? la facon propre de creer,
d'utiliser etcetc
Par exemple pour connaitre le nombre d'elements dans une liste ...
Ok merci a tous... j'ai des sites a lire (sauf la doc de python que j'ai du mal a digerer).
C'est sympa python, mais quand on vient d'ailleurs, on a du mal ... :)
oui, on a du mal à repartir ailleurs :)
Sinon, les variables permissives, c'est pas top non plus ...
Question de point de vue, si le développeur sait ce qu'il fait c'est plutôt pratique
y'a un autre moyen de les declarer ? style:
x: integer ? je sais je peux la forcer en faisant x=0 mais bon ...
Tu ne forces pas le type en faisant ça, tu peux très bien faire x=0 et x='toto' juste après
a+
Bruno Desthuilliers
ian wrote:
Ok merci a tous... j'ai des sites a lire (sauf la doc de python que j'ai du mal a digerer).
C'est sympa python, mais quand on vient d'ailleurs, on a du mal ... :)
La difficulté est surtout d'arrêter de penser dans un autre langage qu'on connait mieux. Et c'est vrai quelques soient les langages. Tant que tu continueras à essayer de faire entrer de force les idiomes ObjectPascal dans Python, tu va avoir mal.
Sinon, les variables permissives, c'est pas top non plus ...
s/variables permissives/typage dynamique/
Là aussi, c'est une question de "réajustement". En Python, une "variable", c'est juste un nom associé à un objet dans un espace de nommage. Les informations de type, c'est l'objet qui les détient, pas le nom.
Quant à la permissivité, rien à voir avec Perl ou PHP - ou même avec le C. Essaye donc d'additionner un entier et une chaine....
Le typage dynamique n'est certes pas une panacée, mais dans la pratique, et particulièrement en programmation OO ou fonctionnelle, ça permet de rendre le code beaucoup plus simple et plus générique. Globalement, ça évite plus de bugs que ça n'en induit.
y'a un autre moyen de les declarer ? style:
x: integer ?
Pourquoi faire ?
je sais je peux la forcer en faisant x=0 mais bon ...
Ca ne "force" rien - ça crée le nom 'x' dans l'espace de nommage courant, et ça y associe un objet de type int et de valeur 0.
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
ian wrote:
Ok merci a tous... j'ai des sites a lire (sauf la doc de python que j'ai du
mal a digerer).
C'est sympa python, mais quand on vient d'ailleurs, on a du mal ... :)
La difficulté est surtout d'arrêter de penser dans un autre langage
qu'on connait mieux. Et c'est vrai quelques soient les langages. Tant
que tu continueras à essayer de faire entrer de force les idiomes
ObjectPascal dans Python, tu va avoir mal.
Sinon, les variables permissives, c'est pas top non plus ...
s/variables permissives/typage dynamique/
Là aussi, c'est une question de "réajustement". En Python, une
"variable", c'est juste un nom associé à un objet dans un espace de
nommage. Les informations de type, c'est l'objet qui les détient, pas le
nom.
Quant à la permissivité, rien à voir avec Perl ou PHP - ou même avec le
C. Essaye donc d'additionner un entier et une chaine....
Le typage dynamique n'est certes pas une panacée, mais dans la pratique,
et particulièrement en programmation OO ou fonctionnelle, ça permet de
rendre le code beaucoup plus simple et plus générique. Globalement, ça
évite plus de bugs que ça n'en induit.
y'a un autre
moyen de les declarer ?
style:
x: integer ?
Pourquoi faire ?
je sais je peux la forcer en faisant x=0 mais bon ...
Ca ne "force" rien - ça crée le nom 'x' dans l'espace de nommage
courant, et ça y associe un objet de type int et de valeur 0.
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"
Ok merci a tous... j'ai des sites a lire (sauf la doc de python que j'ai du mal a digerer).
C'est sympa python, mais quand on vient d'ailleurs, on a du mal ... :)
La difficulté est surtout d'arrêter de penser dans un autre langage qu'on connait mieux. Et c'est vrai quelques soient les langages. Tant que tu continueras à essayer de faire entrer de force les idiomes ObjectPascal dans Python, tu va avoir mal.
Sinon, les variables permissives, c'est pas top non plus ...
s/variables permissives/typage dynamique/
Là aussi, c'est une question de "réajustement". En Python, une "variable", c'est juste un nom associé à un objet dans un espace de nommage. Les informations de type, c'est l'objet qui les détient, pas le nom.
Quant à la permissivité, rien à voir avec Perl ou PHP - ou même avec le C. Essaye donc d'additionner un entier et une chaine....
Le typage dynamique n'est certes pas une panacée, mais dans la pratique, et particulièrement en programmation OO ou fonctionnelle, ça permet de rendre le code beaucoup plus simple et plus générique. Globalement, ça évite plus de bugs que ça n'en induit.
y'a un autre moyen de les declarer ? style:
x: integer ?
Pourquoi faire ?
je sais je peux la forcer en faisant x=0 mais bon ...
Ca ne "force" rien - ça crée le nom 'x' dans l'espace de nommage courant, et ça y associe un objet de type int et de valeur 0.
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
MC
Bonsoir !
Quand on a goûté, et apprécié, le typage dynamique, on plaint les développeurs qui doivent utiliser des langages statiquement typés (comme, au hasard, windev...)
On est d'accord, n'est-ce pas ?
-- @-salutations
Michel Claveau
Bonsoir !
Quand on a goûté, et apprécié, le typage dynamique, on plaint les
développeurs qui doivent utiliser des langages statiquement typés
(comme, au hasard, windev...)
Quand on a goûté, et apprécié, le typage dynamique, on plaint les développeurs qui doivent utiliser des langages statiquement typés (comme, au hasard, windev...)
On est d'accord, n'est-ce pas ?
-- @-salutations
Michel Claveau
Bruno Desthuilliers
Bonsoir !
Quand on a goûté, et apprécié, le typage dynamique, on plaint les développeurs qui doivent utiliser des langages statiquement typés
Il y a des systèmes de typage statique fort qui permettent de conserver une généricité presque équivalente (voire dans certains cas supérieure) aux typages dynamiques, sans imposer toutes les restrictions arbitraires et le boiler-plate des typages statiques déclaratifs "traditionnels". Fait une recherche sur "inférence de type", et/ou regarde du côté de OCaml et Haskell.
(comme, au hasard, windev...)
Pas de gros mots s'il te plait, c'est pas encore vendredi.
On est d'accord, n'est-ce pas ?
<troll>
Tiens, ça me rappelle que dans Windev 5.5, les variables étaient typées, mais pas les arguments des fonctions... no comment. </troll>
Bonsoir !
Quand on a goûté, et apprécié, le typage dynamique, on plaint les
développeurs qui doivent utiliser des langages statiquement typés
Il y a des systèmes de typage statique fort qui permettent de conserver
une généricité presque équivalente (voire dans certains cas supérieure)
aux typages dynamiques, sans imposer toutes les restrictions arbitraires
et le boiler-plate des typages statiques déclaratifs "traditionnels".
Fait une recherche sur "inférence de type", et/ou regarde du côté de
OCaml et Haskell.
(comme, au hasard, windev...)
Pas de gros mots s'il te plait, c'est pas encore vendredi.
On est d'accord, n'est-ce pas ?
<troll>
Tiens, ça me rappelle que dans Windev 5.5, les variables étaient typées,
mais pas les arguments des fonctions... no comment.
</troll>
Quand on a goûté, et apprécié, le typage dynamique, on plaint les développeurs qui doivent utiliser des langages statiquement typés
Il y a des systèmes de typage statique fort qui permettent de conserver une généricité presque équivalente (voire dans certains cas supérieure) aux typages dynamiques, sans imposer toutes les restrictions arbitraires et le boiler-plate des typages statiques déclaratifs "traditionnels". Fait une recherche sur "inférence de type", et/ou regarde du côté de OCaml et Haskell.
(comme, au hasard, windev...)
Pas de gros mots s'il te plait, c'est pas encore vendredi.
On est d'accord, n'est-ce pas ?
<troll>
Tiens, ça me rappelle que dans Windev 5.5, les variables étaient typées, mais pas les arguments des fonctions... no comment. </troll>