Support de cours pour s’initier avec le Framework Python Enthought


Télécharger Support de cours pour s’initier avec le Framework Python Enthought

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


Support de cours pour s’initier avec le Framework Python Enthought

Qu'est-ce que Python?

BON MOT

Python est un langage de programmation interprété qui vous permet de faire presque tout ce qui est possible avec un langage compilé (C / C ++ / Fortran) sans nécessiter toute la complexité.

  • Collecte automatique des ordures
  • saisie dynamique
  • interprété et interactif
  • orienté objet
  • "Batteries incluses"
  • Libre
  • portable
  • Facile à apprendre et à utiliser
  • vraiment modulaire

Qui utilise Python?

Traitement et étalonnage des données pour les instruments de l'espace Hubble

Télescope.

CHAPEAU ROUGE

PAINT SHOP PRO 9

Anaconda, le programme d'installation de Redhat Linux, est écrit en Python.

Une des trois principales langues utilisées chez Google avec C ++ et Java.

Guido y travaille.

Animation numérique et effets spéciaux:

Lumière industrielle et magie

Imageworks

Studios Tippett

Disney

Travaux de rêve

L'INDUSTRIE PÉTROLIÈRE

Outils de géophysique et d'exploration:

ConocoPhillips, Shell

Outils de simulation en dynamique des fluides.

Introduction de la langue

# nombres réels

>>> b = 1,2 + 3,1

>>> b

4.2999999999999998

>>> type (b)

<type 'float'>

# nombres complexes

>>> c = 2 + 1.5j

>>> c

(2 + 1.5j)

# ajoutant deux valeurs

>>> 1 + 1

# définition d'une variable

>>> a = 1

>>> a

1

# vérification d'un type de variable

>>> type (a)

<type 'int'>

# un entier arbitrairement long

>>> a = 1203405503201

>>> a

1203405503201L

>>> type (a)

<type 'long'>

Calculatrice interactive

Les quatre types numériques en Python sur les architectures 32 bits sont:

entier (4 octets)

entier long (toute précision)

float (8 octets comme le double de C)

complexe (16 octets)

Le module numpy, que nous verrons plus tard, supporte un plus grand nombre de types numériques.

Les cordes

# utilisant des guillemets doubles

>>> s = “bonjour le monde”

>>> imprimer s

Bonjour le monde

# guillemets simples fonctionnent également

>>> s = 'bonjour le monde'

>>> imprimer s

Bonjour le monde

>>> s = “12345”

>>> len (s)

CRÉER DES CORDES

# concaténation de deux chaînes

>>> “bonjour“ + “monde”

'Bonjour le monde'

# répéter une chaîne

>>> “bonjour“ * 3

'Bonjour bonjour bonjour '

Opérations à cordes

LONGUEUR DE CHAINE

SPLIT / JOIN STRINGS

# mots délimités par un espace

>>> wrd_lst = s.split ()

>>> print wrd_lst

['Bonjour le monde']

# réunir les mots

# avec un espace entre les deux

>>> '' .join (wrd_lst)

Bonjour le monde

Quelques méthodes de chaîne

>>> s = “bonjour le monde”

>>> à la place ("monde", "Mars")

"Bonjour Mars"

REMPLACEMENT DE TEXTE

CONVERTIR EN CAS SUPERIEUR

>>> plus haut ()

«BONJOUR MARS»

>>> s = “\ t bonjour \ n”

>>> à la bande ()

'Bonjour'

ENLEVER WHITESPACE

Méthodes de chaîne disponibles

# liste les méthodes disponibles sur une chaîne

>>> dir (s)

[…

'capitaliser',

'centre',

'compter',

'décoder',

'encoder',

'se termine par',

'expandtabs',

'trouver',

'indice',

'isalnum',

'isalpha',

'isdigit',

'est plus bas',

'isspace',

'istitle',

'isupper',

'joindre',

'juste',

'inférieur',

'lstrip',

'remplacer',

'rfind',

'rindex',

'rjust',

'rsplit',

'rriprip',

'Divisé',

'lignes fractionnées',

'commence avec',

'bande',

'swapcase',

'Titre',

'Traduire',

'plus haut',

'zfill']



Cordes multilignes

# chaînes entre triples guillemets

# conserver les sauts de ligne

>>> a = ”” ”bonjour

... monde ”” ”

>>> imprimer un monde bonjour

# chaînes multi-lignes utilisant

# “\” Pour indiquer la suite

>>> a = "bonjour" \

... "monde"

>>> imprimer un monde bonjour

# y compris la nouvelle ligne

>>> a = "bonjour \ n" \

... "monde"

>>> imprimer un monde bonjour

Formatage de chaîne

VARIABLES NOMMÉES

# Il supporte également un "nommé"

approche variable où

#% (nom_variable) f sera affiché

