Python 3.x标准数据类型

文章目录

  • 一、数字
    • 1.1 基本的数字类型有:
    • 1.2 整数数字表示方式
  • 二、字符串
    • 2.1 操作符
    • 2.2 格式化
      • 百分号
      • format 格式化输出
        • 位置匹配
    • 2.3 字符串 索引和切片
    • 2.4 切片:字符串 [ 起始索引:终止索引:步长 ]
      • 字符串连接操作
  • 三、列表
    • 3.1 列表的定义
    • 3.2 常用方法(功能:增删改查)
      • 删除
      • 遍历循环
      • 其他
      • 应用场景
    • 总结
      • 练习1
  • 四、元组
    • 4.1 元组的定义
    • 4.2 常见操作
    • 总结
    • 五、字典
    • 5.1 字典的定义
    • 5.2 基本操作
      • 创建字典
    • 5.3 常见方法
      • 访问字典:查询
        • 获取所有的键
        • 获取所有的值
        • 获取所有键值对
      • 更新键值
      • 删除操作
        • 其他
    • 总结
    • 练习 2:模拟用户登录信息系统
  • 六、集合
    • 常用方法
      • 创建集合
      • 集合类型操作符
        • 添加元素 add()
      • 删除元素
      • 交集
      • 并集
        • 差集
        • 其他
      • 练习 3:比较文件内容

在这里插入图片描述

一、数字

1.1 基本的数字类型有:

  • int:有符号整数
  • bool:布尔值
    • True:1
    • False:0
  • float:浮点数
>>> type(5)  # 查看变量常量的类型,5为int 整数类型
<class 'int'>
>>> type(5.0)  # 查看变量常量的类型,5.0为float 浮点数类型
<class 'float'>
>>> True + 3  # True 代表的值为1,结果为4;True 第一个字母必须是大写
4
>>> False * 3  # False 代表的值为0,0乘任何数均为0;False 第一个字母必须是大写
0

1.2 整数数字表示方式

Python 默认以十进制数 显示

  1. 数字以 0o 或 0O 开头表示为 8 进制数 # 8进制数范围:0 ~ 7
  2. 数字以 0x 或 0X 开头表示 16 进制数 # 16进制数范围:0 ~ 9,a ~ f
  3. 数字以 0b 或 0B 开头表示 2 进制数 # 二进制数范围:0,1
# python 默认以十进制数显示,十进制数范围:0 ~ 9
>>> 23
23# 以0o或0O开头表示8进制,0o23即将8进制数23,以十进制方法进行显示
# 8进制数23转为十进制方法: 2*8的1次方 + 3*8零次方 = 2*8 + 3*1 = 19
# 8进制数范围:0 ~ 7
>>> 0o23
19# 以0x或0X开头表示16进制,0x23即将十六进制数23,以十进制方法进行显示
# 十六进制数23转为十进制方法: 2*16的1次方 + 2*16零次方 = 2*16 + 3*1 = 35
# 16进制数范围:0 ~ 9,a ~ f
>>> 0x23
35# 以0b或0B开头表示二进制,0b10即将二进制数10,以十进制方法进行显示
# 十进制数10转为二进制方法: 1*2的1次方 + 0*2零次方 = 1*2 + 0*1 = 2
# 二进制数范围:0,1
>>> 0b10
2函数:>>> oct(100)  # 函数oct(), 可以将十进制数100,转换为8进制数
'0o144'
>>> hex(100)  # 函数hex(), 可以将十进制数100,转换为16进制数
'0x64'
>>> bin(100)  # 函数bin(), 可以将十进制数100,转换为二进制数
'0b1100100'

二、字符串

2.1 操作符

  • 比较操作符:字符串大小按 ASCII 码值大小进行比较
  • 切片操作符:[ ]、[ : ]、[ : : ]
  • 成员关系操作符:in、not in

2.2 格式化

  • 可以使用格式化符号来表示特定含义
格式化字符转换方式
%s优先用str()函数进行字符串转换

百分号

print("字符串:%s,%s,%s" % (1, 22.22, [1, 2]))

结果

字符串:1,22.22,[1, 2]

注意

  • 可以传入任意类型的数据,如 整数、浮点数、列表、元组甚至字典,都会自动转成字符串类型

