Syntaxe de base de Python3

Encodage

Par défaut, les fichiers source Python3 utilisent l'encodageUTF-8, et toutes les chaînes sont des chaînes Unicode.

Bien sûr, vous pouvez également spécifier un encodage différent pour le fichier source :

# -*- coding: cp-1252 -*-

La définition ci-dessus permet au fichier source d'utiliser des caractères du jeu de caractères Windows-1252, adapté au bulgare, au biélorusse, au macédonien, au russe et au serbe.


Identificateurs

  • Le premier caractère doit être une lettre (a-z, A-Z) ou un underscore_ 。
  • Les autres parties d'un identifiant sont composées de lettres, de chiffres et d'underscores.
  • Les identifiants sont sensibles à la casse ; count et Count sont des identifiants différents.
  • Les identifiants n'ont pas de limite de longueur stricte, mais il est recommandé de les garder concis (généralement pas plus de 20 caractères).
  • Les mots-clés réservés sont interdits ; par exemple, if, for et class ne peuvent pas être utilisés comme identifiants.

Identifiants valides :

age = 25                # 普通变量名,最常见
user_name = "Alice"     # 用下划线连接单词,清晰易读
_total = 100            # 下划线开头通常表示“内部使用”或“私有”
MAX_SIZE = 1024         # 全大写通常表示“常量”(固定不变的值)
calculate_area()        # 函数名,动词+名词
StudentInfo             # 类名,首字母大写(驼峰命名法)
__private_var           # 双下划线开头,有特殊含义

Identifiants invalides :

2nd_place = "silver"    # 错误:以数字开头
user-name = "Bob"       # 错误:包含连字符
class = "Math"          # 错误:使用关键字
$price = 9.99          # 错误:包含特殊字符
for = "loop"           # 错误:使用关键字

Python 3 autorise les caractères Unicode comme identifiants, donc le chinois peut être utilisé pour les noms de variables ; les identifiants non-ASCII sont également autorisés.

姓名 = "张三"  # 合法
π = 3.14159   # 合法

Vérifier si un identifiant est valide :

Exemple

def is_valid_identifier(name):
    try:
        exec(f"{name} = None")
        return True
    except:
        return False

print(is_valid_identifier("2var"))  # False
print(is_valid_identifier("var2"))  # True

Mots-clés réservés de Python

Les mots réservés sont des mots-clés ; nous ne pouvons pas les utiliser comme nom d'identifiant. La bibliothèque standard de Python fournit un module keyword qui peut afficher tous les mots-clés de la version actuelle :

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>> 
CatégorieKata kunciDescription
Valeurs booléennesTrueValeur booléenne vraie
FalseValeur booléenne fausse
NoneReprésente une valeur vide ou aucune valeur
Opérations logiquesandOpération ET logique
orOpération OU logique
notOpération NON logique
Contrôle conditionnelifInstruction conditionnelle
elifSinon si (abréviation de else if)
elseBranche sinon
Contrôle de boucleforBoucle d'itération
whileBoucle conditionnelle
breakSortir de la boucle
continueSauter le reste de la boucle actuelle et passer à l'itération suivante
Gestion des exceptionstryEssayer d'exécuter un bloc de code
exceptCapturer une exception
finallyBloc de code qui s'exécute qu'une exception se produise ou non
raiseLever une exception
Définition de fonctiondefDéfinit une fonction
returnRenvoyer une valeur depuis une fonction
lambdaCréer une fonction anonyme
Classes et objetsclassDéfinir une classe
delSupprimer une référence à un objet
Import de moduleimportImporter un module
fromImporter une partie spécifique d'un module
asCréer un alias pour un module ou un objet importé
PortéeglobalDéclarer une variable globale
nonlocalDéclarer une variable nonlocal (utilisée dans des fonctions imbriquées)
Programmation asynchroneasyncDéclarer une fonction asynchrone
awaitAttendre qu’une opération asynchrone se termine
AutresassertAssert, utilisé pour vérifier si une condition est vraie
inVérifier l’appartenance
isVérifier l’identité d’un objet (s’il s’agit du même objet)
passInstruction vide, utilisée comme espace réservé
withGestionnaire de contexte, utilisé pour la gestion des ressources
yieldRenvoyer une valeur depuis une fonction génératrice

Plus de références sur les mots-clés réservés de Python :https://www.example.com/python3/python3-keyword.html。


Commentaires

En Python, les commentaires sur une seule ligne commencent par#et s’écrivent comme suit :

Exemple (Python 3.0+)

#!/usr/bin/python3 # Premier commentaire print ("Hello, Python!") # Deuxième commentaire

