Chapitre 2 : Variables et types de données en Python
1. Encodage binaire et de caractères
-
Le contenu de stockage de bits est 0 et 1 ; le bit est la plus petite unité de stockage de l'ordinateur
-
Données : chaque symbole (anglais, chiffre ou symbole, etc.) occupera un enregistrement de 1 octet, et chaque chinois occupera 2 octets.
-
Conversion binaire : 1B(Byte)=8b(bit) ; 1KB=1024B
-
[Tableau ASCII en ligne]( Tableau ASCII | Tutoriel Rookie (runoob.com) )
-
Développement d'encodage de caractères
2. Identifiants et mots réservés en Python
2.1 Mots réservés
- quels sont les mots réservés
- Certains mots se voient attribuer des significations spécifiques par Python et ces mots ne doivent pas
- Afficher les mots réservés
import keyword
print(keyword.kwlist)
- quels sont les mots réservés
['False', 'None', 'True', '__peg_parser__', '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']
2.2 Identifiants
- qu'est-ce qu'un identifiant
- Les variables, fonctions, classes, modules et autres objets sont nommés d'après des identifiants
- Règles de nommage des identifiants
- Ne contient que des lettres, des chiffres, des traits de soulignement_
- ne peut pas commencer par un chiffre
- ne peut pas être un mot réservé
- Strictement sensible à la casse
3. Variables et types de données en Python
3.1 Variables
-
qu'est-ce qu'une variable
-
Une variable est une boîte étiquetée en mémoire dans laquelle vous mettez les données dont vous avez besoin
-
name = "Python"
-
Parmi eux : nom - nom de la variable ; = - opérateur d'affectation ; Python - valeur
-
-
-
composants de variables
- Identification : Identifiez l'adresse mémoire où l'objet est stocké, utilisez la fonction intégrée id(obj) pour obtenir
- Type : indique le type de données de l'objet, qui peut être obtenu en utilisant la fonction intégrée type(obj)
- Valeur : Indique les données spécifiques stockées dans l'objet, et la valeur peut être imprimée en utilisant la fonction print(obj)
-
Graphique d'analyse de la mémoire
-
analyse de code
- écriture de code
name = '巧克力酸奶' print('标识', id(name)) print('类型', type(name)) print('值', name)
- résultat de sortie
标识 2830801861584 类型 <class 'str'> 值 巧克力酸奶
3.2 Affectation multiple de variables
- Après plusieurs affectations, la variable pointera vers le nouvel espace
- schéma de la mémoire
-
analyse de code
- écriture de code
name = "玛利亚" print(id(name)) name = "楚留香" print(name) print(id(name))
- Analyse des résultats
2151611071440 楚留香 2151611071728
3.3 Types de données
- types de données courants
type de données | représentation des personnages | exemple |
---|---|---|
type entier | entier | 98 |
type virgule flottante | flotter | 3.1415926 |
Type booléen | bourdonner | Vrai faux |
type de chaîne | chaîne | "La vie est trop courte, j'utilise Python" |
- Utilisez la fonction type () pour afficher le type de données
3.3.1 Types entiers
- L'anglais est un entier, abrégé en int , qui peut représenter des nombres positifs, des nombres négatifs et zéro
- Différentes représentations de base des nombres entiers
La plate-forme de fenêtre,
Win+R
après saisiecalc
, peut rapidement expédier la calculatrice
hexadécimal | numéro de base | Tous les quelques jours | manifestations |
---|---|---|---|
décimal (par défaut) | 0,1,2,3,4,5,6,7,8,9 | dix | 120 |
binaire | 0,1 | 2 | 0b101011 |
Octale | 0,1,2,3,4,5,6,7 | 8 | 0o166 |
hexadécimal | 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F | 16 | 0x76 |
-
démo de code
- écriture de code
# 整数类型,正数,负数,0 n1 = 90 n2 = -90 n3 = 0 print(n1, type(n1)) print(n2, type(n2)) print(n3, type(n3)) # 正数可以表示为二进制,十进制,八进制,十六进制 print("十进制", 118) print("二进制", 0b1010111) print("八进制", 0o176) print("十六进制", 0x78A2)
- Analyse des résultats
90 <class 'int'> -90 <class 'int'> 0 <class 'int'> 十进制 118 二进制 1010111 二进制 87 八进制 126 十六进制 30882 Process finished with exit code 0
3.3.2 Type virgule flottante
-
L'anglais est float , et le nombre à virgule flottante est composé d'une partie entière et d'une partie décimale
-
Le stockage en virgule flottante est non déterministe
- Lors de l'utilisation de nombres à virgule flottante pour les calculs, il peut y avoir des cas où la virgule décimale est incertaine
- Solution : importez la décimale du module
-
démo de code
- écriture de code
a = 3.14159 print(a, type(a)) # 小数点位不确定 n1 = 1.1 n2 = 2.2 n3 = 2.1 print(n1 + n2) print(n1 + n3) # 解决方案:**导入模块decimal** from decimal import Decimal print(Decimal("1.1")+Decimal("2.2"))
- Analyse des résultats
3.14159 <class 'float'> 3.3000000000000003 3.2 3.3 Process finished with exit code 0
3.3.3 Type booléen
-
Le nom anglais boolean, abrégé en bool , est utilisé pour représenter des valeurs vraies ou fausses
-
Vrai est vrai , Faux est faux
-
Les valeurs booléennes peuvent être converties en nombres positifs
- Vrai——>1
- Faux——>0
-
démo de code
- écriture de code
f1 = True f2 = False print(f1, type(f1)) print(f2, type(f2)) # bool型可以转成整型运算 print(f1 + 1) print(f2 + 1)
- Analyse des résultats
True <class 'bool'> False <class 'bool'> 2 1 Process finished with exit code 0
3.3.4 Type de chaîne
-
Les chaînes sont également appelées séquences immuables de caractères
-
Peut être défini en utilisant des guillemets simples
' '
, des guillemets doubles" "
, des guillemets triples''' ''
' ou""" """
-
Les chaînes définies par des guillemets simples et des guillemets doubles doivent figurer sur une seule ligne
-
Le type de caractère défini par des guillemets triples peut être réparti sur plusieurs lignes consécutives
-
démo de code
- écriture de code
str1 = '人生苦短,我用Python' str2 = "人生苦短,我用Python" str3 = """人生苦短, 我用Python""" str4 = '''人生苦短, 我用Python''' print(str1, type(str1)) print(str2, type(str2)) print(str3, type(str3)) print(str4, type(str4))
- Analyse des résultats
人生苦短,我用Python <class 'str'> 人生苦短,我用Python <class 'str'> 人生苦短, 我用Python <class 'str'> 人生苦短, 我用Python <class 'str'> Process finished with exit code 0
3.4 Conversion des types de données
- Pourquoi la conversion du type de données est nécessaire
- Nécessaire lors de la fusion de données de différents types de données
- Fonctions de conversion de type de données
Nom de la fonction | effet | Précautions | exemple |
---|---|---|---|
chaîne() | Convertir d'autres types de données en chaînes | Peut également être converti avec des citations | chaîne(123) 123' |
entier() | Convertir d'autres types de données en nombres entiers | 1. Les chaînes de texte et décimales ne peuvent pas être converties en nombres entiers 2. Les nombres à virgule flottante sont convertis en nombres entiers : effacement et arrondi |
entier('123') |
flotter() | Convertir d'autres types de données en nombres à virgule flottante | 1. La classe de texte ne peut pas être convertie en un entier 2. L'entier est converti en un nombre à virgule flottante avec une queue de .0 |
flotteur('9.9') flotteur(9) |
- Diagramme de transformation de données
-
démo de code
- écriture de code
name = '张三' age = 20 print(type(name), type(age)) # 说明name和age的数据类型不相同 # print('我叫'+name+'今年'+age+'岁') # TypeError: can only concatenate str (not "int") to str print('我叫' + name + ',今年' + str(age) + '岁') print('------------str():将其他类型转换成str类型--------------') a = 10 b = 198.8 c = False print(type(a), type(b), type(c)) print(str(a), str(b), str(c), type(str(a)), type(str(b)), type(str(c))) print('------------int():将其他类型转换成int类型--------------') s1 = '128' f1 = 98.1 s2 = '76.77' ff = True s3 = 'Hell0' print(type(s1), type(f1), type(s2), type(ff), type(s3)) print(int(s1), type(int(s1))) # 将str转换成int类型,字符串为 数字串 print(int(f1), type(int(f1))) # 将float转换成int类型,截取整数部分,舍掉小数部分 # print(int(s2), type(int(s2))) # ValueError: invalid literal for int() with base 10: '76.77'mm,字符串为小数串 print(int(ff), type(int(ff))) # print(int(s3), type(int(s3))) ValueError: invalid literal for int() with base 10: 'Hell0',字符串必须为整数数字串才能转换 print('------------float():将其他类型转换成float类型--------------') ss1 = '128.98' ss2 = '76' fff = True ss3 = 'Hell0' i = 98 print(type(ss1), type(ss2), type(fff), type(ss3), type(i)) print(float(ss1),type(float(ss1))) print(float(ss2),type(float(ss2))) print(float(fff),type(float(fff))) # print(float(ss3),type(float(ss3))) # ValueError: could not convert string to float: 'Hell0' print(float(i),type(float(i)))
- Analyse des résultats
<class 'str'> <class 'int'> 我叫张三,今年20岁 ------------str():将其他类型转换成str类型-------------- <class 'int'> <class 'float'> <class 'bool'> 10 198.8 False <class 'str'> <class 'str'> <class 'str'> ------------int():将其他类型转换成int类型-------------- <class 'str'> <class 'float'> <class 'str'> <class 'bool'> <class 'str'> 128 <class 'int'> 98 <class 'int'> 1 <class 'int'> ------------float():将其他类型转换成float类型-------------- <class 'str'> <class 'str'> <class 'bool'> <class 'str'> <class 'int'> 128.98 <class 'float'> 76.0 <class 'float'> 1.0 <class 'float'> 98.0 <class 'float'> Process finished with exit code 0
4. Commentaires en Python
-
qu'est-ce qu'une note
- Un texte annoté qui explique la fonction du code dans le code peut améliorer la lisibilité du code
- Le contenu du commentaire sera ignoré par l'interpréteur Python
-
Types d'annotations courants
- Commentaires sur une seule ligne --> commencent par **#** jusqu'à la fin d'une nouvelle ligne
- Commentaire multiligne --> Il n'y a pas de marque de commentaire multiligne distincte, et le code entre une paire de guillemets triples est appelé un commentaire multiligne
- Commentaire de déclaration de codage chinois --> ajouter un commentaire de déclaration chinoise au début du fichier pour spécifier le format de codage du fichier de code source
- codage:gbk
- codage : UTF-8
-
démo de code
- écriture de code
# 输出功能(单行注释) print('hello') '''嘿嘿, 这里是多行注释 啦啦啦啦啦'''