j'ai fait mes grans débuts en python il y a peu et je coince sur
certains points.
Le cas du jour, je vous le présente brièvement.
J'ai écrit un module (w9n.py) qui définit plusieurs classes et
notamment des classes d'exception.
Le script principal charge le module par la directive suivante:
import w9n
Plus loin, dans le __main__ de mon script principal, j'essaie bêtement
d'utiliser certaines classes et j'obtiens toujours la même erreur:
Traceback (most recent call last):
File "./DBA_mys.py", line 85, in <module>
tool =3D W9NTool()
NameError: name 'W9NTool' is not defined
Je crois comprendre qu'il faut que je "préfixe" par le nom du fichier
soit w9n.W9NTool() mais j'ai bien peur qu'à la longue cela devienne
vite fastidieux et notamment pour la partie gestion des exceptions.
Comment faire pour ne pas avoir à "préfixer" mes appels de
fonctions/méthodes/classes depuis mon script principal ?
Merci
Xavier
P.S: connaissez-vous un (excellent) tutoriel présentant concrètement
et très simplement la mise en place de TDD (Test Driven Development)
en python ? Je cherche à faire quelque chose de propre (merci python)
et à donner un maximum de garanties quant à la qualité du code (encore
une fois merci python). Mon soucis étant que je ne suis pas très au
fait sur ce genre de pratique et surtout j'ai peur de ne pas faire les
tests adéquats.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Quentel
On 16 mai, 00:34, Xavier Maillard wrote:
Bonsoir,
j'ai fait mes grans débuts en python il y a peu et je coince sur certains points.
Le cas du jour, je vous le présente brièvement.
J'ai écrit un module (w9n.py) qui définit plusieurs classes et notamment des classes d'exception.
Le script principal charge le module par la directive suivante:
import w9n
Plus loin, dans le __main__ de mon script principal, j'essaie bêtement d'utiliser certaines classes et j'obtiens toujours la même erreur:
Traceback (most recent call last): File "./DBA_mys.py", line 85, in <module> tool = W9NTool() NameError: name 'W9NTool' is not defined
Je crois comprendre qu'il faut que je "préfixe" par le nom du fichier soit w9n.W9NTool() mais j'ai bien peur qu'à la longue cela devienne vite fastidieux et notamment pour la partie gestion des exceptions.
Comment faire pour ne pas avoir à "préfixer" mes appels de fonctions/méthodes/classes depuis mon script principal ?
Merci
Xavier
P.S: connaissez-vous un (excellent) tutoriel présentant concrètement et très simplement la mise en place de TDD (Test Driven Development) en python ? Je cherche à faire quelque chose de propre (merci python) et à donner un maximum de garanties quant à la qualité du code (enc ore une fois merci python). Mon soucis étant que je ne suis pas très au fait sur ce genre de pratique et surtout j'ai peur de ne pas faire les tests adéquats.
Bonjour,
Si tu veux importer un nom depuis un module :
from w9n import W9NTool
Pour importer tous les noms d'un mdule :
from w9n import *
- Pierre
On 16 mai, 00:34, Xavier Maillard <x...@gnu.org> wrote:
Bonsoir,
j'ai fait mes grans débuts en python il y a peu et je coince sur
certains points.
Le cas du jour, je vous le présente brièvement.
J'ai écrit un module (w9n.py) qui définit plusieurs classes et
notamment des classes d'exception.
Le script principal charge le module par la directive suivante:
import w9n
Plus loin, dans le __main__ de mon script principal, j'essaie bêtement
d'utiliser certaines classes et j'obtiens toujours la même erreur:
Traceback (most recent call last):
File "./DBA_mys.py", line 85, in <module>
tool = W9NTool()
NameError: name 'W9NTool' is not defined
Je crois comprendre qu'il faut que je "préfixe" par le nom du fichier
soit w9n.W9NTool() mais j'ai bien peur qu'à la longue cela devienne
vite fastidieux et notamment pour la partie gestion des exceptions.
Comment faire pour ne pas avoir à "préfixer" mes appels de
fonctions/méthodes/classes depuis mon script principal ?
Merci
Xavier
P.S: connaissez-vous un (excellent) tutoriel présentant concrètement
et très simplement la mise en place de TDD (Test Driven Development)
en python ? Je cherche à faire quelque chose de propre (merci python)
et à donner un maximum de garanties quant à la qualité du code (enc ore
une fois merci python). Mon soucis étant que je ne suis pas très au
fait sur ce genre de pratique et surtout j'ai peur de ne pas faire les
tests adéquats.
j'ai fait mes grans débuts en python il y a peu et je coince sur certains points.
Le cas du jour, je vous le présente brièvement.
J'ai écrit un module (w9n.py) qui définit plusieurs classes et notamment des classes d'exception.
Le script principal charge le module par la directive suivante:
import w9n
Plus loin, dans le __main__ de mon script principal, j'essaie bêtement d'utiliser certaines classes et j'obtiens toujours la même erreur:
Traceback (most recent call last): File "./DBA_mys.py", line 85, in <module> tool = W9NTool() NameError: name 'W9NTool' is not defined
Je crois comprendre qu'il faut que je "préfixe" par le nom du fichier soit w9n.W9NTool() mais j'ai bien peur qu'à la longue cela devienne vite fastidieux et notamment pour la partie gestion des exceptions.
Comment faire pour ne pas avoir à "préfixer" mes appels de fonctions/méthodes/classes depuis mon script principal ?
Merci
Xavier
P.S: connaissez-vous un (excellent) tutoriel présentant concrètement et très simplement la mise en place de TDD (Test Driven Development) en python ? Je cherche à faire quelque chose de propre (merci python) et à donner un maximum de garanties quant à la qualité du code (enc ore une fois merci python). Mon soucis étant que je ne suis pas très au fait sur ce genre de pratique et surtout j'ai peur de ne pas faire les tests adéquats.
Bonjour,
Si tu veux importer un nom depuis un module :
from w9n import W9NTool
Pour importer tous les noms d'un mdule :
from w9n import *
- Pierre
Bruno Desthuilliers
Pierre Quentel a écrit :
On 16 mai, 00:34, Xavier Maillard wrote:
Bonsoir,
j'ai fait mes grans débuts en python il y a peu et je coince sur certains points.
Le cas du jour, je vous le présente brièvement.
J'ai écrit un module (w9n.py) qui définit plusieurs classes et notamment des classes d'exception.
Le script principal charge le module par la directive suivante:
import w9n
Plus loin, dans le __main__ de mon script principal, j'essaie bêtement d'utiliser certaines classes et j'obtiens toujours la même erreur:
Traceback (most recent call last): File "./DBA_mys.py", line 85, in <module> tool = W9NTool() NameError: name 'W9NTool' is not defined
Je crois comprendre qu'il faut que je "préfixe" par le nom du fichier soit w9n.W9NTool() mais j'ai bien peur qu'à la longue cela devienne vite fastidieux et notamment pour la partie gestion des exceptions.
Comment faire pour ne pas avoir à "préfixer" mes appels de fonctions/méthodes/classes depuis mon script principal ?
Merci
Xavier
P.S: connaissez-vous un (excellent) tutoriel présentant concrètement et très simplement la mise en place de TDD (Test Driven Development) en python ? Je cherche à faire quelque chose de propre (merci python) et à donner un maximum de garanties quant à la qualité du code (encore une fois merci python). Mon soucis étant que je ne suis pas très au fait sur ce genre de pratique et surtout j'ai peur de ne pas faire les tests adéquats.
Bonjour,
Si tu veux importer un nom depuis un module :
from w9n import W9NTool
Pour importer tous les noms d'un mdule :
from w9n import *
Attention toutefois, cette méthode a deux inconvénients:
1/ par défaut, tous les noms existant dans l'espace de nommage de w9n seront importés (à l'exception de ceux débutant par un '_'). Donc si w9n importe lui-même les noms 'foo' et 'bar', l'instruction ci-dessus importera également 'foo' et 'bar' (nb: ça peut être réglé en définissant la variable __all__ dans w9n, se référer à la doc).
2/ ça ne permet pas de savoir clairement ce qui est importé et d'où c'est importé.
Donc préférer autant que possible des imports explicites:
from w9n import Name1, Name2 (,... NameN)
- Pierre
Pierre Quentel a écrit :
On 16 mai, 00:34, Xavier Maillard <x...@gnu.org> wrote:
Bonsoir,
j'ai fait mes grans débuts en python il y a peu et je coince sur
certains points.
Le cas du jour, je vous le présente brièvement.
J'ai écrit un module (w9n.py) qui définit plusieurs classes et
notamment des classes d'exception.
Le script principal charge le module par la directive suivante:
import w9n
Plus loin, dans le __main__ de mon script principal, j'essaie bêtement
d'utiliser certaines classes et j'obtiens toujours la même erreur:
Traceback (most recent call last):
File "./DBA_mys.py", line 85, in <module>
tool = W9NTool()
NameError: name 'W9NTool' is not defined
Je crois comprendre qu'il faut que je "préfixe" par le nom du fichier
soit w9n.W9NTool() mais j'ai bien peur qu'à la longue cela devienne
vite fastidieux et notamment pour la partie gestion des exceptions.
Comment faire pour ne pas avoir à "préfixer" mes appels de
fonctions/méthodes/classes depuis mon script principal ?
Merci
Xavier
P.S: connaissez-vous un (excellent) tutoriel présentant concrètement
et très simplement la mise en place de TDD (Test Driven Development)
en python ? Je cherche à faire quelque chose de propre (merci python)
et à donner un maximum de garanties quant à la qualité du code (encore
une fois merci python). Mon soucis étant que je ne suis pas très au
fait sur ce genre de pratique et surtout j'ai peur de ne pas faire les
tests adéquats.
Bonjour,
Si tu veux importer un nom depuis un module :
from w9n import W9NTool
Pour importer tous les noms d'un mdule :
from w9n import *
Attention toutefois, cette méthode a deux inconvénients:
1/ par défaut, tous les noms existant dans l'espace de nommage de w9n
seront importés (à l'exception de ceux débutant par un '_'). Donc si w9n
importe lui-même les noms 'foo' et 'bar', l'instruction ci-dessus
importera également 'foo' et 'bar' (nb: ça peut être réglé en
définissant la variable __all__ dans w9n, se référer à la doc).
2/ ça ne permet pas de savoir clairement ce qui est importé et d'où
c'est importé.
Donc préférer autant que possible des imports explicites:
j'ai fait mes grans débuts en python il y a peu et je coince sur certains points.
Le cas du jour, je vous le présente brièvement.
J'ai écrit un module (w9n.py) qui définit plusieurs classes et notamment des classes d'exception.
Le script principal charge le module par la directive suivante:
import w9n
Plus loin, dans le __main__ de mon script principal, j'essaie bêtement d'utiliser certaines classes et j'obtiens toujours la même erreur:
Traceback (most recent call last): File "./DBA_mys.py", line 85, in <module> tool = W9NTool() NameError: name 'W9NTool' is not defined
Je crois comprendre qu'il faut que je "préfixe" par le nom du fichier soit w9n.W9NTool() mais j'ai bien peur qu'à la longue cela devienne vite fastidieux et notamment pour la partie gestion des exceptions.
Comment faire pour ne pas avoir à "préfixer" mes appels de fonctions/méthodes/classes depuis mon script principal ?
Merci
Xavier
P.S: connaissez-vous un (excellent) tutoriel présentant concrètement et très simplement la mise en place de TDD (Test Driven Development) en python ? Je cherche à faire quelque chose de propre (merci python) et à donner un maximum de garanties quant à la qualité du code (encore une fois merci python). Mon soucis étant que je ne suis pas très au fait sur ce genre de pratique et surtout j'ai peur de ne pas faire les tests adéquats.
Bonjour,
Si tu veux importer un nom depuis un module :
from w9n import W9NTool
Pour importer tous les noms d'un mdule :
from w9n import *
Attention toutefois, cette méthode a deux inconvénients:
1/ par défaut, tous les noms existant dans l'espace de nommage de w9n seront importés (à l'exception de ceux débutant par un '_'). Donc si w9n importe lui-même les noms 'foo' et 'bar', l'instruction ci-dessus importera également 'foo' et 'bar' (nb: ça peut être réglé en définissant la variable __all__ dans w9n, se référer à la doc).
2/ ça ne permet pas de savoir clairement ce qui est importé et d'où c'est importé.
Donc préférer autant que possible des imports explicites:
from w9n import Name1, Name2 (,... NameN)
- Pierre
jeremie fouche
Xavier Maillard a écrit :
P.S: connaissez-vous un (excellent) tutoriel présentant concrètement et très simplement la mise en place de TDD (Test Driven Development) en python ? Je cherche à faire quelque chose de propre (merci python) et à donner un maximum de garanties quant à la qualité du code (encore une fois merci python). Mon soucis étant que je ne suis pas très au fait sur ce genre de pratique et surtout j'ai peur de ne pas faire les tests adéquats.
Dive into python m'a beaucoup aidé : http://www.diveintopython.org/
et plus particulierement, ence qui te concerne : http://diveintopython.org/unit_testing/index.html
-- Jérémie
Xavier Maillard a écrit :
P.S: connaissez-vous un (excellent) tutoriel présentant concrètement
et très simplement la mise en place de TDD (Test Driven Development)
en python ? Je cherche à faire quelque chose de propre (merci python)
et à donner un maximum de garanties quant à la qualité du code (encore
une fois merci python). Mon soucis étant que je ne suis pas très au
fait sur ce genre de pratique et surtout j'ai peur de ne pas faire les
tests adéquats.
Dive into python m'a beaucoup aidé :
http://www.diveintopython.org/
et plus particulierement, ence qui te concerne :
http://diveintopython.org/unit_testing/index.html
P.S: connaissez-vous un (excellent) tutoriel présentant concrètement et très simplement la mise en place de TDD (Test Driven Development) en python ? Je cherche à faire quelque chose de propre (merci python) et à donner un maximum de garanties quant à la qualité du code (encore une fois merci python). Mon soucis étant que je ne suis pas très au fait sur ce genre de pratique et surtout j'ai peur de ne pas faire les tests adéquats.
Dive into python m'a beaucoup aidé : http://www.diveintopython.org/
et plus particulierement, ence qui te concerne : http://diveintopython.org/unit_testing/index.html
-- Jérémie
Xavier Maillard
At Sat, 16 May 2009 11:40:44 +0200, jeremie fouche wrote:
Xavier Maillard a écrit :
> P.S: connaissez-vous un (excellent) tutoriel présentant concrètement > et très simplement la mise en place de TDD (Test Driven Development) > en python ? Je cherche à faire quelque chose de propre (merci python) > et à donner un maximum de garanties quant à la qualité du code (enco re > une fois merci python). Mon soucis étant que je ne suis pas très au > fait sur ce genre de pratique et surtout j'ai peur de ne pas faire les > tests adéquats.
Dive into python m'a beaucoup aidé : http://www.diveintopython.org/
et plus particulierement, ence qui te concerne : http://diveintopython.org/unit_testing/index.html
Merci pour ces références.
Xavier
At Sat, 16 May 2009 11:40:44 +0200,
jeremie fouche wrote:
Xavier Maillard a écrit :
> P.S: connaissez-vous un (excellent) tutoriel présentant concrètement
> et très simplement la mise en place de TDD (Test Driven Development)
> en python ? Je cherche à faire quelque chose de propre (merci python)
> et à donner un maximum de garanties quant à la qualité du code (enco re
> une fois merci python). Mon soucis étant que je ne suis pas très au
> fait sur ce genre de pratique et surtout j'ai peur de ne pas faire les
> tests adéquats.
Dive into python m'a beaucoup aidé :
http://www.diveintopython.org/
et plus particulierement, ence qui te concerne :
http://diveintopython.org/unit_testing/index.html
At Sat, 16 May 2009 11:40:44 +0200, jeremie fouche wrote:
Xavier Maillard a écrit :
> P.S: connaissez-vous un (excellent) tutoriel présentant concrètement > et très simplement la mise en place de TDD (Test Driven Development) > en python ? Je cherche à faire quelque chose de propre (merci python) > et à donner un maximum de garanties quant à la qualité du code (enco re > une fois merci python). Mon soucis étant que je ne suis pas très au > fait sur ce genre de pratique et surtout j'ai peur de ne pas faire les > tests adéquats.
Dive into python m'a beaucoup aidé : http://www.diveintopython.org/
et plus particulierement, ence qui te concerne : http://diveintopython.org/unit_testing/index.html
Merci pour ces références.
Xavier
Xavier Maillard
At Fri, 15 May 2009 23:07:52 -0700 (PDT), Pierre Quentel wrote:
Si tu veux importer un nom depuis un module :
from w9n import W9NTool
Pour importer tous les noms d'un mdule :
from w9n import *
Quelle est la différence avec un simple:
import w9n
?
Xavier
At Fri, 15 May 2009 23:07:52 -0700 (PDT),
Pierre Quentel wrote:
At Fri, 15 May 2009 23:07:52 -0700 (PDT), Pierre Quentel wrote:
Si tu veux importer un nom depuis un module :
from w9n import W9NTool
Pour importer tous les noms d'un mdule :
from w9n import *
Quelle est la différence avec un simple:
import w9n
?
Xavier
Pierre Quentel
On 16 mai, 21:35, Xavier Maillard wrote:
At Fri, 15 May 2009 23:07:52 -0700 (PDT),
Pierre Quentel wrote:
> Si tu veux importer un nom depuis un module :
> from w9n import W9NTool
> Pour importer tous les noms d'un mdule :
> from w9n import *
Quelle est la différence avec un simple:
import w9n
?
Xavier
Quand on fait "import w9n", le seul nom disponible dans l'espace de noms du script principal est w9n ; avec "from w9n import w9NTool" le nom disponible dans l'espace de noms est w9NTools, mais *pas* w9n
- Pierre
On 16 mai, 21:35, Xavier Maillard <x...@gnu.org> wrote:
At Fri, 15 May 2009 23:07:52 -0700 (PDT),
Pierre Quentel wrote:
> Si tu veux importer un nom depuis un module :
> from w9n import W9NTool
> Pour importer tous les noms d'un mdule :
> from w9n import *
Quelle est la différence avec un simple:
import w9n
?
Xavier
Quand on fait "import w9n", le seul nom disponible dans l'espace de
noms du script principal est w9n ; avec "from w9n import w9NTool" le
nom disponible dans l'espace de noms est w9NTools, mais *pas* w9n
Quand on fait "import w9n", le seul nom disponible dans l'espace de noms du script principal est w9n ; avec "from w9n import w9NTool" le nom disponible dans l'espace de noms est w9NTools, mais *pas* w9n
- Pierre
Xavier Maillard
At Sat, 16 May 2009 13:02:35 -0700 (PDT), Pierre Quentel wrote:
On 16 mai, 21:35, Xavier Maillard wrote: > At Fri, 15 May 2009 23:07:52 -0700 (PDT), > > Pierre Quentel wrote: > > > Si tu veux importer un nom depuis un module : > > > from w9n import W9NTool > > > Pour importer tous les noms d'un mdule : > > > from w9n import * > > Quelle est la différence avec un simple: > > import w9n > > ? > > Xavier
Quand on fait "import w9n", le seul nom disponible dans l'espace de noms du script principal est w9n ; avec "from w9n import w9NTool" le nom disponible dans l'espace de noms est w9NTools, mais *pas* w9n
D'accord. Donc si je comprends bien, pour résoudre mon problème il me suffirait aux choix de faire un import * ou bien l'import que je fais deja mais en prenant soin de définir la variable __all__. C'est bien cela ?
Pourquoi python ne prevoit pas une valeur "par defaut" pour cette variable ?
Xavier
At Sat, 16 May 2009 13:02:35 -0700 (PDT),
Pierre Quentel wrote:
On 16 mai, 21:35, Xavier Maillard <x...@gnu.org> wrote:
> At Fri, 15 May 2009 23:07:52 -0700 (PDT),
>
> Pierre Quentel wrote:
>
> > Si tu veux importer un nom depuis un module :
>
> > from w9n import W9NTool
>
> > Pour importer tous les noms d'un mdule :
>
> > from w9n import *
>
> Quelle est la différence avec un simple:
>
> import w9n
>
> ?
>
> Xavier
Quand on fait "import w9n", le seul nom disponible dans l'espace de
noms du script principal est w9n ; avec "from w9n import w9NTool" le
nom disponible dans l'espace de noms est w9NTools, mais *pas* w9n
D'accord. Donc si je comprends bien, pour résoudre mon problème il me
suffirait aux choix de faire un import * ou bien l'import que je fais
deja mais en prenant soin de définir la variable __all__. C'est bien
cela ?
Pourquoi python ne prevoit pas une valeur "par defaut" pour cette
variable ?
At Sat, 16 May 2009 13:02:35 -0700 (PDT), Pierre Quentel wrote:
On 16 mai, 21:35, Xavier Maillard wrote: > At Fri, 15 May 2009 23:07:52 -0700 (PDT), > > Pierre Quentel wrote: > > > Si tu veux importer un nom depuis un module : > > > from w9n import W9NTool > > > Pour importer tous les noms d'un mdule : > > > from w9n import * > > Quelle est la différence avec un simple: > > import w9n > > ? > > Xavier
Quand on fait "import w9n", le seul nom disponible dans l'espace de noms du script principal est w9n ; avec "from w9n import w9NTool" le nom disponible dans l'espace de noms est w9NTools, mais *pas* w9n
D'accord. Donc si je comprends bien, pour résoudre mon problème il me suffirait aux choix de faire un import * ou bien l'import que je fais deja mais en prenant soin de définir la variable __all__. C'est bien cela ?
Pourquoi python ne prevoit pas une valeur "par defaut" pour cette variable ?