Python - Syntaxe de base

Le langage Python présente de nombreuses similitudes avec Perl, C et Java. Cependant, il existe des différences certaines entre les langues.

Premier programme Python

Exécutons des programmes dans différents modes de programmation.

Programmation en mode interactif

Invoquer l'interpréteur sans passer un fichier de script comme paramètre fait apparaître l'invite suivante -

$ python
Python 2.4.3 (#1, Nov 11 2010, 13:34:43)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Tapez le texte suivant à l'invite Python et appuyez sur Entrée -

>>> print "Hello, Python!"

Si vous exécutez une nouvelle version de Python, vous devrez utiliser l'instruction print avec parenthèses comme dans print ("Hello, Python!");. Cependant, dans la version 2.4.3 de Python, cela produit le résultat suivant -

Hello, Python!

Programmation en mode script

L'appel de l'interpréteur avec un paramètre de script commence l'exécution du script et se poursuit jusqu'à ce que le script soit terminé. Lorsque le script est terminé, l'interpréteur n'est plus actif.

Écrivons un simple programme Python dans un script. Les fichiers Python ont une extension.py. Tapez le code source suivant dans un fichier test.py -

print "Hello, Python!"

Nous supposons que l'interpréteur Python est défini dans la variable PATH. Maintenant, essayez d'exécuter ce programme comme suit -

$ python test.py

Cela produit le résultat suivant -

Hello, Python!

Essayons une autre façon d'exécuter un script Python. Voici le fichier test.py modifié -

#!/usr/bin/python

print "Hello, Python!"

Nous supposons que l'interpréteur Python est disponible dans le répertoire / usr / bin. Maintenant, essayez d'exécuter ce programme comme suit -

$ chmod +x test.py     # This is to make file executable
$./test.py

Cela produit le résultat suivant -

Hello, Python!

Identificateurs Python

Un identifiant Python est un nom utilisé pour identifier une variable, une fonction, une classe, un module ou un autre objet. Un identifiant commence par une lettre A à Z ou a à z ou un trait de soulignement (_) suivi de zéro ou plusieurs lettres, traits de soulignement et chiffres (0 à 9).

Python n'autorise pas les caractères de ponctuation tels que @, $ et% dans les identificateurs. Python est un langage de programmation sensible à la casse. Donc,Manpower et manpower sont deux identifiants différents en Python.

Voici les conventions de dénomination des identifiants Python -

  • Les noms de classe commencent par une lettre majuscule. Tous les autres identifiants commencent par une lettre minuscule.

  • Le fait de commencer un identificateur avec un seul trait de soulignement indique que l'identificateur est privé.

  • Le début d'un identifiant avec deux traits de soulignement en tête indique un identifiant fortement privé.

  • Si l'identificateur se termine également par deux traits de soulignement à la fin, l'identificateur est un nom spécial défini par la langue.

Mots réservés

La liste suivante montre les mots-clés Python. Ce sont des mots réservés et vous ne pouvez pas les utiliser comme constante ou variable ou tout autre nom d'identifiant. Tous les mots-clés Python contiennent uniquement des lettres minuscules.

et exec ne pas
affirmer enfin ou
Pause pour passer
classe de impression
continuer global élever
def si revenir
del importer essayer
elif dans tandis que
autre est avec
sauf lambda rendement

Lignes et retrait

Python ne fournit pas d'accolades pour indiquer des blocs de code pour les définitions de classe et de fonction ou le contrôle de flux. Les blocs de code sont indiqués par une indentation de ligne, qui est appliquée de manière rigide.

Le nombre d'espaces dans l'indentation est variable, mais toutes les instructions du bloc doivent être indentées du même montant. Par exemple -

if True:
   print "True"
else:
   print "False"

Cependant, le bloc suivant génère une erreur -

if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"

Ainsi, en Python, toutes les lignes continues indentées avec le même nombre d'espaces formeraient un bloc. L'exemple suivant comporte divers blocs d'instructions -

Note- N'essayez pas de comprendre la logique à ce stade. Assurez-vous simplement que vous avez bien compris les différents blocs, même s'ils sont sans accolades.

#!/usr/bin/python

import sys

try:
   # open file stream
   file = open(file_name, "w")
except IOError:
   print "There was an error writing to", file_name
   sys.exit()
print "Enter '", file_finish,
print "' When finished"
while file_text != file_finish:
   file_text = raw_input("Enter text: ")
   if file_text == file_finish:
      # close the file
      file.close
      break
   file.write(file_text)
   file.write("\n")
file.close()
file_name = raw_input("Enter filename: ")
if len(file_name) == 0:
   print "Next time please enter something"
   sys.exit()
try:
   file = open(file_name, "r")
except IOError:
   print "There was an error reading file"
   sys.exit()
file_text = file.read()
file.close()
print file_text

Déclarations multilignes

Les instructions en Python se terminent généralement par une nouvelle ligne. Python autorise cependant l'utilisation du caractère de continuation de ligne (\) pour indiquer que la ligne doit continuer. Par exemple -

total = item_one + \
        item_two + \
        item_three

Les instructions contenues entre crochets [], {} ou () n'ont pas besoin d'utiliser le caractère de continuation de ligne. Par exemple -

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

Devis en Python

Python accepte les guillemets simples ('), doubles (") et triples (' '' ou" "") pour désigner des chaînes littérales, à condition que le même type de guillemets commence et termine la chaîne.

Les guillemets triples sont utilisés pour couvrir la chaîne sur plusieurs lignes. Par exemple, tous les éléments suivants sont légaux -

word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""

Commentaires en Python

Un signe de hachage (#) qui n'est pas à l'intérieur d'un littéral de chaîne commence un commentaire. Tous les caractères après le # et jusqu'à la fin de la ligne physique font partie du commentaire et l'interpréteur Python les ignore.

#!/usr/bin/python

# First comment
print "Hello, Python!" # second comment

Cela produit le résultat suivant -

Hello, Python!

Vous pouvez taper un commentaire sur la même ligne après une instruction ou une expression -

name = "Madisetti" # This is again comment

Vous pouvez commenter plusieurs lignes comme suit -

# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

La chaîne suivante entre guillemets triple est également ignorée par l'interpréteur Python et peut être utilisée comme commentaires multilignes:

'''
This is a multiline
comment.
'''

Utilisation de lignes vides

Une ligne ne contenant que des espaces, éventuellement avec un commentaire, est connue comme une ligne vide et Python l'ignore totalement.

Dans une session d'interprétation interactive, vous devez entrer une ligne physique vide pour terminer une instruction multiligne.

En attente de l'utilisateur

La ligne suivante du programme affiche l'invite, l'instruction disant "Appuyez sur la touche Entrée pour quitter" et attend que l'utilisateur agisse -

#!/usr/bin/python

raw_input("\n\nPress the enter key to exit.")

Ici, "\ n \ n" est utilisé pour créer deux nouvelles lignes avant d'afficher la ligne réelle. Une fois que l'utilisateur appuie sur la touche, le programme se termine. C'est une bonne astuce pour garder une fenêtre de console ouverte jusqu'à ce que l'utilisateur en ait fini avec une application.

Déclarations multiples sur une seule ligne

Le point-virgule (;) autorise plusieurs instructions sur une seule ligne étant donné qu'aucune instruction ne démarre un nouveau bloc de code. Voici un exemple de snip utilisant le point-virgule -

import sys; x = 'foo'; sys.stdout.write(x + '\n')

Plusieurs groupes d'instructions en tant que suites

Un groupe d'instructions individuelles, qui forment un seul bloc de code, est appelé suitesen Python. Les instructions composées ou complexes, telles que if, while, def et class nécessitent une ligne d'en-tête et une suite.

Les lignes d'en-tête commencent l'instruction (avec le mot-clé) et se terminent par deux points (:) et sont suivies d'une ou plusieurs lignes qui composent la suite. Par exemple -

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

Arguments de ligne de commande

De nombreux programmes peuvent être exécutés pour vous fournir des informations de base sur la manière dont ils doivent être exécutés. Python vous permet de faire cela avec -h -

$ 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. ]

Vous pouvez également programmer votre script de telle sorte qu'il accepte diverses options. Les arguments de ligne de commande sont un sujet avancé et devraient être étudiés un peu plus tard une fois que vous aurez parcouru le reste des concepts Python.