Frédéric Mantegazza | 1 Jun 2005 08:56
Picon

Metaclass ?

Bonjour,

J'aimerais avoir votre avis sur le code suivant :

class Ancestor(object):
    def __init__(self):
        self._a = None
        self._b = None
        self._c = None

    def _init(self):
        self._var[self._a] = "salut"
        self._var[self._b] = "hello"

    def titi(self):
        print self._var
        print self._c

class Custom1(Ancestor):
    def __init__(self):
        super(Custom1, self).__init__()
        self._a = 1
        self._b = 2
        self._c = 'a'
        self._init()

class Custom2(Ancestor):
    def __init__(self):
        super(Custom1, self).__init__()
        self._a = 3
(Continue reading)

POYEN OP Olivier (DCL | 1 Jun 2005 09:39

RE: Metaclass ?


> class Ancestor(object):
>     def __init__(self):
>         self._a = None
>         self._b = None
>         self._c = None
>         
>     def _init(self):
>         self._var[self._a] = "salut"
>         self._var[self._b] = "hello"
>         
>     def titi(self):
>         print self._var
>         print self._c
> 
> 
> class Custom1(Ancestor):
>     def __init__(self):
>         super(Custom1, self).__init__()
>         self._a = 1
>         self._b = 2
>         self._c = 'a'
>         self._init()
> 
> 
> class Custom2(Ancestor):
>     def __init__(self):
>         super(Custom1, self).__init__()
>         self._a = 3
>         self._b = 4
(Continue reading)

Raoul Taddei | 1 Jun 2005 10:08
Picon
Picon
Favicon

importation d'un module d'extension

bonjour,

j'ai un problème lors de l'importation d'un module d'extension
nouvellement créé :
>>> import edre
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ImportError: dynamic module does not define init function (initedre)
>>>

ce que je ne comprends pas, c'est que ça a fonctionné, quelques versions
avant!
dans mon source, j'ai pourtant bien une méthode init définie de la
manière suivante :
PyMODINIT_FUNC initedre(void)
{
    (void) Py_InitModule("edre", EdreMethods);
}

j'ai vu quelques questions à ce sujet, sans toutefois voir de réponse claire

si quelqu'un peut m'aider, j'accèpte avec plaisir :-)

raoul

Jul | 1 Jun 2005 10:28
Favicon

Re: importation d'un module d'extension


>ce que je ne comprends pas, c'est que ça a fonctionné, quelques versions
>avant!
>dans mon source, j'ai pourtant bien une méthode init définie de la
>manière suivante :
>PyMODINIT_FUNC initedre(void)
>{
>    (void) Py_InitModule("edre", EdreMethods);
>}
>  
>
c'est bizarre que ca ait marché et que ca ne marche plus...
As-tu une idée des modifications ? Chez moi, la fonction init a la meme 
tête, mais ca passe.
Ca vient peut-etre de tes options de compil. Tu as changé qqchose?

++
Jul.

--

-- 
Julien VIENNE
CLIMPACT
Institut Pierre-Simon Laplace
Université Pierre et Marie Curie
		
4, place Jussieu
Tour 45-46, 5ème ét. Bureau 507
75252 Paris Cedex 5
Tel : 01 44 27 34 31
Email: jv <at> climpact.com
(Continue reading)

Frédéric Mantegazza | 1 Jun 2005 10:56
Picon

Re: Metaclass ?

Le Mercredi 1 Juin 2005 09:39, POYEN OP Olivier (DCL) a écrit :

> class Custom1(Ancestor):
> 	_a=1
> 	_b=2
> 	_c='a'

Ok. En fait tu transformes les variables d'instance en variables de classe, 
c'est bien ça ?

> Grosso modo ma réponse est que tu peux toujours mettre une metaclass,
> mais selon moi, ce n'est pas grace à cette exemple que tu vas t'en
> justifier l'existence !

Effectivement, ce n'est pas certain que la metaclass soit la mieux adaptée à 
ce cas. Je voulais justement avoir votre avis.

Le problème dans mon cas, c'est qu'il y aurait la fois héritage et 
spécialisation par metaclass. Pas simple...

--

-- 
   Frédéric

Jul | 1 Jun 2005 11:34
Favicon

Statistiques de site Web

Bonjour,
Je voudrais installer un système de monitoring de notre site : 
statistiques des pages visitées, liens les plus utilisés etc...
En outre je voudrais que ces statistiques soient spécifiques à chaque 
utilisateur enregistré. Certains utilisateur auraont accès à leur 
statistiques uniquement, alors que d'autres auront accès à toutes les 
stats du site.
Existe-t-il des outils/module python pour faire ca ? Doit-on passer par 
un fournisseur de service exprès ?
Merci pour vos conseils.
++
Jul.

--

-- 
Julien VIENNE
CLIMPACT
Institut Pierre-Simon Laplace
Université Pierre et Marie Curie
		
4, place Jussieu
Tour 45-46, 5ème ét. Bureau 507
75252 Paris Cedex 5
Tel : 01 44 27 34 31
Email: jv <at> climpact.com
Web:  http://www.climpact.com/

Frédéric Mantegazza | 1 Jun 2005 13:05
Picon

Utilisation de numarray.sometrue()

Je cherche à faire la différence entre 2 NumArray et je veux tester si cette 
différence est nulle ou pas. On ne peut pas faire un test directement sur 
un NumArray : il faut passer par sometrue(). Or, si le NumArray est de 
dimension supérieur à 1, sometrue() renvoie encore un NumArray, de 
dimension plus faible. Et donc le test ne peut toujours pas être fait.

Je ne comprend pas bien à quoi ça sert... Comment faire pour tester 
directement si au moins un élément de mon NumArray n'est pas nul ?

Merci de votre aide.

--

-- 
   Frédéric

Mickael Profeta | 1 Jun 2005 13:30

Re: Utilisation de numarray.sometrue()

On Wed, Jun 01, 2005 at 01:05:52PM +0200, Frédéric Mantegazza wrote:
Salut,

> Je cherche à faire la différence entre 2 NumArray et je veux tester si cette 
> différence est nulle ou pas. On ne peut pas faire un test directement sur 
> un NumArray : il faut passer par sometrue(). Or, si le NumArray est de 
> dimension supérieur à 1, sometrue() renvoie encore un NumArray, de 
> dimension plus faible. Et donc le test ne peut toujours pas être fait.
> 
en effet, sometrue est en fait un synonyme de reduce avec la methode
logical_or, donc il te remvoies un numarray de dimension n-1 ou il a
fait l'operation logique sur chaque axe (que tu peux lui donner en
argument)