# nom_var au format float.

>>> “% (s) s% (x) f,% (y) d”%

... des locaux()

>>> imprimer quelques chiffres: 1.340000, 2

FORMAT DE CORDES

# l'opérateur% vous permet

# pour fournir des valeurs à un

# chaîne de format. Le format

# chaîne suit

Conventions # C.

>>> s = “quelques chiffres:”

>>> x = 1,34

>>> y = 2

>>> t = “% s% f,% d”% (s, x, y)

>>> imprimer t

quelques chiffres: 1.340000, 2

Pour plus d'informations, voir:

http://docs.python.org/lib/typesseq-strings.html

http://docs.python.org/lib/node40.html

Des moteurs de gabarit plus avancés tels que

"Cheetah" existe aussi:

http://www.cheetahtemplate.org/

VARIABLES NOMMÉES

# À partir de la version 2.4, Python prend en charge

# “Modèles”

>>> depuis un modèle d'importation de chaîne

>>> t = Modèle (“$ s $ x $ y”)

>>> t.substituer (locals ())

Quelques chiffres: 1.34, 2

Liste des objets

>>> l = [10,11,12,13,14]

>>> imprimer l

[10, 11, 12, 13, 14]

CRÉATION DE LISTE AVEC DES SUPPORTS

# utilisez simplement l'opérateur +

>>> [10, 11] + [12, 13]

[10, 11, 12, 13]

LISTE DE CONCATENATION

ÉLÉMENTS DE RÉPÉTITION DANS LES LISTES

# la méthode de la gamme est utile

# pour créer une séquence

>>> gamme (5)

[0, 1, 2, 3, 4]

>>> gamme (2,7)

[2, 3, 4, 5, 6]

>>> gamme (2,7,2)

[2, 4, 6]

# l'opérateur multiplier

# fait le tour.

>>> [10, 11] * 3

[10, 11, 10, 11, 10, 11]

gamme (démarrer, arrêter, étape)

Indexage

# liste

# indices: 0 1 2 3 4

>>> l = [10,11,12,13,14]

>>> l [0]

RETRAIT D'UN ELEMENT

Le premier élément d'un tableau a index = 0

comme en C. Prenez note programmeurs Fortran!

INDICES NEGATIFS

Nombre d'indices négatifs

# en arrière à partir de la fin de

# la liste.

#

# indices: -5 -4 -3 -2 -1

>>> l = [10,11,12,13,14]

>>> l [-1]

14

>>> l [-2]

13

RÉGLER UN ÉLÉMENT

>>> l [1] = 21

>>> imprimer l

[10, 21, 12, 13, 14]

Hors des limites

>>> l [10]

Traceback (dernier bout):

Fichier "<entrée interactive>", ligne 1, dans?

IndexError: index de liste hors limites

Plus sur les objets de la liste

# utiliser ou pas dans

>>> l = [10,11,12,13,14]

>>> 13 en l

Vrai

>>> 13 pas dans l

Faux

La liste contient-elle x?

LISTE CONTENANT PLUSIEURS TYPES

# liste contenant un entier,

# chaîne et une autre liste.

>>> l = [10, ’onze’, [12,13]]

>>> l [1]

'Onze'

>>> l [2]

[12, 13]

# utiliser plusieurs indices pour

# récupérer des éléments de

# listes imbriquées.

>>> l [2] [0]

12

>>> len (l)

LONGUEUR D'UNE LISTE

# utilise le mot-clé del

>>> del l [2]

>>> l

[10, "onze"]

SUPPRESSION D'OBJET DE LA LISTE

Avant la version 2.5, Python était limité aux séquences contenant environ 2 milliards d'éléments.

Python 2.5 peut gérer jusqu'à 263 éléments.

Tranchage

# indices: 0 1 2 3 4

>>> l = [10,11,12,13,14]

# [10,11,12,13,14]

>>> l [1: 3]

[11, 12]

# les indices négatifs fonctionnent aussi

>>> l [1: -2]

[11, 12]

>>> l [-4: 3]

[11, 12]



LISTES DE COUPE

## les limites omises sont

## supposé être le début

## (ou fin) de la liste.

# saisir les trois premiers éléments

>>> l [: 3]

[10, 11, 12]

# saisir les deux derniers éléments

>>> l [-2:]

[13, 14]

# tous les autres éléments

>>> l [:: 2]

[10, 12, 14]

var [lower: upper: step]

Les tranches extraient une partie d'une séquence en spécifiant une limite inférieure et supérieure. Les éléments extraits commencent par le bas et vont jusqu’à l’élément supérieur, sans toutefois l’inclure. Mathématiquement, la plage est [inférieure, supérieure). La valeur de pas spécifie le pas entre les éléments.

Indices d'omission

Quelques méthodes pour les objets de liste

