Python: Règles syntaxiques, blocs: Difference between revisions

From Wiki Cours
Jump to navigation Jump to search
Line 47: Line 47:


Ces mots ont une signification dans le langage et ne peuvent être utilisés pour des noms de variables, de fonctions, etc...
Ces mots ont une signification dans le langage et ne peuvent être utilisés pour des noms de variables, de fonctions, etc...
{{Div col|cols=3}}
*<code>and</code>
*<code>and</code>
*<code>as</code>
,<code>as</code>
*<code>assert</code>
,<code>assert</code>
*<code>break</code>
,<code>break</code>
*<code>class</code>
,<code>class</code>
*<code>continue</code>
,<code>continue</code>
*<code>def</code>
,<code>def</code>
*<code>del</code>
,<code>del</code>
*<code>elif</code>
,<code>elif</code>
*<code>else</code>
,<code>else</code>
*<code>except</code>
,<code>except</code>
*<code>exec</code>{{refn|group=note|name=noLongerReservedFrom3|Starting from Python 3, <code>exec</code> and <code>print</code> are functions, so they are not keywords anymore.}}
,<code>exec</code>
*<code>False</code>{{refn|group=note|name=keywordIn3|Starting from Python 3, keywords <code>True</code>, <code>False</code> and <code>nonlocal</code> were introduced.}}
,<code>False</code>
*<code>finally</code>
,<code>finally</code>
*<code>for</code>
,<code>for</code>
*<code>from</code>
,<code>from</code>
*<code>global</code>
,<code>global</code>
*<code>if</code>
,<code>if</code>
*<code>import</code>
,<code>import</code>
*<code>in</code>
,<code>in</code>
*<code>is</code>
,<code>is</code>
*<code>lambda</code>
,<code>lambda</code>
*<code>None</code>
,<code>None</code>
*<code>nonlocal</code>{{refn|group=note|name=keywordIn3}}
,<code>nonlocal</code>
*<code>not</code>
,<code>not</code>
*<code>or</code>
,<code>or</code>
*<code>pass</code>
,<code>pass</code>
*<code>print</code>{{refn|group=note|name=noLongerReservedFrom3}}
,<code>print</code>
*<code>raise</code>
,<code>raise</code>
*<code>return</code>
,<code>return</code>
*<code>True</code>{{refn|group=note|name=keywordIn3}}
,<code>True</code>
*<code>try</code>
,<code>try</code>
*<code>while</code>
,<code>while</code>
*<code>with</code>
,<code>with</code>
*<code>yield</code>
,<code>yield</code>
{{Div col end}}

Revision as of 15:14, 17 July 2015

Structuration et notion de bloc

En Python, chaque instruction s'écrit sur une ligne sans mettre d'espace:

a = 10
b = 3
print a, b

Les instructions simples peuvent cependant être mises sur la même ligne en les séparant par des points virgules ;, les lignes étant exécutées dans l'ordre de gauche à droite:

a = 10; b = 3; print a, b

De plus, la séparation entre les 'en-tête's qui sont des lignes de définition de boucles, de fonction, de classe qui se terminent par les deux points : et le contenu ou 'bloc' d'instructions correspondant se fait par indentation des lignes. Une indentation s'obtient par le bouton correspondant sur le clavier (avec deux flèches à gauche) ou bien par 4 espaces successifs.

Un programme python se structurera donc typiquement sous la forme:

ligne-bloc

en-tête-1:
    en-tête-2:
        ligne-bloc
        ligne-bloc
    en-tête-2:
        ligne-bloc
        ligne-bloc
    ligne-bloc
    ligne-bloc

ligne-bloc
ligne-bloc

Par exemple:

def inverse(x):
    if x == 0.0:
        return 'inf'
    else:
        return 1./x

inverse(1.34)
inverse(0.0)

Mots-clé réservés

Ces mots ont une signification dans le langage et ne peuvent être utilisés pour des noms de variables, de fonctions, etc...

  • and

,as ,assert ,break ,class ,continue ,def ,del ,elif ,else ,except ,exec ,False ,finally ,for ,from ,global ,if ,import ,in ,is ,lambda ,None ,nonlocal ,not ,or ,pass ,print ,raise ,return ,True ,try ,while ,with ,yield