[Python] grammaire de base --- 1, données de base

Chapitre un Notions de base sur la grammaire

Définition du logiciel

Désigne une collection de données informatiques et d'instructions organisées dans un ordre spécifique.

Données: certaines données que l' ordinateur peut reconnaître. Dans le disque dur: avi, doc, txt, py, en mémoire: constantes, variables, fonctions, objets, classes.

Instructions : Les étapes pour manipuler ces données pour effectuer des calculs préalables.

Processus d'exploitation du logiciel

    Le code écrit par Python est appelé code source. Le code source peut-il être directement reconnu par l'ordinateur? Compilez le code source en code machine que l'ordinateur peut reconnaître, puis l'ordinateur exécute le code machine.

Deux modes de fonctionnement du logiciel:

  • Mode de fonctionnement de l'interface graphique

  • Mode de fonctionnement de la ligne de commande

Les langages de programmation de haut niveau sont divisés en deux catégories:

  • Type compilé statiquement: C, C ++, Java

    • Compiler: le code source doit être complètement compilé dans un fichier de code machine, puis le fichier de code machine doit être exécuté et le programme exécuté

    • Statique: les variables doivent avoir des définitions de type de données claires

  • Interprété dynamiquement: Python, JavaScript, Mathlab, Ruby, Go

    • Explication: Il n'est pas nécessaire de convertir complètement le code en code machine, lire un code source-compiler une phrase-exécuter une phrase

    • Dynamique: les variables n'ont pas de définition de type de données claire, toute variable de type de données peut être stockée

1.1 Données de base

Entier entier

Habituellement appelé entier, il vaut zéro, positif et négatif, sans point décimal.

Lors de l'expression de nombres, nous pouvons également utiliser la forme hexadécimale de deux, huit, dix, hexadécimal

>>> print(10)
10
>>> print(1001)
1001
>>> print(0b1001)
9
>>> print(0o1234)
668
>>> print(0x9C1A)
39962
>>> print(0x9W2Y)
  File "<stdin>", line 1
    print(0x9W2Y)
             ^
SyntaxError: invalid syntax

Remarque: le résultat imprimé est toujours décimal

     La longueur entière de Python est de 32 bits à 4 octets, et il s'agit généralement d'une allocation continue de la fonction id () d'espace mémoire

>>> id(0)
2034812832
>>> id(1)
2034812848
>>> id(2)
2034812864

      Lorsque Python initialise l'environnement, il divise un espace dans la mémoire, dédié à l'accès aux objets entiers. Bien entendu, cet espace n'est pas infini et les données qui peuvent être stockées sont limitées.

>>> id(251)
2034816848
>>> id(260)
13647712
>>> id(-10)
13647696

Petit pool d'objets entiers

    Lorsque Python est initialisé, il crée automatiquement un petit pool d'objets entiers, ce qui est pratique pour nous d'appeler et d'éviter la génération répétée plus tard. Il ne contient que -5 ~ 256. Ces nombres sont nos nombres les plus couramment utilisés, ils sont donc chargés en mémoire par Python à l'avance. Pour l'utilisation d'entiers, s'il n'est pas compris entre -5 et 256, il sera toujours recréé.

>>> id(-5)
2034812752
>>> id(-6)
13647728
>>> id(256)
2034816928
>>> id(257)
13647648
>>> id(300)
13647696
>>> id(300)
13647712
>>> id(300)
13647680

Flottant de type virgule flottante

Les nombres à virgule flottante sont des décimales. Si les décimales sont trop longues, elles peuvent également être exprimées en notation scientifique.

>>> print(3.14)
3.14
>>> print(1.298765e10)
12987650000.0
>>> print(0.89e-5)
8.9e-06
>>> print(1.23e-8)
1.23e-08

Complexe

Un nombre complexe est composé de parties réelles et imaginaires, a + bj

>>> print(1+2)
3
>>> print(1+2j)
(1+2j)
>>> (1+2j)*(1-2j)
(5+0j)
>>> complex(1,2)*complex(1,-2)
(5+0j)

Booléen

Le bien et le mal, 0 et 1, positifs et négatifs, sont tous des types booléens au sens traditionnel

En Python, il n'y a que deux types booléens True et False

Les types booléens ne peuvent exister que dans les opérations logiques et les opérations de comparaison

>>> True + False
1
>>> True - False
1
>>> 3 > 2
True
>>> 2 < 1
False
>>> 3 > 2 and 2 < 1
False

Aucun 空 值 AucunType

La valeur nulle ne peut pas être comprise comme le nombre 0, c'est l'ensemble vide φ; nous l'utilisons principalement dans la création de séquences et dans la programmation orientée objet.

>>> None + 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
>>> [None] * 10  # 创建一个长度为10的列表 没有数据 但有空间
[None, None, None, None, None, None, None, None, None, None]

Chaîne str

Il existe trois formes de chaîne de caractères: guillemets simples, guillemets doubles, guillemets triples (généralement utilisés dans les commentaires)

>>> print("HelloWorld")
HelloWorld
>>> print('你好')
你好
>>> print(" '' ")
 ''
>>> print(' "" ')
 ""