some_list.reverse ()

Ajoutez l'élément x à la fin de la liste, some_list.

some_list.sort (cmp)

some_list.append (x)

some_list.index (x)

some_list.count (x) some_list.remove (x)

Comptez le nombre de fois où x apparaît dans la liste.

Renvoie l'index de la première occurrence de x dans la liste.

Supprimer la première occurrence de x de la liste.

Inverser l'ordre des éléments dans la liste.

Par défaut, triez les éléments dans l'ordre croissant. Si une fonction de comparaison est donnée, utilisez-la pour trier la liste.

some_list.extend (sequence)

Concaténer la séquence sur cette liste.

some_list.insert (index, x)

Insérer x avant l'index spécifié

Renvoie l'élément à l'index spécifié. En outre, supprimez-le de la liste.

some_list.pop (index)

Liste des méthodes en action

>>> l = [10,21,23,11,24]

# ajouter un élément à la liste

>>> l.append (11)

>>> imprimer l

[10,21,23,11,24,11]

# combien y a-t-il de 11?

>>> l.count (11)

# étendre avec une autre liste

>>> l.extend ([5,4])

>>> imprimer l

[10,21,23,11,24,11,5,4]

# où se produit le premier 11?

>>> l'index (11)

# insérer 100 à l'index 2?

>>> l.insert (2, 100)

>>> imprimer l

[10,21,100,23,11,24,11,5,4]

# pop l'élément à l'index = 4

>>> l.pop (3)

# enlève les 11 premiers

>>> supprimer (11)

>>> imprimer l

[10,21,100,24,11,5,4]

# trier la liste

>>> l.sort ()

>>> imprimer l

[4,5,10,11,21,24,100]

# inverser la liste

>>> l.reverse ()

>>> imprimer l

[100,24,21,11,10,5,4]

Assortiment d'autres fonctions de liste

# l.sort () est une place

# Trier. trié (l) renvoie a

# nouvelle liste des articles en l

# trié.

>>> l = [10,21,23,11,24]

>>> triés (l)

[10, 11, 21, 23, 24]

# zip combine des éléments de

# plusieurs listes ensemble comme

# tuples.

>>> x = [1,2,3]

>>> y = ['a', 'b', 'c']

>>> z = zip (x, y)

>>> z

[(1, "a"), (2, "b"), (3, "d")]

# zip (avec un petit truc) est

# aussi son propre inverse

>>> zip (* z)

[(1, 2, 3), ('a', 'b', 'c')]

ZIP triée

# inversé (l) retourne un

# 'Itérateur' qui va

# éléments de retour du

# liste dans l'ordre inverse.

# Une copie n'est pas faite à moins que

# explicitement demandé.

>>> l = [10,21,23,11,24]

>>> pour i en inversé (l):

... imprimer i,

24 11 23 21 10

RENVERSÉ

Mutable vs Immutable

# Objets mutables, tels que

# listes, peuvent être changées

# en place.

# insérer de nouvelles valeurs dans la liste

>>> l = [10,11,12,13,14]

>>> l [1: 3] = [5,6]

>>> imprimer l

[10, 5, 6, 13, 14]

OBJETS MUTABLES OBJETS IMMUTABLES

# Objets immuables, tels que

# chaînes, ne peut pas être changé

# en place.

# essayez d'insérer des valeurs dans

# un string

>>> s = 'abcde'

>>> s [1: 3] = 'xy'

Traceback (dernier bout):

Fichier "<entrée interactive>", ligne 1, dans?

TypeError: l'objet ne prend pas en charge l'affectation de tranche

# voici comment le faire

>>> s = s [: 1] + ‘xy '+ s [3:]

>>> imprimer s

'axyde'

Le module cStringIO traite les chaînes comme un tampon de fichier et permet les insertions.

C’est utile lorsque vous travaillez avec de grandes chaînes ou lorsque la vitesse est primordiale.

Dictionnaires

Les dictionnaires stockent des paires clé / valeur. L'indexation d'un dictionnaire par une clé renvoie la valeur qui lui est associée.

# créer un dictionnaire vide en utilisant des accolades

>>> enregistrement = {}

>>> enregistrement [‘premier’] = ‘Jmes’

>>> enregistrement ["dernier"] = "Maxwell"

>>> enregistrement [‘né’] = 1831

>>> imprimer le dossier

{'premier': 'Jmes', 'né': 1831, 'dernier': 'Maxwell'}

# créer un autre dictionnaire avec les entrées initiales

>>> new_record = {'first': 'James', 'middle': 'Clerk'}

# met maintenant à jour le premier dictionnaire avec les valeurs du nouveau

>>> record.update (nouveau_enregistrement)

>>> imprimer le dossier

{'first': 'James', 'middle': 'Clerk', 'last': 'Maxwell', 'né':

1831}



7