Cours Python 3

download Cours Python 3

of 132

  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    7
  • download

    1

Embed Size (px)

description

COURS PYTHON

Transcript of Cours Python 3

  • Bob CORDEAU & Laurent POINTAL

    Une introduction Python 3version 1.6

  • Bob CORDEAU

    Laurent POINTAL

    UNE INTRODUCTION

    PYTHON 3version 1.6

    En se partageant le savoir ne se divise pas, il se multiplie.

  • kk

    = 1+5

    2

    bob.cordeau@laposte.netlaurent.pointal@limsi.frcreativecommons.org/licenses/by/3.0/fr/

  • b

  • b

    b

  • b

  • j

    b

  • j

  • b

    b

  • b

  • b

  • #

  • j

  • b

    b

  • b

    j

  • b

  • b

  • b

  • j

  • j

    j

  • b

  • j

  • http://pypi.python.org/pypi

  • b

  • b

    b

  • b

    b

  • b

  • b

    b

    b

  • b

  • bN

    N 1

  • {x2|x [2, 11[}

    b

  • b

  • b

  • b

  • http://pypi.python.org/

  • b n57n = (5 n1) + (7 n0)

    b n

    5716 = (5 161) + (7 160) = 8710578 = (5 81) + (7 80) = 4710

  • n

    e =n

    i=0

    1

    i!

  • a, b

    n 2 < n < 100

  • n n

    n

    nbd s nbd

    6.nbd s nbd

    (a + n + n2) 0 n < (a 1)

    [2, 1000]

  • >>>

  • O(1)

  • http://www.python.orghttp://pypi.python.org/pypihttp://code.google.com/p/pythonxy/wiki/Downloadshttp://code.google.com/p/spyderlib/http://www.wingware.com/downloads/wingide-101http://ipython.org/http://www.scintilla.org/SciTEDownload.htmlhttp://code.google.com/p/pyscripter/http://http://matplotlib.org//http://http://www.inkscape-fr.org//https://code.google.com/p/rst2pdf/http://http://www.texniccenter.org//http://perso.limsi.fr/pointal/liens:python_links

  • Indexation des squences

    Types de base

    Mmento Bases Python 32012-2013 - Laurent PointalLicence Creative Commons Paternit 2Documentation officielle Python sur

    http://docs.python.org/py3k

    0783 -192int

    9.23 -1.7e-60.0float

    True Falsebool

    "Un\nDeux" 'L\'me'str

    """X\tY\tZ1\t2\t3"""

    10-6

    tabulation

    retour la ligne

    multiligne

    Types Conteneurs

    list [1,5,9] ["x",11,8.9] ["mot"] []tuple (1,5,9) 11,"y",7.4 ("mot",) ()

    dict{1:"un",3:"trois",2:"deux",3.14:""}{"cl":"valeur"}

    set

    {}

    {1,9,3,0}

    squences ordonnes, accs index rapide, valeurs rptables

    set()

    sans ordre a priori, cl unique, accs par cl rapide; cls= types de base ou tuples

    {"cl1","cl2"}

    non modifiable

    Affectation de variables

    x = 1.2+8+sin(0)

    y,z,r = 9.2,-7.6,"bad"

    valeur ou expression de calcul

    nom de variable (identificateur)

    azAZ_ suivi de azAZ_09 accents possibles mais viter mots cls du langage interdits distinction casse min/MAJ

    expression juste avec des virgules

    non modifiable,

    squence ordonne de caractres

    dictionnaire

    ensemble

    entier, flottant, boolen, chane

    conteneur de plusieurs valeurs (ici un tuple)

    noms devariables

    Identificateurs

    a toto x7 y_max BigOne 8y and

    x+=3 x-=2incrmentationdcrmentation

    Conversions

    pour les listes, tuples, chanes de caractres,

    int("15")

    float("-11.24e8")

    bool

    str(78.3) repr("Texte")

    on peut spcifier la base du nombre entier en 2nd paramtre

    int(15.56) troncature de la partie dcimale (round(15.56) pour entier arrondi)

    et pour avoir la reprsentation littrale

    type(expression)

    utiliser des comparateurs (avec ==, !=, , ), rsultat logique boolen

    voir au verso le formatage de chanes, qui permet un contrle fin

    ":".join(['toto','12','pswd']) 'toto:12:pswd'chane de jointure squence de chanes

    "des mots espacs".split() ['des','mots','espacs']

    "1,4,8,2".split(",") ['1','4','8','2']chane de sparation

    dict([(3,"trois"),(1,"un")]) {1:'un',3:'trois'}

    list("abc") ['a','b','c']utilise chaque lment de la squence en paramtre

    set(["un","deux"]) {'un','deux'}utilise chaque lment de

    la squence en paramtre

    lst=[11, 67, "abc", 3.14, 42, 1968] lst[1]67lst[-2]42

    0 1 2 3 54

    -6 -5 -4 -3 -1-2

    accs individuel aux lments par [index]index positif

    index ngatif

    0 1 2 3 54 6

    -6 -5 -4 -3 -1-2tranche ngative

    tranche positive

    accs des sous-squences par [tranche dbut:tranche fin:pas]

    len(lst) 6

    lst[1:3][67,"abc"]

    lst[::2][11,"abc",42]lst[-3:-1][3.14,42]lst[:3][11,67,"abc"]

    lst[:-1][11,67,"abc",3.14,42]

    lst[4:][42,1968]

    lst[1:-1][67,"abc",3.14,42]

    lst[:][11,67,"abc",3.14,42,1968]Indication de tranche manquante partir du dbut / jusqu' la fin.

    Instruction conditionnelle

    if x==42: # bloc si expression logique x==42 vraie print("vrit vraie")elif x>0: # bloc sinon si expression logique x>0 vraie print("positivons")elif bTermine: # bloc sinon si variable boolenne bTermine vraie print("ah, c'est fini")else: # bloc sinon des autres cas restants print("a veut pas")

    Logique boolenne Blocs d'instructions

    instruction parente: bloc d'instructions 1 instruction parente: bloc d'instructions 2

    instruction suivante aprs bloc 1

    ind

    enta

    tio

    n!

    Comparateurs: < > = == !==

    a and b

    a or b

    not a

    et logique

    ou logique

    non logiquel'un ou l'autre ou les deux

    les deux en mme temps

    if expression logique: bloc d'instructions

    bloc d'instructions excut

    uniquement si une condition est vraie

    TrueFalse

    valeur constante vrai

    valeur constante faux

    combinable avec des sinon si, sinon si... et un seul sinon final,exemple:

    lst[-1]1968

    lst[0]11

    le dernier

    le premier

    x=None valeur constante non dfini

    Maths

    Oprateurs: + - * / // % **

    entire reste ab

    from math import sin,pi

    ' chapp

    abs(-3.2)3.2

    round(3.57,1)3.6

    nombres flottants valeurs approches!

    sin(pi/4)0.707cos(2*pi/3)-0.4999

    sqrt(81)9.0 log(e**2)2.0

    angles en radians

    acos(0.5)1.0471

    etc. (cf doc)

    (1+5.3)*212.6

    pour noms de variables,

    fonctions, modules, classes

    Mmento v1.2.1bis

    Sur les squences modifiables, utilisable pour suppression del lst[3:5] et modification par affectation lst[1:4]=['hop',9]

    str en tant que squence ordonne de caractres

    couples cl/valeur

  • "modele{} {} {}".format(x,y,r)"{slection:formatage!conversion}" Slection : 2 x 0.nom 4[cl] 0[2]

    str

    Affichage / Saisieprint("v=",3,"cm:",x,",",y+4)

    Options de print: sep=" " (sparateur d'lments, dfaut espace) end="\n" (fin d'affichage, dfaut fin de ligne) file=f (print vers fichier, dfaut sortie standard)

    lments afficher: valeurs littrales, variables, expressions

    boucle sur dict/set = boucle sur squence des cls

    Instruction boucle conditionnellebloc d'instructions excut tant que la condition est vraie

    while expression logique: bloc d'instructions

    s = 0i = 1

    while i

  • IntroductionPrincipales caractristiques du langage PythonMatriel et logicielL'ordinateurDeux sortes de programmes

    Les langagesDes langages de diffrents niveauxBref historique des langages

    Production des programmesDeux techniques de production des programmesTechnique de production de PythonLa construction des programmes

    Algorithme et programmeDfinitionsLa prsentation des programmes

    Les implmentations de Python

    La calculatrice PythonLes modes d'excutionLes deux modes d'excution d'un code Python

    Identificateurs et mots clsIdentificateursStyle de nommageLes mots rservs de Python 3

    Notion d'expressionLes types de donnes entiersLe type intLe type bool

    Les types de donnes flottantsLe type floatLe type complex

    Variables et affectationLes variablesL'affectationAffecter n'est pas comparer !Les variantes de l'affectationLes affectations (explications graphiques)

    Les chanes de caractresLes chanes de caractres : prsentationLes chanes de caractres : oprationsLes chanes de caractres : fonctions vs mthodesMthodes de test de l'tat d'une chaneMthodes retournant une nouvelle chaneLes chanes de caractres : indexation simpleExtraction de sous-chanes (ou tranches )

    Les donnes binairesLes entres-sortiesLes entresLes sortiesLes squences d'chappement

    Le contrle du flux d'instructionsLes instructions composesChoisirChoisir : if - [elif] - [else]Syntaxe compacte d'une alternative

    BouclesRpter : whileParcourir : for

    Ruptures de squencesInterrompre une boucle : breakCourt-circuiter une boucle : continueUtilisation avance des bouclesTraitement des erreurs les exceptions

    Les conteneurs standardLes squencesQu'est-ce qu'une squence ?

    Les listesDfinition, syntaxe et exemplesInitialisations et testsMthodesManipulation des tranches (ou sous-chanes)Des squences de squences

    Les tuplesRetour sur les rfrencesComplment graphique sur l'assignation

    Les tableaux associatifsLes types tableaux associatifsLes dictionnaires (dict)

    Les ensembles (set)Les fichiers textuelsLes fichiers : introductionGestion des fichiers

    Itrer sur les conteneursL'affichage format

    Fonctions et espaces de nomsDfinition et syntaxePassage des argumentsMcanisme gnralUn ou plusieurs paramtres, pas de retourUn ou plusieurs paramtres, utilisation du retourPassage d'une fonction en paramtreParamtres avec valeur par dfautNombre d'arguments arbitraire passage d'un tuple de valeursNombre d'argum