Python Syntaxe de base
Python présente de nombreuses similitudes avec des langages tels que Perl, C et Java. Cependant, il existe également quelques différences.
Dans ce chapitre, nous allons apprendre la syntaxe de base de Python pour vous aider à apprendre rapidement la programmation Python.
Premier programme Python
Programmation interactive
La programmation interactive ne nécessite pas de créer un fichier de script ; le code est écrit en mode interactif de l'interpréteur Python.
Sous Linux, il vous suffit de saisir la commande Python dans la ligne de commande pour démarrer la programmation interactive. La fenêtre d'invite est la suivante :
Python 2.7.6 (par défaut, sept. 9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] sur darwin
Tapez "help", "copyright", "credits" ou "license" pour plus d'informations.
>>>
Sous Windows, le client de programmation interactive est installé lors de l'installation de Python. La fenêtre d'invite est la suivante :

Entrez le texte suivant à l'invite Python, puis appuyez sur Entrée pour voir le résultat :
>>> print ("Hello, Python!")
Dans Python 2.7.6, la sortie de l'exemple ci-dessus est la suivante :
Hello, Python!
Programmation de script
Commencez l'exécution du script en appelant l'interpréteur avec l'argument du script, jusqu'à ce que le script se termine. Une fois le script exécuté, l'interpréteur n'est plus valide.
Écrivons un simple script Python. Tous les fichiers Python auront l'extension.pycomme extension. Copiez le code source suivant dans le fichier test.py.
print ("Hello, Python!")
Ici, supposez que vous avez défini la variable PATH de l'interpréteur Python. Exécutez le programme avec la commande suivante :
$ python test.py
Résultat de sortie :
Hello, Python!
Essayons une autre façon d'exécuter un script Python. Modifiez le fichier test.py comme suit :
Exemple
print ("Hello, Python!")
Ici, supposez que votre interpréteur Python se trouve dans le répertoire /usr/bin. Utilisez la commande suivante pour exécuter le script :
$ chmod +x test.py # 脚本文件添加可执行权限 $ ./test.py
Résultat de sortie :
Hello, Python!
Utilisation de la fonction print de Python3.x dans Python2.x
Si la version Python2.x veut utiliser la fonction print de Python3.x, vous pouvez importer le paquet__future__, qui désactive l'instruction print de Python2.x et utilise la fonction print de Python3.x :
Exemple
>>> print list # instruction print de python2.x
['a', 'b', 'c']
>>> from __future__ import print_function # importer le paquet __future__
>>> print list # L'instruction print de Python2.x est désactivée ; son utilisation provoque une erreur
Fichier "<stdin>", ligne 1
print list
^
SyntaxError: syntaxe invalide
>>> print (list) # Utilisez la fonction print de Python3.x
['a', 'b', 'c']
>>>
De nombreuses fonctionnalités de compatibilité de Python3.x et Python2.x peuvent être__future__importées via ce paquet.
Identifiants Python
En Python, les identifiants sont composés de lettres, de chiffres et de traits de soulignement.
En Python, tous les identifiants peuvent inclure des lettres anglaises, des chiffres et des traits de soulignement (_), mais ne peuvent pas commencer par un chiffre.
En Python, les identifiants sont sensibles à la casse.
Les identifiants commençant par un trait de soulignement ont une signification spéciale. Ceux commençant par un seul trait de soulignement_fooreprésentent des attributs de classe qui ne sont pas directement accessibles et doivent être accessibles via l'interface fournie par la classe ; ils ne peuvent pas êtrefrom xxx import *importés.
Ceux commençant par un double trait de soulignement__fooreprésentent des membres privés d'une classe. Ceux commençant et se terminant par un double trait de soulignement__foo__représentent des identifiants dédiés aux méthodes spéciales en Python, telles que__init__()représente le constructeur d'une classe.
Python peut afficher plusieurs instructions sur la même ligne en utilisant des points-virgules;pour les séparer, par exemple :
>>> print ('hello');print ('example');
hello
example
Mots réservés de Python
La liste suivante présente les mots réservés en Python. Ces mots réservés ne peuvent pas être utilisés comme constantes, variables ou tout autre nom d'identifiant.
Tous les mots-clés Python ne contiennent que des lettres minuscules.
| et | exec | not |
| assert | finally | ou |
| break | for | pass |
| classe | from | |
| continue | global | raise |
| def | if | return |
| del | import | try |
| elif | in | while |
| else | est | with |
| except | lambda | yield |
Lignes et indentation
La plus grande différence entre l'apprentissage de Python et celui d'autres langages est que les blocs de code Python n'utilisent pas d'accolades{}pour contrôler les classes, les fonctions et les autres jugements logiques. La caractéristique la plus distinctive de Python est l'utilisation de l'indentation pour écrire des modules.
La quantité d'espaces blancs dans l'indentation est variable, mais toutes les instructions d'un bloc de code doivent contenir la même quantité d'espaces blancs d'indentation. Cela doit être strictement appliqué.
L'exemple suivant utilise quatre espaces pour l'indentation :
Exemple
print ("True")
else:
print ("False")
Le code suivant provoquera une erreur d'exécution :
Exemple
# -*- coding: UTF-8 -*-
# Nom du fichier : test.py
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
# Sans indentation stricte, une erreur sera signalée lors de l'exécution
print ("False")
Après avoir exécuté le code ci-dessus, le message d'erreur suivant apparaîtra :
File "test.py", line 11
print ("False")
^
IndentationError: unindent does not match any outer indentation level
IndentationError: unindent does not match any outer indentation levelL'erreur indique que vous avez utilisé une indentation incohérente, certaines avec une indentation par tabulation et d'autres avec une indentation par espaces. Il suffit de les rendre cohérentes.
S'il s'agit de l'IndentationError: unexpected indenterreur, le compilateur Python vous dit «Salut, mon pote, il y a un problème de formatage dans votre fichier ; il se peut que les tabulations et les espaces ne soient pas alignés.», donc Python est très strict concernant le formatage.
Par conséquent, dans les blocs de code Python, vous devez utiliser le même nombre d'espaces d'indentation en début de ligne.
Il est recommandé d'utiliser à chaque niveau d'indentationune seule tabulationoudeux espacesouquatre espaces, et souvenez-vous de ne pas les mélanger.
Instructions multilignes
En Python, une nouvelle ligne est généralement utilisée comme terminateur d'une instruction.
Cependant, nous pouvons utiliser une barre oblique inverse (\) pour afficher une instruction d'une seule ligne sur plusieurs lignes, comme suit :
total = item_one + \
item_two + \
item_three
Si une instruction contient des crochets [], {}, ou (), il n'est pas nécessaire d'utiliser un connecteur multiligne. Exemple :
days = ['Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday']
Guillemets Python
Python peut utiliser des guillemets simples ('), des guillemets doubles ("), et des guillemets triples ('''ou""") pour représenter des chaînes de caractères. Le début et la fin des guillemets doivent être du même type.
Les guillemets triples peuvent s'étendre sur plusieurs lignes, une syntaxe rapide pour écrire du texte multiligne, souvent utilisés pour les docstrings, et traités comme des commentaires à des emplacements spécifiques dans un fichier.
word = 'word' sentence = "这是一个句子。" paragraph = """这是一个段落。 包含了多个语句"""
Commentaires Python
En Python, les commentaires sur une seule ligne commencent par#au début.
Exemple
# -*- coding: UTF-8 -*-
# Nom du fichier : test.py
# Premier commentaire
print ("Hello, Python!") # Deuxième commentaire
Résultat de sortie :
Hello, Python!
Les commentaires peuvent être à la fin d'une instruction ou d'une ligne d'expression :
name = "Example" # 这里的内容是一个注释
En Python, les commentaires multilignes utilisent trois guillemets simples'''ou trois guillemets doubles"""。
Exemple
# -*- coding: UTF-8 -*-
# Nom du fichier : test.py
'''
Ceci est un commentaire multiligne utilisant des guillemets simples.
Ceci est un commentaire multiligne utilisant des guillemets simples.
Ceci est un commentaire multiligne utilisant des guillemets simples.
'''
"""
Ceci est un commentaire multiligne utilisant des guillemets doubles.
Ceci est un commentaire multiligne utilisant des guillemets doubles.
Ceci est un commentaire multiligne utilisant des guillemets doubles.
"""
Lignes vides en Python
Les lignes vides séparent les fonctions ou les méthodes de classe, indiquant le début d'un nouveau bloc de code. Une ligne vide est également utilisée entre la classe et l'entrée de fonction pour mettre en évidence le début de l'entrée de fonction.
Les lignes vides sont différentes de l'indentation du code ; les lignes vides ne font pas partie de la syntaxe Python. Si vous n'insérez pas de lignes vides, l'interpréteur Python ne produira pas d'erreur à l'exécution. Cependant, les lignes vides servent à séparer deux sections de code ayant des fonctions ou des significations différentes, ce qui facilite la maintenance ou la refactorisation du code par la suite.
N'oubliez pas : les lignes vides font aussi partie du code du programme.
En attente de la saisie de l'utilisateur
Le programme suivant attend une entrée utilisateur après l'exécution, et se termine après avoir appuyé sur Entrée :
#!/usr/bin/python
# -*- coding: UTF-8 -*-
raw_input("按下 enter 键退出,其他任意键显示...\n")
Dans le code ci-dessus,\nimplémente un saut de ligne. Une fois que l'utilisateur appuie sur la touche Entrée pour quitter, les autres touches sont affichées.
Plusieurs instructions sur la même ligne
Python peut utiliser plusieurs instructions sur la même ligne, séparées par des points-virgules (;). Voici un exemple simple :#!/usr/bin/python import sys; x = 'example'; sys.stdout.write(x + '\n')
Après avoir exécuté le code ci-dessus, le résultat de sortie est :
$ python test.py example
Sortie de print
Par défaut, print effectue une sortie avec un saut de ligne. Pour imprimer sans saut de ligne, ajoutez une virgule à la fin de la variable.,。
Exemple
# -*- coding: UTF-8 -*-
x="a"
y="b"
# Sortie avec saut de ligne
print x
print y
print '---------'
# Sortie sans saut de ligne
print x,
print y,
# Sortie sans saut de ligne
print x,y
Le résultat de l'exemple ci-dessus est :
a b --------- a b a b
Pour plus de détails, consultez :Python2 et Python3 print sans saut de ligne
Plusieurs instructions forment un groupe de code
Un groupe d'instructions ayant la même indentation forme un bloc de code, que nous appelons un groupe de code.
Les instructions composées telles que if, while, def et class commencent par un mot-clé sur la première ligne et se terminent par un deux-points (:). La ou les lignes suivant cette ligne forment un groupe de code.
Nous appelons la première ligne ainsi que le groupe de code suivant une clause.
Comme dans l'exemple suivant :
if expression : suite elif expression : suite else : suite
Arguments de ligne de commande
De nombreux programmes peuvent effectuer des opérations pour consulter des informations de base. Python peut utiliser-hparamètres pour consulter les informations d'aide de chaque paramètre :
$ python -h usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit [ etc. ]
Lors de l'exécution de Python sous forme de script, nous pouvons recevoir des paramètres saisis depuis la ligne de commande. Pour une utilisation spécifique, reportez-vous àArguments de ligne de commande Python。
Extensions supplémentaires