• Python基础——数据类型


    2.0 type

    检查值的类型

    2.1 数值

    2.1.1 整数

    所有整数都是 int 类型

    大小无限制

    下划线自动忽略

    在这里插入图片描述

    十进制数字不能以0开头

    • 因为要输入其他进制的整数

      进制表示
      二进制0b
      八进制0o
      十六进制0x

    打印时一定以十进制输出

    2.1.2 浮点数

    所有小数都是 float 类型

    在这里插入图片描述
    浮点数运算结果不精确

    2.1.3 复数

    2.2 布尔类型

    2.2.1 bool

    逻辑判断

    在这里插入图片描述

    2.2.2 None

    表示 NULL

    在这里插入图片描述

    2.3 字符串

    用于表示文本信息

    在这里插入图片描述

    2.3.1 基本语法

    ''"" 标记

    '''字符串''' 字符串中支持换行

    在这里插入图片描述

    当然,ptint() 加上参数 end='' 表示当前内容输出结束后不换行

    在这里插入图片描述
    在这里插入图片描述

    2.3.2 转义字符

    符号含义
    ""
    \t制表符
    \n换行符

    2.3.3 字符串打印

    以参数形式打印

    print("strA=",strA)

    占位符:在创建字符串时,可以在字符串中指定占位符

    占位符含义
    %s字符串
    %d整数
    %f浮点数
    # 单个占位符
    a = 'Hello %s'%'Amos'
    
    # 占位符参数列表 (p1,p2,...pn)
    b = 'Hello %s 你好 %s'%('Amos','Amos')
    
    # %ns 指定占位符长度,长度不够则补全
    c = 'Hello %3s'%'ab'
    # 输出 Hello ab
    
    # %n.m 指定占位符长度范围
    d = 'Hello %3.5'%s'abcdef'
    # 3到5个字符
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在这里插入图片描述

    2.3.4 格式化字符串

    字符串中可插入变量

    在字符串前添加 f 来创建一个格式化字符串

    c = f'hello'
    print(f'c={c}')
    
    • 1
    • 2

    在这里插入图片描述
    在格式化字符串中可以嵌入变量
    在这里插入图片描述

    2.3.5 字符串复制

    将字符串与数字相乘

    a = 'abc'
    a = a*2
    
    print(a)
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    2.3.6 字符串连接

    strA+strB
    
    • 1
    • 字符串不能和其他类型数据做加法运算
    name = "Amos"
    print("My name is " + name + ",and I am " + 23 + "years old.")
    
    • 1
    • 2

    在这里插入图片描述

    • 若要多中数据类型同时打印,需要进行数据类型转换

    2.4 对象

    • 一切皆对象
    • 程序运行中,所有数据都是存储在内存中,然后运行
    • 对象实质上是一个容器,是内存中存储指定数据的区域

    2.4.1 对象的结构

    a. id

    用于标识对象的唯一性

    • id 由解析器生成

    • 可通过 id() 检测对象的 id

    CPython 中,id 是对象的内存地址

    b. type

    Python是一门 强类型语言 ,变量一旦创建,则不能修改

    c. value

    2.4.2 变量和对象

    Python中变量名和值是分开存储的

    • 变量和值通过索引建立联系
    • 变量值存储在相应的值对象中
    • 变量存储的内容是值对象的 id
    • id(变量) 结果为值对象的 id

    在这里插入图片描述

    2.4.3 对象分类

    a. 可变对象

    可变对象的 value 可以修改

    • 列表(序列)
    • 字典

    Python中,变量和变量的值是分开存放的,变量的内容是值对象的 id

    # Python解释器版本
    Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49)
    
    a = [1,2,3]
    # 原变量及其值对象
    print(f"a[0] = {a[0]},id(a[0]) = {id(a[0])}")
    # 赋值变量及其值对象
    b = a[0]
    print(f"b = {b},id(b) = {id(b)}")
    # 修改后的变量及其值对象
    a[0] = 10
    print(f"a[0] = {a[0]},id(a[0]) = {id(a[0])}")
    # 修改后的赋值变量及其值对象
    print(f"b = {b},id(b) = {id(b)}")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述
    可见,可变对象修改的是变量的值对象,即新建一个值对象,使得原变量指向新的值对象

    赋值操作,是将值对象的 id 存储到变量中

    • 图中 b 变量在修改前后都指向同一值对象
    • 可见,改变原变量的值对象,不会影响赋值变量的指向
    # 修改回来的变量及其值对象
    a[0] = 1
    print(f"a[0] = {a[0]},id(a[0]) = {id(a[0])}")
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    • 修改回原值后,又指向了原先的值对象,验证上述结论

    b. 不可变对象

    不可变对象的 value 不可修改

    • 元组(序列)
    • 字符串(序列)
    • 集合

    2.4.4 == 和 is

    ==!= 比较的是值是否相等

    isis not 比较的是值对象的 id 是否相等

    a is bTrue 时,a ==b 一定是 True ,因为二者指向同一值对象

    2.5 类型转换

    类型转换是将对象的值转换为新的对象

    • 根据当前的值创建一个新的对象

    2.5.1 str()或 ''

    将其他数据类型转化为 字符串类型

    a = 10
    b = 10.5
    boolean = True
    print(a,type(a),str(a),type(str(a)))
    print(b,type(b),str(b),type(str(b)))
    print(boolean,type(boolean),str(boolean),type(str(boolean)))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    2.5.2 int()

    • 浮点数去除小数部分,直接取整

      在这里插入图片描述

    • 布尔值,True——1,False——0
      在这里插入图片描述

    • 合法整数字符串直接转换为对象数字

      不合法的整数字符串,会报错
      在这里插入图片描述

    • None报错,无法转换为数字
      在这里插入图片描述

    2.5.3 float()

    将合法内容转换为浮点数

    • 合法的浮点数字符串会被转化成浮点数

      不合法的字符串无法被转化
      在这里插入图片描述

    • 布尔类型

      True——1.0

      False——0.0
      在这里插入图片描述

    • int型整数会被转化成float
      在这里插入图片描述

    2.5.4 bool()

    转换为bool值

    在这里插入图片描述

  • 相关阅读:
    Struts2 数据校验之四兄弟
    关于IDEA工具的一些简单的设置以及快捷键
    C++入门教程(二、基本数据类型)
    Oracle中ALTER TABLE的五种用法(三)
    Java:Session 会话详解
    6.14作业
    所有 Windows 用户请注意:该高危零日漏洞已被利用 7 周
    PostgreSQL教程(三十一):服务器管理(十三)之监控数据库活动
    数据集处理方法之数据增强
    基于全息感知的智慧高速IT设施监控运维方案
  • 原文地址:https://blog.csdn.net/qq_40479037/article/details/126295036