En exécutant le code ci-dessus, la sortie est :

Hello, Python!

Les commentaires multilignes peuvent utiliser plusieurs#signes dièse, et aussi'''et""":

Exemple (Python 3.0+)

#!/usr/bin/python3 # Premier commentaire # Deuxième commentaire '''Troisième commentaire Quatrième commentaire''' """Cinquième commentaire Sixième commentaire""" print ("Hello, Python!")

En exécutant le code ci-dessus, la sortie est :

Hello, Python!

Lignes et indentation

La particularité la plus marquante de Python est d'utiliser l'indentation pour représenter les blocs de code ; aucune accolade n'est nécessaire.{} 。

Le nombre d'espaces dans l'indentation est variable, mais les instructions dans le même bloc de code doivent contenir le même nombre d'espaces d'indentation. Exemple :

Exemple (Python 3.0+)

if True: print ("True") else: print ("False")

Dans le code suivant, la dernière ligne d'instructions a une indentation incohérente, ce qui provoquera une erreur d'exécution :

Exemple

if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
  print ("False")    # Une indentation incohérente provoquera une erreur d'exécution

En raison d'une indentation incohérente, le programme ci-dessus produira une erreur semblable à la suivante après exécution :

 File "test.py", line 6
    print ("False")    # 缩进不一致,会导致运行错误
                                      ^
IndentationError: unindent does not match any outer indentation level

Instructions multilignes

Python écrit généralement une instruction par ligne, mais si une instruction est très longue, nous pouvons utiliser une barre oblique inversée\pour implémenter des instructions multilignes, par exemple :

total = item_one + \
        item_two + \
        item_three

Exemple

item_one = 1
item_two = 2
item_three = 3
total = item_one + \
        item_two + \
        item_three
print(total) # La sortie est 6

Les instructions multilignes à l'intérieur de [], {} ou () n'ont pas besoin d'une barre oblique inversée\, par exemple :

total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']

Types de nombres

Python possède quatre types de nombres : les entiers, les booléens, les nombres à virgule flottante et les nombres complexes.

  • int(entier), comme 1 ; il n'existe qu'un seul type d'entier, int, représenté sous forme d'entier long, sans le type Long dans Python 2.
  • bool(booléen), comme True.
  • float(flottant), comme 1.23, 3E-2
  • complex(Complex) - Les nombres complexes se composent d'une partie réelle et d'une partie imaginaire, sous la forme a + bj, où a est la partie réelle, b la partie imaginaire, et j représente l'unité imaginaire. Par exemple, 1 + 2j, 1.1 + 2.2j

