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

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

    Diagramme d'analyse de la mémoire variable

  • 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

affectation multiple de variable

  • 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+Raprès saisie calc, 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

Diagramme de conversion de type 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')
    '''嘿嘿,
    这里是多行注释
    啦啦啦啦啦'''
    

Je suppose que tu aimes

Origine blog.csdn.net/polaris3012/article/details/130464343
conseillé
Classement