Re: Python, angles et heures. Datetime ?

Liste des GroupesRevenir à fcl python 
Sujet : Re: Python, angles et heures. Datetime ?
De : alain (at) *nospam* universite-de-strasbourg.fr.invalid (Alain Ketterlin)
Groupes : fr.comp.lang.python
Date : 15. Nov 2021, 18:52:52
Autres entêtes
Organisation : Université de Strasbourg
Message-ID : <87a6i5icnv.fsf@universite-de-strasbourg.fr.invalid>
References : 1 2 3
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
Dominique <zzz@aol.com.invalid> writes:

[...]
Je pensais renforcer mon script avec tes lignes :
>
if d < 360 and m < 60 and s < 60:
              return d,m,s
else:
              return None
>
mais il me faudrait distinguer les heures (maxi 24) des angles...
Placer un modulo derrière demanderait de distinguer l'un de l'autre....
Le modulo interviendra dans le travail au-delà.

Je pense que cela mérite deux fonctions différentes (et aussi deux
regexp différentes). Je ne pense pas qu'il y ait quelque chose à gagner
à combiner les deux en une.

Ce que j'ignore, c'est le comportement de re.compile... À quoi sert-il ?

La raison est un peu théorique. En fait, l'analyse d'un texte par
rapport à une expression régulière se fait en deux étapes :

1) l'expression régulière est transformée en un automate fini équivalent
(d'abord non-déterministe, puis déterministe)

2) l'automate est utilisé pour dire si le texte fourni correspond ou pas
à l'expression régulière/automate

La première étape prend en général beaucoup plus de temps que la seconde
(qui est aussi rapide que possible puisqu'elle examine chaque caractère
une seule fois). Donc, si ton code fait beaucoup d'appels à
match()/matchfull()/etc. avec la même expression régulière, il est
possible de faire une seule fois la première étape, puisqu'elle dépend
seulement de l'expression régulière. C'est ce que fait re.compile(). En
résumé :

- re.match (regex, texte) -> étapes 1 et 2
- dfa = re.compile (regex) -> étape 1
- dfa.match (texte) -> étape 2

Le gain de temps d'exécution en cas de réutilisation est en général
substantiel. D'ailleurs, c'est tellement vrai que le module re le fait
tout seul maintenant (il garde en mémoire les dernières expressions
régulières avec leur automate, pour éviter d'avoir à refaire la première
étape).

-- Alain.

Date Sujet#  Auteur
14 Nov 21 * Python, angles et heures. Datetime ?9Dominique
14 Nov 21 +* Re: Python, angles et heures. Datetime ?6Alain Ketterlin
15 Nov 21 i`* Re: Python, angles et heures. Datetime ?5Dominique
15 Nov 21 i `* Re: Python, angles et heures. Datetime ?4Alain Ketterlin
15 Nov 21 i  `* Re: Python, angles et heures. Datetime ?3Olivier Miakinen
15 Nov 21 i   +- Re: Python, angles et heures. Datetime ?1Dominique
15 Nov 21 i   `- Re: Python, angles et heures. Datetime ?1Alain Ketterlin
15 Nov 21 `* Re: Python, angles et heures. Datetime ?2Damien Wyart
16 Nov 21  `- Re: Python, angles et heures. Datetime ?1Dominique

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal