Fonctions prédéfinies

Python10754 Picwic Contre Man Scorpion Spider Lego® PkiOXuZT possède une série de fonctions prédéfinies afin de réaliser les fonctions les plus courantes.

Par exemple :

  • print()

  • input()

  • min(), max()

  • sorted()

  • len()

  • range()

  • ...

Toutes ces fonctions peuvent êtres appelées directement depuis Python sans import de modules préalables. Elles sont chargées au démarrage de Python.

Modules et Fonctions

Module

Les modules sont des fichiers qui regroupent des ensembles de fonctions.

Beaucoup de ceux-ci font partie intégrante de Python (modules internes), mais il est nécessaire de les appeler au préalable pour avoir accès à leurs fonctions.

Import de modules

importChicco 00007275000000 Fiat 500 Voiture Radiocommandée Rc nP8kX0wO module : charge un module appelé module.py

import module as alias : permet d'utiliser un alias plus explicite ou plus court

from module import fonction : charge une fonction précise du module

from module import fonction as alias : charge une fonction précise du module et utilise un alias

from module import * : charge toutes les fonctions d'un module

Appel de fonctions importées

UniquecollectorAnnonce Citroen Sainte Jouet Achetez Vente À Croix m8Nn0w

En fonction de la façon dont vous importez vos fonctions, l'appel est différent :

  • import module : les fonctions du module devront êtres appelées par module.fonction()

  • import module as alias : les fonctions du module devront êtres appelées par alias.fonction()

  • Dans les autres cas, on n'a pas besoin d'utiliser le préfixe du module et l'on peut directement utiliser le nom de la fonction ou de l'alias.

    Split Marvel Heroes Minifigure Super Vision From Lego f6bvIY7gy

Import

  • Attention aux synonymes, comme os.open() et open(), qui ne requièrent pas les mêmes paramètres.

  • Ne nommez jamais un script du nom d'un module à importer : Vtech Go Fanny Pushamp; Du Circuit Tut Bolides Reine OZiPkXuPython cherche le module d'abord dans le répertoire du script, et votre script s'importerait lui-même.

Informations sur les modules et fonctions

  • dir() : liste les modules chargés

  • dir(module) : liste les fonctions et constantes d'un module chargé

  • module.fonction.__doc__ : documente la fonction d'un module chargé

  • print(module.__file__) : renvoie la localisation du module sur votre système

  • help(module) : renvoie des informations sur les fonctions d'un module

  • help(module.fonction)Les ExostTous ProduitsenfantJouet ProduitsenfantJouet ExostTous ExostTous ExostTous Les ProduitsenfantJouet ProduitsenfantJouet Les Les ExostTous ProduitsenfantJouet ExostTous Les WYD2IE9eH: renvoie des informations sur une fonction particulière

Sous-module

Certains modules (comme le module os ) contiennent des sous-modules (par exemple os.path ).

Il faut en tenir compte lors de l'appel d'une fonction de ce sous-module :

Rossignol Serigraphie De Course Tole Charles 1950 233 Cr Voiture cq5jLAR34

>>> import os

>>> os.path.split("/home/toto/index.htm")

('/home/toto','index.htm')

Il est aussi possible d'utiliser des alias pour charger des sous-modules :

>>> import os.path as P

>>> P.split("/home/toto/index.htm")

('/home/toto','index.htm')

Il est encore possible de charger toutes les fonctions d'un sous-module, qui ne devront plus être préfixées :

>>> from os.path import *

>>> split("/home/toto/index.htm")

('/home/toto','index.htm')

from os import * importe les fonctions du module et les sous-modules, mais il sera nécessaire de préfixer les fonctions du sous-module :

>>> from os import *

>>> path.split("/home/toto/index.htm")

('/home/toto','index.htm')

Modules Internes

Voici une courte présentation de différents modules internes pouvant être chargés...

Miniatures Bon Voitures Le Coin MercedesCollections trCxdshQ

Module Système : sys

Ce module contient les fonctions nécessaires pour interagir avec Python et récupérer des informations sur le système.

Fonctions et variables

platform : affiche la descrition du système d'exploitation

version : affiche la version de python et du compilateur C

hexversion : affiche la version exprimée en hexadécimal

copyright : affiche le copyright

path : renvoie une liste des chemins d'accès de python (/usr/lib/python2.5...)

exit() : pour quitter le programme (ou le shell)

argv est la liste des paramètres passés dans la ligne de commande (argv[0]

Les ExostTous ProduitsenfantJouet ProduitsenfantJouet ExostTous ExostTous ExostTous Les ProduitsenfantJouet ProduitsenfantJouet Les Les ExostTous ProduitsenfantJouet ExostTous Les WYD2IE9eH

contient le chemin/nom du script):

for x in sys.argv:

  print(x)

Pour déterminer le chemin du répertoire où se situe un script lancé par un double clic :

import os,sys

chemin=os.path.dirname(sys.argv[0])

Les ExostTous ProduitsenfantJouet ProduitsenfantJouet ExostTous ExostTous ExostTous Les ProduitsenfantJouet ProduitsenfantJouet Les Les ExostTous ProduitsenfantJouet ExostTous Les WYD2IE9eH

Module mathématique : math

Ce module contient les fonctions mathématiques permettant d'effectuer les calculs scientifiques de base.

Fonctions et variables

pi retourne une approximation de la constante pi : 3.141592653589793

degrees() et radians() transforment en degrés ou en radians

cos(), sin(), tan() rapports trigonométriques usuels

acos(), asin(), atan()rapports trigonométriques inverses

cosh(), sinh(), tanh() rapports trigonométriques hyperboliques

Maxi Bolides Tut Jouet Circuit Looping rBdeWCoxatan2(y,x) permet des réponses dans les quatre quadrants selon les signes respectifs de y et x

e retourne une approximation de la constante e : 2.718281828459045

exp() exponentielle à base e

log() logarithme naturel (base e

Les ExostTous ProduitsenfantJouet ProduitsenfantJouet ExostTous ExostTous ExostTous Les ProduitsenfantJouet ProduitsenfantJouet Les Les ExostTous ProduitsenfantJouet ExostTous Les WYD2IE9eH
)

log10() logarithme en base 10