>>> print(' ' ')
  File "<stdin>", line 1
    print(' ' ')
               ^
SyntaxError: EOL while scanning string literal
>>> print(' \' ')
 '

 

Échappées

  • \\: Barre oblique inverse

  • \':apostrophe

  • \":Double citation

  • \n: Envelopper

  • \t: Onglet Horizontal

>>> print(' \' ')
 '
>>> print("\")
  File "<stdin>", line 1
    print("\")
             ^
SyntaxError: EOL while scanning string literal
>>> print("\\")
\

variable

Variable : Le montant par lequel la valeur changera pendant l'exécution du programme.

Constante: la quantité par laquelle la valeur ne changera pas pendant l'exécution du programme. (Littéral, données qui apparaissent directement dans le code)

Qu'il s'agisse d'une variable ou d'une constante, un espace est ouvert dans la mémoire lors de sa création pour enregistrer leur valeur.

# Java中基本数据类型变量a,b 和 引用数据类型变量c d e
int a = 3;
int b = 8;
Object c = new Object();
Object d = new Object();
Object e = c;

En Python, tout est un objet!

>>> a = 1
>>> b = 1
>>> c = 1
>>> a == b
True
>>> id(1)
2034812848
>>> id(a)
2034812848
>>> id(b)
2034812848
>>> d = a
>>> d == b
True

 

>>> num1 = 300
>>> num2 = 300
>>> num3 = 300
>>> id(num1)
13647712
>>> id(num2)
13647696
>>> id(num3)
13647680
>>> num1 == num2
True

 Vous ne pouvez pas comparer aveuglément l'adresse, mais aussi comparer si le contenu des deux objets est égal.

Dans l'espace variable, seule l'adresse d'un certain objet de données peut être stockée, et la variable est juste une référence à l'objet

Les variables doivent être affectées avant de pouvoir être appelées.

>>> print(num4)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'num4' is not defined

Les variables peuvent être affectées en continu:

>>> a=b=c=10
>>> a
10
>>> b
10
>>> c
10
>>> a,b,c =10,20,30
>>> a
10
>>> b
20
>>> c
30
>>> a=b=c=1000
>>> id(a)
13647776
>>> id(b)
13647776
>>> id(c)
13647776
>>> a=1000
>>> b=1000
>>> c=1000
>>> id(a)
13647792
>>> id(b)
13647648
>>> id(c)
13647824

 La variable elle-même en Python n'a pas de contrainte de type de données, il s'agit simplement d'une référence à un objet et elle stocke l'adresse mémoire des données de l'objet

Seuls les types de données sont distingués entre les objets de données.

 

Identifiant

Le soi-disant identifiant est le nom que nous donnons aux variables, constantes, fonctions, classes, etc.

Les dispositions suivantes:

  • Le premier caractère doit être une lettre ou un trait de soulignement_

    • Bien que Python prenne en charge le chinois, nous pouvons également utiliser le chinois pour nommer, mais nous ne recommandons pas

    • Les mots commençant par un trait de soulignement ont une signification particulière dans la programmation orientée objet-privé

  • Les autres parties de l'identifiant sont constituées de lettres, de chiffres et de traits de soulignement

  • Les identifiants sont sensibles à la casse

  • Les noms de variables sont tous en minuscules et les noms de constantes sont tous en majuscules (il n'y a pas de constante PI = 3,14 en Python, et c'est essentiellement une variable)

  • Le nom de la fonction est en minuscules et souligné, ce qui équivaut au nom de la variable

  • Le nom de la classe utilise la méthode de dénomination du grand chameau: si le nom est composé de plusieurs mots, la première lettre de chaque mot est en majuscule

变量的命名不要使用关键字和内置函数的名称!

>>> True = 2
  File "<stdin>", line 1
SyntaxError: cannot assign to True
>>> if = 3
  File "<stdin>", line 1
    if = 3
       ^
SyntaxError: invalid syntax

 

Mot-clé

Fait référence aux mots qui ont reçu une signification spéciale par les langages de programmation de haut niveau.

>>> 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']

Ne peut pas non plus utiliser les fonctions intégrées (changer le nom des fonctions intégrées à d'autres fins)

>>> id(2)
2034812864
>>> id = 3
>>> id + 1
4
>>> id(4)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable

En Python, tout est un objet et les fonctions elles-mêmes sont des objets!

>>> id(2)
2034812864
>>> id(id)
45545184
>>> abc = id
>>> abc(1)
2034812848
>>> id(1)
2034812848
>>> id = 10
>>> print(id)
10
>>> abc(id)
2034812992

Combien de fonctions intégrées y a-t-il?

>>> dir(__builtins__)
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']

Commentaire

Remarque: une information textuelle utilisée par le programme n'est pas considérée comme faisant partie du programme.

  • Commentaire sur une seule ligne : # contenu du commentaire

  • Commentaires sur plusieurs lignes : plusieurs commentaires sur une seule ligne

  • Note du document : "" "Le contenu de la note peut expliquer les informations sur la fonction d'information de classe" ""

Je suppose que tu aimes

Origine blog.csdn.net/trichloromethane/article/details/107800214
conseillé
Classement