Imaginons un petit utilitaire en ligne de commandes, éventuellement
wrappable dans un Tkinter. Par exemple un travail à faire sur certains
fichiers d'une arborescence.
Pour l'instant c'est "one-shot", une commande donne une action. J'ai
donc un certain nombre de fonctions "action" qui utilisent les mêmes
données. Ces données sont dans un dictionnaire, qui peut être un peu
grassouillet si j'y adjoint une liste de fichiers (de paths).
J'ai déjà résolu ça par de l'objet, ça marche sans problème. Mais dans
ce contexte ça me gonfle. Je m'explique, il n'y a pas d'objet
"naturel", hors peut-être l'application, et ça amène plus de
contraintes et de confusion que d'avantages de mon point de vue.
Certaines constantes, simples ou structurées, sont globales. Pour le
dictionnaire évoqué plus haut, je le passe en paramètre aux fonctions
"action", même si elles n'en utilisent pas toutes les données.
Ce que je voudrais c'est la confirmation de ce qui me semble évident,
c'est que ce passage de "trop" de données n'occasionne pas de perte de
performance déraisonnable.
En l'écrivant je crois que ma question est stupide, je ne vois pas
pourquoi Python gérerait au sein du même module autre chose que des
références au dictionnaires...
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
Bruno Desthuilliers
Bonjour,
Imaginons un petit utilitaire en ligne de commandes, éventuellement wrappable dans un Tkinter. Par exemple un travail à faire sur certains fichiers d'une arborescence. Pour l'instant c'est "one-shot", une commande donne une action. J'ai donc un certain nombre de fonctions "action" qui utilisent les mêmes données. Ces données sont dans un dictionnaire, qui peut être un peu grassouillet si j'y adjoint une liste de fichiers (de paths). J'ai déjà résolu ça
quoi ?
par de l'objet, ça marche sans problème. Mais dans ce contexte ça me gonfle. Je m'explique, il n'y a pas d'objet "naturel", hors peut-être l'application,
L'écrasante majorité des objets employés dans un programme OO sont des objets techniques. Dans ton cas, on pourrait songer à l'appli, à sa config et aux options en ligne de commande, aux éventuels logs, et bien sûr aux actions. Ceci étant, il n'y a aucunement lieu de vouloir tout faire entrer dans une optique OO psychorigide à la Java - en ce qui me concerne, tant que je n'ai pas de problème dont la solution 'naturelle' (en Python) implique une/des classe(s) spécifique(s), je ne m'encombre pas avec.
et ça amène plus de contraintes et de confusion que d'avantages de mon point de vue. Certaines constantes, simples ou structurées, sont globales. Pour le dictionnaire évoqué plus haut, je le passe en paramètre aux fonctions "action", même si elles n'en utilisent pas toutes les données.
Ce que je voudrais c'est la confirmation de ce qui me semble évident, c'est que ce passage de "trop" de données n'occasionne pas de perte de performance déraisonnable.
Si tu penses à un surcoût dû au passage du dict en paramètre, qu'il ait une ou 5000000000 entrées ne change rien, puisqu'en Python il n'y a que des références.
En l'écrivant je crois que ma question est stupide, je ne vois pas pourquoi Python gérerait au sein du même module autre chose que des références au dictionnaires...
Au sein du même module, entre modules, et quelque soit le type de données - il n'y a pas de copie tant que tu n'en demandes pas une explicitement.
Bonjour,
Imaginons un petit utilitaire en ligne de commandes, éventuellement
wrappable dans un Tkinter. Par exemple un travail à faire sur certains
fichiers d'une arborescence.
Pour l'instant c'est "one-shot", une commande donne une action. J'ai
donc un certain nombre de fonctions "action" qui utilisent les mêmes
données. Ces données sont dans un dictionnaire, qui peut être un peu
grassouillet si j'y adjoint une liste de fichiers (de paths).
J'ai déjà résolu ça
quoi ?
par de l'objet, ça marche sans problème. Mais dans
ce contexte ça me gonfle. Je m'explique, il n'y a pas d'objet "naturel",
hors peut-être l'application,
L'écrasante majorité des objets employés dans un programme OO sont des
objets techniques. Dans ton cas, on pourrait songer à l'appli, à sa
config et aux options en ligne de commande, aux éventuels logs, et bien
sûr aux actions. Ceci étant, il n'y a aucunement lieu de vouloir tout
faire entrer dans une optique OO psychorigide à la Java - en ce qui me
concerne, tant que je n'ai pas de problème dont la solution 'naturelle'
(en Python) implique une/des classe(s) spécifique(s), je ne m'encombre
pas avec.
et ça amène plus de contraintes et de
confusion que d'avantages de mon point de vue.
Certaines constantes, simples ou structurées, sont globales. Pour le
dictionnaire évoqué plus haut, je le passe en paramètre aux fonctions
"action", même si elles n'en utilisent pas toutes les données.
Ce que je voudrais c'est la confirmation de ce qui me semble évident,
c'est que ce passage de "trop" de données n'occasionne pas de perte de
performance déraisonnable.
Si tu penses à un surcoût dû au passage du dict en paramètre, qu'il ait
une ou 5000000000 entrées ne change rien, puisqu'en Python il n'y a que
des références.
En l'écrivant je crois que ma question est stupide, je ne vois pas
pourquoi Python gérerait au sein du même module autre chose que des
références au dictionnaires...
Au sein du même module, entre modules, et quelque soit le type de
données - il n'y a pas de copie tant que tu n'en demandes pas une
explicitement.
Imaginons un petit utilitaire en ligne de commandes, éventuellement wrappable dans un Tkinter. Par exemple un travail à faire sur certains fichiers d'une arborescence. Pour l'instant c'est "one-shot", une commande donne une action. J'ai donc un certain nombre de fonctions "action" qui utilisent les mêmes données. Ces données sont dans un dictionnaire, qui peut être un peu grassouillet si j'y adjoint une liste de fichiers (de paths). J'ai déjà résolu ça
quoi ?
par de l'objet, ça marche sans problème. Mais dans ce contexte ça me gonfle. Je m'explique, il n'y a pas d'objet "naturel", hors peut-être l'application,
L'écrasante majorité des objets employés dans un programme OO sont des objets techniques. Dans ton cas, on pourrait songer à l'appli, à sa config et aux options en ligne de commande, aux éventuels logs, et bien sûr aux actions. Ceci étant, il n'y a aucunement lieu de vouloir tout faire entrer dans une optique OO psychorigide à la Java - en ce qui me concerne, tant que je n'ai pas de problème dont la solution 'naturelle' (en Python) implique une/des classe(s) spécifique(s), je ne m'encombre pas avec.
et ça amène plus de contraintes et de confusion que d'avantages de mon point de vue. Certaines constantes, simples ou structurées, sont globales. Pour le dictionnaire évoqué plus haut, je le passe en paramètre aux fonctions "action", même si elles n'en utilisent pas toutes les données.
Ce que je voudrais c'est la confirmation de ce qui me semble évident, c'est que ce passage de "trop" de données n'occasionne pas de perte de performance déraisonnable.
Si tu penses à un surcoût dû au passage du dict en paramètre, qu'il ait une ou 5000000000 entrées ne change rien, puisqu'en Python il n'y a que des références.
En l'écrivant je crois que ma question est stupide, je ne vois pas pourquoi Python gérerait au sein du même module autre chose que des références au dictionnaires...
Au sein du même module, entre modules, et quelque soit le type de données - il n'y a pas de copie tant que tu n'en demandes pas une explicitement.
Pierre Maurette
Bonjour,
Imaginons un petit utilitaire en ligne de commandes, éventuellement wrappable dans un Tkinter. Par exemple un travail à faire sur certains fichiers d'une arborescence. Pour l'instant c'est "one-shot", une commande donne une action. J'ai donc un certain nombre de fonctions "action" qui utilisent les mêmes données. Ces données sont dans un dictionnaire, qui peut être un peu grassouillet si j'y adjoint une liste de fichiers (de paths). J'ai déjà résolu ça
quoi ?
par de l'objet, ça marche sans problème. Mais dans ce contexte ça me gonfle. Je m'explique, il n'y a pas d'objet "naturel", hors peut-être l'application,
L'écrasante majorité des objets employés dans un programme OO sont des objets techniques. Dans ton cas, on pourrait songer à l'appli, à sa config et aux options en ligne de commande, aux éventuels logs, et bien sûr aux actions. Ceci étant, il n'y a aucunement lieu de vouloir tout faire entrer dans une optique OO psychorigide à la Java - en ce qui me concerne, tant que je n'ai pas de problème dont la solution 'naturelle' (en Python) implique une/des classe(s) spécifique(s), je ne m'encombre pas avec.
et ça amène plus de contraintes et de confusion que d'avantages de mon point de vue. Certaines constantes, simples ou structurées, sont globales. Pour le dictionnaire évoqué plus haut, je le passe en paramètre aux fonctions "action", même si elles n'en utilisent pas toutes les données.
Ce que je voudrais c'est la confirmation de ce qui me semble évident, c'est que ce passage de "trop" de données n'occasionne pas de perte de performance déraisonnable.
Si tu penses à un surcoût dû au passage du dict en paramètre, qu'il ait une ou 5000000000 entrées ne change rien, puisqu'en Python il n'y a que des références.
En l'écrivant je crois que ma question est stupide, je ne vois pas pourquoi Python gérerait au sein du même module autre chose que des références au dictionnaires...
Au sein du même module, entre modules, et quelque soit le type de données - il n'y a pas de copie tant que tu n'en demandes pas une explicitement.
Merci de m'avoir rassuré...
-- Pierre Maurette
Bonjour,
Imaginons un petit utilitaire en ligne de commandes, éventuellement
wrappable dans un Tkinter. Par exemple un travail à faire sur certains
fichiers d'une arborescence.
Pour l'instant c'est "one-shot", une commande donne une action. J'ai donc
un certain nombre de fonctions "action" qui utilisent les mêmes données.
Ces données sont dans un dictionnaire, qui peut être un peu grassouillet si
j'y adjoint une liste de fichiers (de paths).
J'ai déjà résolu ça
quoi ?
par de l'objet, ça marche sans problème. Mais dans ce contexte ça me
gonfle. Je m'explique, il n'y a pas d'objet "naturel", hors peut-être
l'application,
L'écrasante majorité des objets employés dans un programme OO sont des objets
techniques. Dans ton cas, on pourrait songer à l'appli, à sa config et aux
options en ligne de commande, aux éventuels logs, et bien sûr aux actions.
Ceci étant, il n'y a aucunement lieu de vouloir tout faire entrer dans une
optique OO psychorigide à la Java - en ce qui me concerne, tant que je n'ai
pas de problème dont la solution 'naturelle' (en Python) implique une/des
classe(s) spécifique(s), je ne m'encombre pas avec.
et ça amène plus de contraintes et de confusion que d'avantages de mon
point de vue.
Certaines constantes, simples ou structurées, sont globales. Pour le
dictionnaire évoqué plus haut, je le passe en paramètre aux fonctions
"action", même si elles n'en utilisent pas toutes les données.
Ce que je voudrais c'est la confirmation de ce qui me semble évident, c'est
que ce passage de "trop" de données n'occasionne pas de perte de
performance déraisonnable.
Si tu penses à un surcoût dû au passage du dict en paramètre, qu'il ait une
ou 5000000000 entrées ne change rien, puisqu'en Python il n'y a que des
références.
En l'écrivant je crois que ma question est stupide, je ne vois pas pourquoi
Python gérerait au sein du même module autre chose que des références au
dictionnaires...
Au sein du même module, entre modules, et quelque soit le type de données -
il n'y a pas de copie tant que tu n'en demandes pas une explicitement.
Imaginons un petit utilitaire en ligne de commandes, éventuellement wrappable dans un Tkinter. Par exemple un travail à faire sur certains fichiers d'une arborescence. Pour l'instant c'est "one-shot", une commande donne une action. J'ai donc un certain nombre de fonctions "action" qui utilisent les mêmes données. Ces données sont dans un dictionnaire, qui peut être un peu grassouillet si j'y adjoint une liste de fichiers (de paths). J'ai déjà résolu ça
quoi ?
par de l'objet, ça marche sans problème. Mais dans ce contexte ça me gonfle. Je m'explique, il n'y a pas d'objet "naturel", hors peut-être l'application,
L'écrasante majorité des objets employés dans un programme OO sont des objets techniques. Dans ton cas, on pourrait songer à l'appli, à sa config et aux options en ligne de commande, aux éventuels logs, et bien sûr aux actions. Ceci étant, il n'y a aucunement lieu de vouloir tout faire entrer dans une optique OO psychorigide à la Java - en ce qui me concerne, tant que je n'ai pas de problème dont la solution 'naturelle' (en Python) implique une/des classe(s) spécifique(s), je ne m'encombre pas avec.
et ça amène plus de contraintes et de confusion que d'avantages de mon point de vue. Certaines constantes, simples ou structurées, sont globales. Pour le dictionnaire évoqué plus haut, je le passe en paramètre aux fonctions "action", même si elles n'en utilisent pas toutes les données.
Ce que je voudrais c'est la confirmation de ce qui me semble évident, c'est que ce passage de "trop" de données n'occasionne pas de perte de performance déraisonnable.
Si tu penses à un surcoût dû au passage du dict en paramètre, qu'il ait une ou 5000000000 entrées ne change rien, puisqu'en Python il n'y a que des références.
En l'écrivant je crois que ma question est stupide, je ne vois pas pourquoi Python gérerait au sein du même module autre chose que des références au dictionnaires...
Au sein du même module, entre modules, et quelque soit le type de données - il n'y a pas de copie tant que tu n'en demandes pas une explicitement.