String

  • En Python, les guillemets simples'et les guillemets doubles"s'utilisent exactement de la même manière.
  • L'utilisation de guillemets triples ('''ou""") permet de spécifier une chaîne multiligne.
  • Caractère d'échappement\。
  • Les barres obliques inverses peuvent être utilisées pour l'échappement ; utiliserrpeut empêcher la barre oblique inverse de s'échapper. Par exemple,r"this is a line with \n"Ensuite,\nsera affiché, pas un saut de ligne.
  • Concaténez des chaînes littéralement, comme"this " "is " "string"sera automatiquement converti enthis is string。
  • Les chaînes peuvent être concaténées à l'aide de l'opérateur+, et répétées à l'aide de l'opérateur*.
  • Les chaînes en Python ont deux méthodes d'indexation : de gauche à droite en commençant à0, et de droite à gauche en commençant à-1.
  • Les chaînes en Python ne peuvent pas être modifiées.
  • Python n'a pas de type caractère distinct ; un caractère n'est qu'une chaîne de longueur 1.
  • Découpage de chaînesstr[start:end], où start (inclus) est l'indice où commence le découpage, et end (exclu) est l'indice où se termine le découpage.
  • Le découpage de chaînes peut inclure un paramètre de pas, step, avec la syntaxe suivante :str[start:end:step]
word = '字符串'
sentence = "这是一个句子。"
paragraph = """这是一个段落,
可以由多行组成"""

Exemple (Python 3.0+)

#!/usr/bin/python3 str='123456789' print(str) # Affiche la chaîne print(str[0:-1]) # Affiche tous les caractères du premier à l'avant-dernier print(str[0]) # Affiche le premier caractère de la chaîne print(str[2:5]) # Affiche les caractères du troisième au sixième (exclu) print(str[2:]) # Affiche tous les caractères à partir du troisième print(str[1:5:2]) # Affiche un caractère sur deux du deuxième au cinquième (taille du pas 2) print(str * 2) # Affiche la chaîne deux fois print(str + 'Hello') # Concatène des chaînes print('------------------------------') print('hello\nexample') # Utilisez l'antislash (\)+n pour échapper les caractères spéciaux print(r'hello\nexample') # Ajoutez un r avant la chaîne pour indiquer une chaîne brute, ainsi aucun échappement n'aura lieu

Ici, r signifie raw, c'est-à-dire une chaîne brute, qui échappera automatiquement les barres obliques inversées, par exemple :

>>> print('\n')       # 输出空行

>>> print(r'\n')      # 输出 \n
\n
>>>

La sortie de l'exemple ci-dessus est :

123456789
12345678
1
345
3456789
24
123456789123456789
123456789你好
------------------------------
hello
example
hello\nexample

Lignes vides

Utilisez des lignes vides entre les fonctions ou entre les méthodes de classe pour indiquer le début d'un nouveau bloc de code. Utilisez également une ligne vide entre les entrées de classe et 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 s'exécutera quand même sans erreur. Cependant, le but des lignes vides est de séparer deux portions de code ayant des fonctions ou des significations différentes, ce qui facilite la maintenance ou la refactorisation ultérieure du code.

Rappel :Les lignes vides font également partie du code du programme.


En attente de la saisie de l'utilisateur

Après avoir exécuté le programme suivant et appuyé sur la touche Entrée, il attendra la saisie de l'utilisateur :

Exemple (Python 3.0+)

#!/usr/bin/python3 input("\n\nQuitte après avoir appuyé sur la touche Entrée.")

Dans le code ci-dessus,\n\ndeux nouvelles lignes vides seront affichées avant que le résultat ne soit affiché. Une fois que l'utilisateur appuie sur la toucheEntrée, le programme se termine.


Plusieurs instructions sur la même ligne

Python peut utiliser plusieurs instructions sur la même ligne, avec des points-virgules entre les instructions;comme séparateurs. Voici un exemple simple :

Exemple (Python 3.0+)

#!/usr/bin/python3 import sys; x = 'example'; sys.stdout.write(x + '\n')

En utilisant un script pour exécuter le code ci-dessus, la sortie est :

example

En utilisant la ligne de commande interactive pour exécuter, la sortie est :

>>> import sys; x = 'example'; sys.stdout.write(x + '\n')
example
7

Ici 7 indique le nombre de caractères,exampleil y a 6 caractères,\nreprésentant un caractère, ce qui fait un total de7caractères.

>>> import sys
>>> sys.stdout.write(" hi ")    # hi 前后各有 1 个空格
 hi 4

Plusieurs instructions forment un groupe de code

Un groupe d'instructions avec la même indentation constitue un bloc de code, que l'on appelle 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 ( : ). Une ou plusieurs lignes de code après cette ligne forment un groupe de code.

Nous appelons la première ligne et le groupe de code qui suit une clause.

Voici un exemple :

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

Sortie de print

printPar défaut, la sortie est suivie d'un saut de ligne. Pour ne pas avoir de saut de ligne, vous devez ajouter à la fin de la variableend="":

Exemple (Python 3.0+)

#!/usr/bin/python3 x="a" y="b" # Sortie avec saut de ligne print( x ) print( y ) print('---------') # Sortie sans saut de ligne print( x, end=" " ) print( y, end=" " ) print()

Le résultat d'exécution de l'exemple ci-dessus est :

a
b
---------
a b

Pour plus d'informations, voir :Python2 et Python3 print sans saut de ligne


import et from...import

En Python, utilisezimportoufrom...importpour importer le module correspondant.

Importez le module entier (somemodule), le format est :import somemodule

Importez une fonction depuis un module, le format est :from somemodule import somefunction

Importez plusieurs fonctions depuis un module, le format est :from somemodule import firstfunc, secondfunc, thirdfunc

Importer toutes les fonctions d'un module, le format est :from somemodule import *

Importer le module sys

import sys print('================mode d'import Python==========================') print ('Les arguments de ligne de commande sont :') for i in sys.argv: print (i) print ('\nLe chemin Python est',sys.path)

Importer les membres argv, path du module sys

from sys import argv,path # Importer des membres spécifiques print('================python from import===================================') print('chemin :',path) # Comme le membre path a déjà été importé, sys.path n'est pas nécessaire pour y faire référence ici

Pour plus d'informations, consultez :La principale différence entre l'import Python et from … import


Arguments de ligne de commande

De nombreux programmes peuvent effectuer certaines opérations pour afficher des informations de base. Python peut utiliser le paramètre -h pour afficher 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, vous pouvez recevoir des paramètres d'entrée en ligne de commande. Pour une utilisation spécifique, référez-vous àArguments de ligne de commande Python 3。

Autres extensions