mais il existe les fonctions all et any qui doivent faire ce que tu veux
(il transforme l'array en dimension 1 si il ne l'est pas, puis fait
l'operation logique, and pour all et or pour any)

donc pour toi

any(a) devrait te donner ce que tu veux (est-ce qu'il y a au moins un
element non-nul dans le tableau a)

Mike

Frédéric Mantegazza | 1 Jun 2005 13:42
Picon

Re: Utilisation de numarray.sometrue()

Le Mercredi 1 Juin 2005 13:30, Mickael Profeta a écrit :

> any(a) devrait te donner ce que tu veux (est-ce qu'il y a au moins un
> element non-nul dans le tableau a)

Où trouve-t-on ces fonctions ? Je ne les vois pas dans numarray...

--

-- 
   Frédéric

Mickael Profeta | 1 Jun 2005 14:02

Re: Utilisation de numarray.sometrue()

On Wed, Jun 01, 2005 at 01:42:22PM +0200, Frédéric Mantegazza wrote:
> Le Mercredi 1 Juin 2005 13:30, Mickael Profeta a écrit :
> 
> > any(a) devrait te donner ce que tu veux (est-ce qu'il y a au moins un
> > element non-nul dans le tableau a)
> 
> Où trouve-t-on ces fonctions ? Je ne les vois pas dans numarray...

In [6]: import numarray

In [7]: test=numarray.array([[1,2,3],[4,5,6],[7,8,9]])

In [8]: numarray.any(test)
Out[8]: 1

In [9]: numarray.all(test)
Out[9]: 1

In [10]: numarray.sometrue(test)
Out[10]: array([1, 1, 1], type=Bool)

In [11]: test2=test

In [13]: numarray.any(test2-test)
Out[13]: 0

Mike


Gmane