format 格式化输出

  • 相对基本格式化输出采用 % 的方法,format() 功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号 {} 作为特殊字符代替 %

位置匹配

print("今天是{}的{}生日会".format("帅哥", 18))

结果

今天是帅哥的18生日会
  • Python 中字符串被定义为引号之间的字符集合
  • Python 支持使用成对的单引号或双引号
  • 无论单引号,还是双引号,表示的意义相同
  • Python 还支持三引号(三个连续的单引号或者双引号),可以用来包含特殊字符
  • Python 不区分字符和字符串

演示

# 三引号的使用,保存用户输入的格式,可以是三个单引号,也可以是三个双引号
>>> users="""tom ... bob ... alice ... """
>>> users  # 输出内容,print把\n转换成回车
'\nbob\nalice\n'>>> name = 'zhangsan\nlisi\nwangwu'  # 直接写\n也是可以的
>>> print(users)  # 打印变量users,验证结果
>>> print(name)  # 打印变量name,验证结果
zhangsan
lisi
wangwu# 两种符号共用
>>> sentance = "hello nfx, I'm your baby~"    #正常打印
>>> print(sentance)
hello nfx, I'm your baby~#解决符号冲突
users=""" hello,i'm "dc", """
print(users)#字符串原样输出
str_py=''' aaa,bbb,ccc.'''
print(str_py)   #字符串原样输出
结果:aaa,bbb,ccc.

2.3 字符串 索引和切片

  • 使用索引运算符 [ ]切片运算符 [ : ] 可得到子字符串
  • 第一个字符的索引是0,最后一个字符的索引是 -1
  • 子字符串包含切片中的起始下标,但不包含结束下标

图例
在这里插入图片描述演示

>>> str_py = 'python'  # 定义变量str_py, 值为python
>>> len(str_py)  # 使用函数len(),统计变量str_py的字符长度
6
>>> str_py[0]  # 默认字符的下标从0开始,取出变量str_py中的第一个字符p
'p'
>>> str_py[5]  # 取出变量str_py中的第六个字符n
'n'
>>> str_py[-1]  # 取出变量str_py的倒数第一个字符n
'n'
>>> str_py[-6]  # 取出变量str_py的倒数第六个字符n
'p'>>> str_py[100] # 报错,索引越界

2.4 切片:字符串 [ 起始索引:终止索引:步长 ]

特点:含头去尾,能获取到 起始索引 位置上的元素,获取不到 终止索引 上的元素

常规:只写头和尾,不写步长默认为1
在这里插入图片描述从头切:起始索引不写,默认从头切
在这里插入图片描述切到尾:终止索引不写,默认切到尾
在这里插入图片描述头尾都不写:默认切全部
在这里插入图片描述加上步长切(案例1)
在这里插入图片描述加上步长切(案例2)
在这里插入图片描述倒着切
在这里插入图片描述

# 取出变量str_py='python'中,下标为2到下标为3之间的字符,下标为3的字符【h】不包含在内
>>> str_py[2:3]
't'
# 取出变量str_py中,下标为2到下标为4之间的字符,下标为4的字符【o】不包含在内
>>> str_py[2:4]
'th'
# 取出变量str_py中,下标为2到下标为5之间的字符,下标为5的字符【n】不包含在内
>>> str_py[2:5]
'tho'
# 取出变量str_py中,下标为2到下标为6之间的字符,下标为6的字符【n】不包含在内
>>> str_py[2:6]
'thon'
>>> str_py[2:6000]  # 取出变量str_py中,下标为2字符之后的所有数据
'thon'
>>> str_py[2:]  # 取出变量str_py中,下标为2字符之后的所有数据
'thon'# 取出变量str_py中,下标为0到下标为2之间的字符,下标为2的字符【t】不包含在内
>>> str_py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/99227.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp 项目实践总结(二)从零开始搭建一个项目

导语:本篇文章主要是项目方面的技术开发总结,新建一个项目可以选择使用可视化界面,也可以使用命令行搭建。 目录 可视化界面命令行搭建安卓开发环境苹果开发环境可视化界面 安装软件 使用官方推荐的 HbuilderX 软件,开发方式比较简单,内置相关环境以及终端,无需配置 no…

