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
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égorie | Kata kunci | Description |
|---|---|---|
| Valeurs booléennes | True | Valeur booléenne vraie |
False | Valeur booléenne fausse | |
None | Représente une valeur vide ou aucune valeur | |
| Opérations logiques | and | Opération ET logique |
or | Opération OU logique | |
not | Opération NON logique | |
| Contrôle conditionnel | if | Instruction conditionnelle |
elif | Sinon si (abréviation de else if) | |
else | Branche sinon | |
| Contrôle de boucle | for | Boucle d'itération |
while | Boucle conditionnelle | |
break | Sortir de la boucle | |
continue | Sauter le reste de la boucle actuelle et passer à l'itération suivante | |
| Gestion des exceptions | try | Essayer d'exécuter un bloc de code |
except | Capturer une exception | |
finally | Bloc de code qui s'exécute qu'une exception se produise ou non | |
raise | Lever une exception | |
| Définition de fonction | def | Définit une fonction |
return | Renvoyer une valeur depuis une fonction | |
lambda | Créer une fonction anonyme | |
| Classes et objets | class | Définir une classe |
del | Supprimer une référence à un objet | |
| Import de module | import | Importer un module |
from | Importer une partie spécifique d'un module | |
as | Créer un alias pour un module ou un objet importé | |
| Portée | global | Déclarer une variable globale |
nonlocal | Déclarer une variable nonlocal (utilisée dans des fonctions imbriquées) | |
| Programmation asynchrone | async | Déclarer une fonction asynchrone |
await | Attendre qu’une opération asynchrone se termine | |
| Autres | assert | Assert, utilisé pour vérifier si une condition est vraie |
in | Vérifier l’appartenance | |
is | Vérifier l’identité d’un objet (s’il s’agit du même objet) | |
pass | Instruction vide, utilisée comme espace réservé | |
with | Gestionnaire de contexte, utilisé pour la gestion des ressources | |
yield | Renvoyer 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+)
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+)
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+)
Dans le code suivant, la dernière ligne d'instructions a une indentation incohérente, ce qui provoquera une erreur d'exécution :
Exemple
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_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+)
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+)
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+)
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+)
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
Importer les membres argv, path du module sys
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