Capítulo 2: Variáveis e tipos de dados em Python

1. Codificação binária e de caracteres

  • O conteúdo de armazenamento de bits é 0 e 1; bit é a menor unidade de armazenamento no computador

  • Dados: Cada símbolo (inglês, número ou símbolo, etc.) ocupará um registro de 1Bytes e cada chinês ocupará 2Bytes

  • Conversão binária: 1B(Byte)=8b(bit) ; 1KB=1024B

  • [Tabela ASCII Online]( Tabela ASCII | Tutorial Rookie (runoob.com) )

  • Desenvolvimento de Codificação de Caracteres

Desenvolvimento de Codificação de Caracteres

2. Identificadores e palavras reservadas em Python

2.1 Palavras reservadas

  • o que são palavras reservadas
    • Existem algumas palavras que recebem significados específicos pelo Python e essas palavras não
  • Ver palavras reservadas
import keyword
print(keyword.kwlist)
  • quais são as palavras reservadas
['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 Identificadores

  • o que é um identificador
    • Variáveis, funções, classes, módulos e outros objetos são nomeados após identificadores
  • Regras de Nomenclatura de Identificadores
    • Contém apenas letras, números, sublinhados_
    • não pode começar com um número
    • não pode ser uma palavra reservada
    • Estritamente sensível a maiúsculas e minúsculas

3. Variáveis ​​e tipos de dados em Python

3.1 Variáveis

  • o que é uma variável

    • Uma variável é uma caixa rotulada na memória na qual você coloca os dados de que precisa

      • name = "Python"
        
      • Entre eles: nome - nome da variável; = - operador de atribuição ; Python - valor

  • componentes de variáveis

    • Identificação: Identifique o endereço de memória onde o objeto está armazenado, use a função interna id(obj) para obter
    • Type: Indica o tipo de dados do objeto, que pode ser obtido usando a função interna type(obj)
    • Value: Indica os dados específicos armazenados no objeto, e o valor pode ser impresso usando a função print(obj)
  • Gráfico de análise de memória

    Diagrama de análise de memória variável

  • análise de código

    • escrita de código
    name = '巧克力酸奶'
    print('标识', id(name))
    print('类型', type(name))
    print('值', name)
    
    • resultado de saída
    标识 2830801861584
    类型 <class 'str'>
    值 巧克力酸奶
    

3.2 Atribuição múltipla de variáveis

  • Após várias atribuições, a variável apontará para o novo espaço
  • diagrama de memória

atribuição múltipla de variável

  • análise de código

    • escrita de código
    name = "玛利亚"
    print(id(name))
    name = "楚留香"
    print(name)
    print(id(name))
    
    • Análise de resultados
    2151611071440
    楚留香
    2151611071728
    

3.3 Tipos de Dados

  • tipos de dados comuns
tipo de dados representação de personagem exemplo
tipo inteiro int 98
tipo de ponto flutuante flutuador 3.1415926
tipo booleano bool Verdadeiro falso
tipo de string str "A vida é muito curta, eu uso Python"
  • Use a função type() para gerar o tipo de dados

3.3.1 Tipos inteiros

  • Inglês é integer, abreviado como int , que pode representar números positivos, números negativos e zero
  • Diferentes representações básicas de números inteiros

A plataforma da janela, Win+Rapós a entrada calc, pode despachar rapidamente a calculadora

hexadecimal número base A cada poucos dias Manifestações
decimal (padrão) 0,1,2,3,4,5,6,7,8,9 10 120
binário 0,1 2 0b101011
octal 0,1,2,3,4,5,6,7 8 0o166
hexadecimal 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 16 0x76
  • código de demonstração

    • escrita de código
    # 整数类型,正数,负数,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)
    
    • Análise de resultados
    90 <class 'int'>
    -90 <class 'int'>
    0 <class 'int'>
    十进制 118
    二进制 1010111
    二进制 87
    八进制 126
    十六进制 30882
    
    Process finished with exit code 0
    

3.3.2 Tipo de ponto flutuante

  • O inglês é float , e o número de ponto flutuante é composto de uma parte inteira e uma parte decimal

  • Armazenamento de ponto flutuante não é determinístico

    • Ao usar números de ponto flutuante para cálculos, pode haver casos em que o ponto decimal é incerto
    • Solução: importar módulo decimal
  • código de demonstração

    • escrita de código
    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"))
    
    • Análise de resultados
    3.14159 <class 'float'>
    3.3000000000000003
    3.2
    3.3
    
    Process finished with exit code 0
    

3.3.3 Tipo booleano

  • O nome inglês boolean, abreviado como bool , é usado para representar valores verdadeiros ou falsos

  • Verdadeiro é verdadeiro , Falso é falso

  • Valores booleanos podem ser convertidos em números positivos

    • Verdadeiro—>1
    • Falso——>0
  • código de demonstração

    • escrita de código
    f1 = True
    f2 = False
    print(f1, type(f1))
    print(f2, type(f2))
    
    # bool型可以转成整型运算
    print(f1 + 1)
    print(f2 + 1)
    
    • Análise de resultados
    True <class 'bool'>
    False <class 'bool'>
    2
    1
    
    Process finished with exit code 0
    

3.3.4 Tipo de string

  • Strings também são conhecidas como sequências imutáveis ​​de caracteres

  • Pode ser definido usando aspas simples ' ', aspas duplas " ", aspas triplas ''' ''' ou""" """

  • Strings definidas por aspas simples e duplas devem estar em uma linha

  • O tipo de caractere definido por aspas triplas pode ser distribuído em várias linhas consecutivas

  • código de demonstração

    • escrita de código
    str1 = '人生苦短,我用Python'
    str2 = "人生苦短,我用Python"
    str3 = """人生苦短,
    我用Python"""
    str4 = '''人生苦短,
    我用Python'''
    
    print(str1, type(str1))
    print(str2, type(str2))
    print(str3, type(str3))
    print(str4, type(str4))
    
    • Análise de resultados
    人生苦短,我用Python <class 'str'>
    人生苦短,我用Python <class 'str'>
    人生苦短,
    我用Python <class 'str'>
    人生苦短,
    我用Python <class 'str'>
    
    Process finished with exit code 0
    

3.4 Conversão de tipo de dados

  • Por que a conversão de tipo de dados é necessária
    • Necessário ao unir dados de diferentes tipos de dados
  • Funções para conversão de tipo de dados
Nome da função efeito Precauções exemplo
str() Converter outros tipos de dados em strings Também pode ser convertido com aspas str(123)
123'
int() Converter outros tipos de dados em números inteiros 1. Texto e strings decimais não podem ser convertidos em números inteiros
2. Números de ponto flutuante são convertidos em números inteiros: apagar e arredondar
int('123')
flutuador() Converter outros tipos de dados em números de ponto flutuante 1. A classe de texto não pode ser convertida em um número inteiro
2. O número inteiro é convertido em um número de ponto flutuante com cauda de 0,0
float('9.9')
float(9)
  • Diagrama de Transformação de Dados

Diagrama de conversão de tipo de dados

  • código de demonstração

    • escrita de código
    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)))
    
    • Análise de resultados
    <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. Comentários em Python

  • o que é uma nota

    • O texto anotado que explica a função do código no código pode melhorar a legibilidade do código
    • O conteúdo do comentário será ignorado pelo interpretador Python
  • Tipos de anotação comuns

    • Comentários de linha única --> começam com **#** até o final de uma nova linha
    • Comentário de várias linhas --> Não há marca de comentário de várias linhas separada, e o código entre um par de aspas triplas é chamado de comentário de várias linhas
    • Comentário da instrução de codificação chinesa --> adicionar comentário da instrução chinesa no início do arquivo para especificar o formato de codificação do arquivo de código-fonte
      • codificação: gbk
      • codificação: UTF-8
  • código de demonstração

    • escrita de código
    # 输出功能(单行注释)
    print('hello')
    '''嘿嘿,
    这里是多行注释
    啦啦啦啦啦'''
    

Acho que você gosta

Origin blog.csdn.net/polaris3012/article/details/130464343
Recomendado
Clasificación