【STM32】锁存器

问题背景 在学习FSMC控制外部NOR存储器时&#xff0c;看到在NOR复用接口模式下&#xff0c;AD信号[15:0]是复用的。也就是说&#xff0c;若不使用锁存器:当NADV为低时&#xff0c;ADx(x0…15)上出现地址信号Ax&#xff0c;当NADV变高时&#xff0c;ADx上出现数据信号Dx。若使用…

【C语言】——调试技巧

目录 ​编辑 ①前言 1.什么是Bug&#xff1f; 2.什么是调试&#xff1f; 2.1调试的基本步骤 2.2Release与Debug 3.常用快捷键 4.如何写出好的代码 4.1常见的coding技巧 &#x1f449;assert() &#x1f449;const() const修饰指针: ①前言 调试是每个程序员都…

MySQL的Json类型个人用法详解

前言 虽然MySQL很早就添加了Json类型&#xff0c;但是在业务开发过程中还是很少设计带这种类型的表。少不代表没有&#xff0c;当真正要对Json类型进行特定查询&#xff0c;修改&#xff0c;插入和优化等操作时&#xff0c;却感觉一下子想不起那些函数怎么使用。比如把json里的…

上线检查工具(待完善)

根据V11《CEBPM系统上线CheckList》整理而得&#xff0c;适用于V11&#xff0c;DHERP&#xff0c;Oracle和MSSQL数据库&#xff0c;检查内容还不完善。 上图&#xff1a; 1&#xff09;数据库连接 2&#xff09;双击[连接别名]&#xff0c;可选择历史连接 3&#xff09;主界面…

时序预测 | MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机时间序列预测未来

时序预测 | MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机时间序列预测未来 目录 时序预测 | MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机时间序列预测未来预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.Matlab实现PSO-LSSVM时间序列预测未…

自然语言处理实战项目17-基于多种NLP模型的诈骗电话识别方法研究与应用实战

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下自然语言处理实战项目17-基于NLP模型的诈骗电话识别方法研究与应用&#xff0c;相信最近小伙伴都都看过《孤注一掷》这部写实的诈骗电影吧&#xff0c;电影主要围绕跨境网络诈骗展开&#xff0c;电影取材自上万起真…

scala基础

scala 基础 1. scala简介 scala是运行在 JVM 上的多范式编程语言&#xff0c;同时支持面向对象和面向函数编程早期scala刚出现的时候&#xff0c;并没有怎么引起重视&#xff0c;随着Spark和Kafka这样基于scala的大数据框架的兴起&#xff0c;scala逐步进入大数据开发者的眼帘…

Modbus通信协议

Modbus通信协议 一、概述 Modbus通信协议是一种工业现场总线协议标准&#xff0c;常用的Modbus协议有以下三种类型&#xff1a;Modbus TCP、Modbus RTU、Modbus ASCll。 Modbus通信协议解决了通过串行线路在电子设备之间发送信息的问题。该协议在遵循该协议的体系结构中实现主…

Jupyter Notebook 好用在哪?

Jupyter Notebook 是一个 Web 应用程序&#xff0c;便于创建和共享文学化程序文档&#xff0c;支持实时代码、数学方程、可视化和 Markdown&#xff0c;其用途包括数据清理和转换、数值模拟、统计建模、机器学习等等。目前&#xff0c;数据挖掘领域中最热门的比赛 Kaggle 里的资…

总结/笔记-vue中的插槽(默认插槽、具名插槽、作用域插槽)

问题&#xff1a; 遇到了一个插槽&#xff0c;写法为 #default ”{ row }“ 插槽知识点&#xff1a; 定义 插槽&#xff0c;用于 在组件中 引用外部组件或自定义组件的内容。 即 子组件中提供给父组件使用的一个占位符&#xff0c;父组件可以在这个占位符中填充任何模板代…

Java8实战-总结18

Java8实战-总结18 使用流筛选和切片用谓词筛选筛选各异的元素截短流跳过元素 使用流 流让你从外部迭代转向内部迭代。这样&#xff0c;就用不着写下面这样的代码来显式地管理数据集合的迭代(外部迭代)了&#xff1a; List<Dish> vegetarianDishes new ArrayList<>…