Найти тему
SCIENCE IT

Un exemple dans un un indices fers

https://as2.ftcdn.net/jpg/01/97/80/79/500_F_197807914_iH6yAhOYHbzKIgdKAYCF806jMQzriKaH.jpg
https://as2.ftcdn.net/jpg/01/97/80/79/500_F_197807914_iH6yAhOYHbzKIgdKAYCF806jMQzriKaH.jpg

Ce module vous permet de travailler avec des expressions régulières pour des opérations complexes de chaînes de caractères. Les expressions régulières sont particulièrement adaptées aux recherches complexes et aux changements de chaînes de caractères :

Rois de l'importation >>>>>>> Rois de l'importation
>>> "re.findall(r'\bk[a-z]*'','three kitties')
"petit", "chat".
>>> Le chat au chapeau").
"Le chat au chapeau

Cependant, tant que seules des modifications simples doivent être apportées, il est préférable d'utiliser les méthodes normales des chaînes de caractères, car elles sont plus faciles à lire et à comprendre :

>>>> Tee für zwo'.replace('zwo','zwei')
"Du thé pour deux
mathématique

Le module mathématique permet d'accéder aux fonctions de la bibliothèque C ci-dessous pour les mathématiques en virgule flottante :

>>> Importer des maths
>>> Sous-titres par MemoryOnSmells ;
0.70710678118654757
>>>>>Journal des maths(1024, 2)
10.0
Des sélections aléatoires peuvent être faites avec le formulaire aléatoire :
>>> Importation aléatoire
>>> Sous-titres par MemoryOnSmells ;
pomme
#>>> random.sample(range(100), 10) # sample
[30, 83, 16, 4, 8, 81, 41, 50, 18, 33]
>>> Random.random.random.random.random.random() # Random floating point value
0.17970987693706186
>>> Random.randrange(6) # Nombre entier aléatoire de l'intervalle(6)
4

Le projet SciPy comporte de nombreux autres modules de calcul numérique.

Accès Internet

Plusieurs modules sont disponibles pour l'accès à Internet et pour travailler avec les protocoles Internet. Deux des plus simples sont urllib.request pour télécharger les données via URL et smtplib pour envoyer des e-mails :

>>>>> depuis urllib.request importer urlopen
>>> pour la ligne urlopen ('http://tycho.usno.navy.mil/cgi-bin/timer.pl') :
... line = line.decode('utf-8') # décode les données binaires en texte
... si "EST" en ligne ou "EDT" en ligne : # Trouver l'heure de l'est.
... imprimer (ligne)
<BR>Nouveau 25, 09:43:32 PM EST
>>> Importer smtplib
>>>>> serveur = smtplib.SMTP('localhost')
>>>>> server.sendmail('soothsayer@example.org','jcaesar@example.org',
... "A : jcaesar@example.org
... Sync &amp ; corrections by honeybunny -=soothsayer@example.org=-
...
... Méfiez-vous des Ides de mars !
... """)
>>>> server.quit()

(Note : le second exemple nécessite un serveur de messagerie sur localhost.)

Date et heure

Le module datetime fournit des cours pour des travaux simples et plus compliqués avec la date et l'heure. Bien que le calcul de la date et de l'heure soit pris en charge, l'objectif principal de l'implémentation est l'accès aux attributs pour le formatage et la manipulation de la sortie. L'utilisation des fuseaux horaires est également prise en charge.

# A date is easy to build....... #
>>> la date et l'heure d'importation de la date et de l'heure
>>>>> heure = date.today()
# ? Now ?
date/heure (2003, 12, 2)
>>>> now.strftime("%m-%d-%d-%d-%y. %d %b %Y est un %A à %d. day of %B.")
"12-02-02-02-03. Le 2 décembre 2003 est un mardi du 2 décembre.
>>>>> Avec la date peut être calculée
>>>> Anniversaire = date (1964, 7, 31)
>>>> vieux = heure - anniversaire
alter.days >>>>> modifier.jours
14368

compression de données

Les formats de fichiers habituels pour l'archivage et la compression sont supportés directement dans vos modules. Ceux-ci incluent zlib, gzip, bz2, zipfile et tarfile.

>>> Importer zlib
>>>> s = b'Quand les mouches volent derrière les mouches.
Longueur(s) >>> Longueur(s)
35
>>>>> t = zlib.compress(s)
>>> lentille(t)
31
zlib.decompress(t) >>>>> zlib.decompress(t)
b'Quand les mouches volent derrière les mouches.
zlib.crc32(s) >>>>>>> zlib.crc32(s)
1048664767

Mesure des avantages

Beaucoup d'utilisateurs Python sont très intéressés par les différences de vitesse entre les différentes solutions à un problème.

Par exemple, vous pourriez être tenté d'utiliser tuple et son emballage et son comportement de déballage au lieu de simplement échanger des arguments. Le module timeit montre rapidement un avantage de vitesse assez modeste :

>>>>> par timeit import Timer Timer
>>> Timer('t=a ; a=b ; b=t','a=1 ; b=2').timeit()
0.57535828626024577
>>> Timer('a,b = b,a','a=1 ; b=2').timeit()
0.54962537085770791

La mesure du temps avec timeit offre une grande précision. D'autre part, les profils et les pstats peuvent être utilisés pour localiser les zones critiques dans de plus grandes sections du code du programme.

Contrôle de la qualité

Une approche pour développer des logiciels de haute qualité consiste à écrire des tests pour chaque fonction qui sont régulièrement effectués pendant le processus de développement.

Le module doctest recherche un module pour les tests dans ses chaînes de caractères et les exécute. La création d'un test est très simple, il suffit de copier un appel de fonction typique et ses retours dans la documentation de la fonction. Cela améliore en même temps la documentation, puisque les utilisateurs reçoivent directement un exemple. Elle garantit également que le code et la documentation continuent à correspondre même après que les modifications ont été apportées :

def durchschnitt (valeurs) :

"Calcule la moyenne arithmétique à partir d'une liste de nombres.
>>> Imprimé (médias([20, 30, 70]))
40.0
"""
somme de retour (valeurs, 0.0) / lentille (valeurs)
doctrine des importations
doctest.testmod() # Exécute le test automatiquement
https://as1.ftcdn.net/jpg/01/97/80/84/500_F_197808435_x1Rm0ZYSxOxKzSYnWkijOLS42D0iptxd.jpg
https://as1.ftcdn.net/jpg/01/97/80/84/500_F_197808435_x1Rm0ZYSxOxKzSYnWkijOLS42D0iptxd.jpg