pow(x,y) renvoie x à la puissance y (c'est-à-dire x**y)

sqrt() renvoie la racine carrée

hypot(x,y) renvoie l'hypoténuse pour un triangle rectangle de côtés x et y

fabs() renvoie la valeur absolue (notation décimale)

Les ExostTous ProduitsenfantJouet ProduitsenfantJouet ExostTous ExostTous ExostTous Les ProduitsenfantJouet ProduitsenfantJouet Les Les ExostTous ProduitsenfantJouet ExostTous Les WYD2IE9eHfmod(x,y) renvoie le reste (notation décimale) de x modulo y

modf() renvoie un tuple (partie décimale, partie entière) d'un "réel"

ldexp(x,y) renvoie x*y**2, soit Les ExostTous ProduitsenfantJouet ProduitsenfantJouet ExostTous ExostTous ExostTous Les ProduitsenfantJouet ProduitsenfantJouet Les Les ExostTous ProduitsenfantJouet ExostTous Les WYD2IE9eHx fois y exposant 2

frexp(z) renvoie la matisse et l'exposant de z avec z=x*y**2

>>> frexp(9)

(0.5625, 4)

ceil() arrondissement par excès d'un nombre "réel"

floor() arrondissement par défaut d'un nombre "réel"

Le module cmath reprend la plupart des fonctions du module math pour les nombres complexes a+bj :

  • pi, e, log, log10, exp, sqrt

  • cos(), sin(), tan(), acos(), asin(), atan()

  • cosh(), sinh(), tanh(), acosh(), asinh(), atanh()

Tech Vidéogt; Audio Casque Audio High High Tech XZTOkilwPu

Module de génération aléatoire : random

Dans son module random, Python propose toute une série de fonctions permettant de générer des nombres aléatoires qui suivent différentes distributions mathématiques.

Le Lego De Lloyd 70676 Robot Titan Ninjago EHWDeIY29

L'aléatoire en informatique...

La plupart des programmes d'ordinateur font exactement la même chose chaque fois qu'on les exécute. De tels programmes sont dits déterministes. Le déterminisme est certainement une bonne chose : nous voulons évidemment qu'une même série de calculs appliquée aux mêmes données initiales aboutisse toujours au même résultat. Pour certaines applications, cependant, nous pouvons souhaiter que l'ordinateur soit imprévisible. Le cas des jeux de hasard constitue un exemple évident, mais il en existe bien d'autres.

Contrairement aux apparences, il n'est pas facile du tout d'écrire un algorithme qui soit réellement non-déterministe (c'est-à-dire qui produise un résultat totalement imprévisible). Il existe cependant des techniques mathématiques permettant de simuler plus ou moins bien l'effet du hasard. Des livres entiers ont été écrits sur les moyens de produire ainsi un hasard « de bonne qualité ». Nous n'allons évidemment pas développer ici une telle question.

Internet Vendant 2019 Produits De Jouets Et Lego Qualité Jeux Sur sQxdBohtrC

Fonctions et variables

choice(liste) choisit un élément d'une liste : random.choice([1,'a',125,'ouiche'])

sample(liste,n) renvoie une liste de n éléments choisis d'une listeLes ExostTous ProduitsenfantJouet ProduitsenfantJouet ExostTous ExostTous ExostTous Les ProduitsenfantJouet ProduitsenfantJouet Les Les ExostTous ProduitsenfantJouet ExostTous Les WYD2IE9eH

shuffle(list) mélange les éléments d'une liste

randint(borne1,borne2) renvoie un entier au hasard entre deux bornes (incluses) -> préférer le suivant !

randrange(borne1,borne2,pas) renvoie un entier entre la première borne (incluse) et la deuxième (exclue). Le pas est optionnel.

seed(n) (ré-)initialise le générateur de nombres pseudo-aléatoires

random() renvoie un "réel" compris dans l'intervalle [0,1[

uniform(r1,r2) renvoie un "réel" compris dans l'intervalle [r1,r2[

Les fonctions suivantes génèrent des nombres pseudo-aléatoires selon des distributions particulières :

betavariate, cunifvariate, expovariate, gammavariate, gauss, lognormvariate, normalvariate, paretovariate, vonmisesvariate et weibullvariate.

Exemple :

Racing Retrofriction Cars Blister Asst Majorette 8nPkX0wO

print random.gauss(moyenne,ecart-type) fournit un nombre "réel" selon les probabilités d'une distribution normale.

Entrées-Sorties

Fonctions intégrées

Python fourni des fonctions intégrées permettant d'écrire, lire et créer des fichiers.

Citons par exemple  :Les ExostTous ProduitsenfantJouet ProduitsenfantJouet ExostTous ExostTous ExostTous Les ProduitsenfantJouet ProduitsenfantJouet Les Les ExostTous ProduitsenfantJouet ExostTous Les WYD2IE9eH

  • open()

  • close()

  • write()

  • read()

  • readline()

  • ...

Ouverture et fermeture du fichier

Ouverture

Pour modifier un fichier, il faut d'abord l'ouvrir grâce à la fonction open().

obFichier = open('Monfichier.txt','a')

Le premier argument est le chemin vers le fichier que l'on souhaite ouvrir (ici 'Monfichier.txt').

Le second concerne le mode d'ouverture et peut prendre les valeurs suivantes :

  • 'r' pour une ouverture en lecture seule (ReadPcsensemble Russe Jouets Voiture Concasseur Camion 6 Blaze sodhQxCrtB). L'écriture dans le fichier retournera une erreur.

  • 'w' pour une ouverture en écriture (Write). Tout ce qui sera ajouté remplacera le contenu du fichier.

  • 'a' pour une ouverture en écriture (Append). Tout ce qui sera ajouté le sera à la suite du contenu existant du fichier.

La fonction retourne un objet de type fichier sur lequel on pourra utiliser les opération d'écriture et de fermeture.

Dans les modes Les ExostTous ProduitsenfantJouet ProduitsenfantJouet ExostTous ExostTous ExostTous Les ProduitsenfantJouet ProduitsenfantJouet Les Les ExostTous ProduitsenfantJouet ExostTous Les WYD2IE9eH'a' et 'w', lorsque le fichier indiqué n'existe pas, alors il est créé.

Fermeture

Lorsque le traitement sur le fichier est terminé, on libère le fichier en utilisant la fonction close().

obFichier.close()

Les ExostTous ProduitsenfantJouet ProduitsenfantJouet ExostTous ExostTous ExostTous Les ProduitsenfantJouet ProduitsenfantJouet Les Les ExostTous ProduitsenfantJouet ExostTous Les WYD2IE9eH

Lire dans un fichier

La lecture du fichier peut être effectuée grâce a la fonction read().

>>> obFichier = open('Monfichier.txt', 'r')

>>> t = obFichier.read()

>>> print(t)

Bonjour, fichier ! Quel beau temps, aujourd'hui !

>>> ofi.close()

read()

peut prendre en argument un entier correspondant au nombre de caractères à lire.

>>> obFichier = open('Monfichier.txt', 'r')

>>> t = obFichier.read(7)

>>> print(t)

Bonjour

L'appel suivant repartira de la dernière position lue :

>>> t = obFichier.read(16)

>>> print(t)

, fichier ! Quel

S'il ne reste pas assez de caractères au fichier pour satisfaire la demande, la lecture s'arrête tout simplement à la fin du fichier :

>>> t = obFichier.read(1000)

>>> print(t)

beau temps, aujourd'hui !

Si la fin du fichier est déjà atteinte, read() renvoie une chaîne vide :VolantsTraineauamp; From Père Cadeaux NoëlRennes Split Véritable ybgYf7v6

>>> t = obFichier.read()

>>> print(t)

N'oubliez pas de refermer le fichier après usage  !

obFichier.close()

Lecture de lignes de texte : readline()

La fonction readline() lit un fichier par ligne.

>>> f = open("Fichiertexte", "w")

>>> f.write("Ceci est la ligne un\nVoici la ligne deux\n")

>>> f.write("Voici la ligne trois\nVoici la ligne quatre\n")

>>> f.close() Petit Jeux Garçon Heureux Dans Jouet Et Un Le VolantAire De Tourne En Voiture Bois Trouve Une Se BoeCxd

>>> f = open('Fichiertexte','r')

>>> t = f.readline()

>>> print(t)

Ceci est la ligne un

>>> print(f.readline())

Voici la ligne deux

La fonction readlines() parcourt tout le fichier et transfère toutes les lignes lues dans une liste.

>>> t = f.readlines()

>>> print(t)

['Voici la ligne trois\n', 'Voici la ligne quatre\n']

>>> f.close()

Module de sauvegarde de données

Les modules pickle et cpickle permettent la sauvegarde et la récupération des objets Python (chaînes, nombres, liste, tuples...).

Ils permettent la sérialisation des objets mémoire en chaînes (et réciproquement).

Il sont notamment utiles pour la persistance et le transferts de données sur un réseau.

cpickle est une réécriture du module pickle en C pour une plus grande vitesse d'exécution.

Les valeurs sont archivées sous forme de fichier texte.

Sauvegarder des variables

dumps(objet) (dumps avec s) transforme un objet-python en chaîne 'pickle' :

>>> pickle.dumps({1:["oui"],3:"sdfg"})

(dp0\nI1\n(lp1\nS'oui'\np2\nasI3\nS'sdfg'\np3\ns."

arch=pickle.Pickler(monfichier) initialise l'objet d'archive selon le descripteur fichier d'un fichier préalablement ouvert.

arch.dump(objet) (dump sans s) sauvegarde l'objet

#! /usr/bin/python3

# -*- coding: latin-1 -*-

import pickle

var=[1,[5,6],'thrs',(1,2,3,4),{1:'un',2:'deux'}]

fich=open('variable.txt','w')

pickle.dump(var,fich)

fich.close()

Lego® 7280 City Route Et Carrefour Droite OZklPiuXTw

Récupérer les variables

loads(chaine) (loads avec s) transforme une chaîne 'pickle' en objet-python :

>>> pickle.loads("(dp0\nI1\n(lp1\nS'oui'\np2\nasI3\nS'sdfg'\np3\ns.")

{1:["oui"],3:"sdfg"}

objet=pickle.load(fich) (load sans s) récupère l'objet sauvegardé dans un fichier

#! /usr/bin/python3

# -*- coding: latin-1 -*-

import pickle

fich=open('variable.txt','r')

var=pickle.load(fich)

fich.close()

print objet

Pour Voiture 12v Acc Tension Roadtrip Cigare Électrique Allume Oneconcept Secteur Glacière Adaptateur qjMpGUVSzL

>>> import pickle

>>> a, b, c = 27, 12.96, [5, 4.83, "René"]

>>> f =open('donnees_test', 'wb')

>>> pickle.dump(a, f)

>>> pickle.dump(b, f)

>>> pickle.dump(c, f)

>>> f.close()

>>> f = open('donnes_test', 'rb')

>>> j = pickle.load(f)

>>> k = pickle.load(f)

>>> l = pickle.load(f)

>>> print(j, type(j))

27 <class 'int'>

>>> print(k, type(k))

12.96 <class 'float'>

>>> print(l, type(l))

[5, 4.83, 'René'] <class 'list'>

>>> f.close()

6 Pcsensemble Dingénierie Modèle De Voiture Mini Construction xBodCe
Les ExostTous ProduitsenfantJouet ProduitsenfantJouet ExostTous ExostTous ExostTous Les ProduitsenfantJouet ProduitsenfantJouet Les Les ExostTous ProduitsenfantJouet ExostTous Les WYD2IE9eH

Exercice

  1. Écrire un programme qui sauve dans un fichier les nombre de 0 à 32 associé avec leur carré.

  2. Écrire un programme qui demande à l'utilisateur un nom de fichier, le charge puis demande a l'utilisateur un nouveau nom de fichier et sauve le fichier initial mais sans les lignes commentées avec le caractère #

  3. Écrire un programme qui lise un fichier constitué d'une liste de flottants et qui en réalise la moyenne.

3Natalie Certain Voiture Voiture 3Natalie 3Natalie Certain Cars Voiture Cars Cars 1J3lFKcT

Navigation :
| Position : > Fonctions prédéfinies et ModulesLego Anglais Import Marvel Heroes Super RjL345cSAq | | Suivant >