2023-07-25
Python
00

目录

二进制与字符编码
python中的标识符和保留字
python中的变量和数据类型
数据类型
python中的注释

二进制与字符编码

  • 进制也就是进位制, 八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。

  • 日常使用的数字、字母、文字、标点符号,图形符号等都称作字符。由很多个字符组成的集合叫做字符集。 可以人为的根据某个规则将一些符号归纳为一组集合,这些文字符号的集合就称为一个字符集。

  • 为了让计算机能够识别和处理人类的文字、符号、数字等,就需要一个转换规则,把人类的字符转换成计算机认识的二进制,也就是0和1。这个转换规则称为字符编码

    • ASCII字符编码规则使用8位表示一个字符,总共有128个字符,下图是ASCII表。

      ASCII

    • GB2312字符编码兼容了ASCII字符编码的前127个字符,从127个字符之后开始每一个图形字符都采用两个字节表示。

    • GBK字符编码与GB2312字符编码方式完全相同,只是对GB2312进行了扩展。

    • Unicode统一码,为了全世界的计算机能够统一标准的处理字符,Unicode联盟制定了一套统一的文字编码系统Unicode。几乎包含了全世界的字符。

    • 为了提高Unicode的编码效率,于是就出现了UTF-8编码。UTF-8可以根据不同的符号自动选择编码的长短。比如英文字母可以只用1个字节就够了。

python中的标识符和保留字

  • 有一些单词被赋予了特定的意义,这就是保留字(reserved word),指在编程语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。执行一下代码可以查看python中有哪些保留字。

    python
    import keyword print(keyword.kwlist)
  • python对各种变量、函数、类、模块和其他对象的名字就叫标识符。

    • 规则
      • 标识符只能是字母、数字、下划线_
      • 标识符不能以数字开头
      • 不能以python中的保留字做为标识符
      • 标识符严格区分大小写
      • Python 标识符不能包含空格、@、% 以及 $ 等特殊字符。

python中的变量和数据类型

  • 变量的定义和使用

    • 变量(Variable)可以看成一个带标签的盒子,专门用来“盛装”程序中的数据。每个变量都拥有独一无二的名字,通过变量的名字就能找到变量中的数据。当多次赋值后,变量名会指向新的空间。

    • 变量的由三个部分组成:

      • 标识:表示对象所存储的内存地址,使用内置函数id(obj)来获取

      • 类型:表示的是对象的数据类型,使用内置函数type(obj)来获取

      • 值:表示对象所存储的具体数据,使用print(obj)可以将值打印输出

        python
        name='我是变量' print('标识',id(name)) print('类型',type(name)) print('值',name)

数据类型

  • 整数类型(integer),简写int,可以表示正数、负数和零

    python
    n1=94 n2=-94 n3=0 print(n1,type(n1)) print(n2,type(n2)) print(n3,type(n3))
    • 十进制 → 默认的进制
    • 二进制 → 以0b开头
    • 八进制 → 以0o开头
    • 十六进制 → 以0x开头
    python
    print('十进制',382) print('二进制',0b10110) print('八进制',0o12527) print('十六进制',0x1FAC)
    进制基本数逢几进一表达形式
    十进制0,1,2,3,4,5,6,7,8,910233
    二进制0,120b101
    八进制0,1,2,3,4,5,6,780o127
    十六进制0,1,2,3,4,5,6,,7,8,9,10,A,B,C,D,E,F160x2EFA
  • 浮点类型由整数部分和小数部分组成,浮点数运算可能会出现小数点不确定的情况,不是所有的浮点数运算的结果都是不准确的,解决方案是导入模块 decimal

    python
    n1=1.1 n2=2.2 n3=2.1 print(n1+n2) # 结果是 3.3000000000000003 print(n1+n3) # 结果是 3.2 from decimal import Decimal print(Decimal('1.1')+Decimal('2.2')) # 运行结果是 3.3
  • 布尔类型的布尔值只有两个:True和False,用来表示真和假,布尔值可以转化为整数,可以用1表示True,0表示False。

    python
    print(True+1) # 2 print(False+1) # 1
  • 字符串类型是最常用的类型,又被称为不可变的字符序列,可以用单引号、双引号和三引号来定义,单引号和双引号定义的字符串必须在一行,三引号定义的字符串可以分布在连续多行。

    python
    str1='单引号的示例' str2="双引号的示例" str3="""三个引号的 示例 可以多行输入 """ str4='''三个引号的 示例 可以多行输入 ''' print(str1,type(str1)) print(str2,type(str2)) print(str3,type(str3)) print(str4,type(str4))
  • 数据类型的转换

    函数名作用注意事项举例
    str()把其他数据类型转成字符串也可以用引号转换str(123)
    "123"
    Int()将其他数据类型转成整数1、文字类和小数类字符串无法转换整数
    2、浮点数转化成整数:抹零取整
    Int(123)
    int(9.8)
    float()将其他数据类型转换成浮点数1、文字类型无法转换成整数
    2、整数转换成浮点数,末尾为.0
    float('9.9')
    float(9)
    • str()将其他类型转换str类型

      python
      name='张三' age=19 print(type(name),type(age)) print('我叫'+name+',今年'+str(age)+'岁') # 需要把int类型转换成str才能打印 # str()将其他类型转换成str类型 a=20 b=3.9 c=False print(type(a),type(b),type(c)) # <class 'int'> <class 'float'> <class 'bool'> print(str(a),str(b),str(c),type(str(a)),type(str(b)),type(str(c))) # 20 3.9 False <class 'str'> <class 'str'> <class 'str'>
    • int()将其他类型转成int类型

      python
      x1='123' x2=93.4 x3='49.5' x4=True x5='hello' print(type(x1),type(x2),type(x3),type(x4),type(x5)) print(int(x1),type(int(x1))) print(int(x2),type(int(x2))) # float转换int类型,截取整数部分,舍去小数部分 # print(int(x3),type(int(x3))) # str类型字符串不能为小数,否则报错 print(int(x4),type(int(x4))) # print(int(x5),type(int(x5))) # str类型字符串必须为数字(整数),非字数串类型不允许转换
    • float()将其他类型数据转换float类型

      python
      y1='123' y2=93 y3='49.5' y4=True y5='hello' print(type(y1),type(y2),type(y3),type(y4),type(y5)) print(float(y1),type(float(y1))) print(float(y2),type(float(y2))) print(float(y3),type(float(y3))) print(float(y4),type(float(y4))) # print(float(y5),type(y5)) # float类型不能转换非数字的字符串

python中的注释

  • 注释不会影响程序的执行,但是会使代码更易于阅读和理解。Python 中的注释有单行注释和多行注释。一般包含三种类型的注释

    • 单行注释:单行注释以“#”开头,直到换行结束。

    • 多行注释:多行注释并没有单独的多行注释标记,将一对三引号之间的代码称为多行注释。

    • 中文编码声明注释,在文件开头加上中文声明注释,用以指定源码文件的编码格式

      python
      #coding:gbk

本文作者:柯南

本文链接:

版权声明:©2023 柯南 All rights reserved.