python基础语法的数据类型

数据类型

==Python中分为六种基本数据类型 ==

  • 不可变类型(又叫静态数据类型,没有增删改操作):Number(int、float)-数值、Boolean-布 尔、String-字符串、Tuple-元组、Bytes-字节
  • 可变类型(又叫动态数据类型,支持增删改操作):列表(list)、字典(dictionary)、集合(set)

静态类型

一、静态类型:Number(int、float)-数值、Boolean-布尔、String-字符串、Tuple-元组

  1. python整数类型(int)
# 将78赋值给n
n = 78
print(n)
print(type(n))
click = 1_301_547
distance = 384_000_000
print("Python教程阅读量:", click)
print("地球和月球的距离:", distance)
  1. python小数/浮点数(float)类型
# 十进制形式
f1 = 12.5
print("flavue:",f1)
print("f1Type:",type(f1))
f2 = 0.3257003
print("flavue:",f2)
print("f2Type:",type(f2))#指数形式
f3 = 0.0000847
print("f3value:",f3)
print("f3Type:",type(f3))

3、 Python bool布尔类型 Python 提供了 bool 类型来表示真(对)或假(错),True 和 False 是 Python 中的关键字,当作 为 Python 代码输入时,一定要注意字母的大小写,否则解释器会报错,布尔类型可以当做整数来对待,即 True 相当于整数值 1,False 相当于整数值 0。

bT = True
bF = False
print(bT,type(bF))bT  = bT + 1
print(bT,type(bT))
bF = bF + 0
print(bF)print(3 > 5, 3 < 5)

4、Python字符串

#若干个字符的集合就是一个字符串(String)。Python中的字符串必须由双引号" "或者单引号' '包围。Python 字符串中的双引号和单引号没有任何区别。#单行字符串
str1 = '这是一个简单字符串'# 对引号进行转义
str2 = 'I\'m a great coder!'
str3 = "引文双引号是\",中文双引号是“"# 多行字符串
str4 = """长字'aaa'符串内容"""
str5 = '''长字"bbb"符串内容'''# 在长字符串中放置单引号或者双引号不会导致解析错误。
# 如果长字符串没有赋值给任何变量,那么这个长字符串就不会起到任何作用,和一段普通的文本无异,相当于被注释掉了。

5、Python原始字符串

 # Python 支持原始字符串。在原始字符串中,\不会被当作转义字符,所有的内容都保持“原汁原味”的样
子。
# 在普通字符串或者长字符串的开头加上r前缀,就变成了原始字符串,具体格式为:
str6 = r'原始字符串内容'str7 = r"""原始字符串内容"""rstr = r'D:\Program Files\Python 3.8\python.exe'print(rstr)

6、Python Bytes类型及用法

bytes 类型的数据非常适合在互联网上传输,可以用于网络通信编程;bytes 也可以用来存储图片、音频、 视频等二进制格式的文件。

# 通过构造函数创建空 bytes
b1 = bytes()
# 通过空字符串创建空 bytes
b2 = b''
# 通过b前缀将字符串转换成 bytes
b3 = b'https://c.biancheng.net/python/'
print("b3: ", b3)
print(b3[3])
print(b3[7:22])
# 为 bytes() 方法指定字符集
b4 = bytes('C语言中文网8岁了', encoding='UTF-8')
print("b4: ", b4)
# 通过 encode() 方法将字符串转换成 bytes
b5 = "C语言中文网8岁了".encode('UTF-8')
print("b5: ", b5)
# 通过 decode() 方法将 bytes 转换成字符串
str1 = b5.decode('UTF-8')
print("str1: ", str1)

7、元组(tuple)

元组也是一组可重复且有序的对象集合,任何类型的数据都可以存到元组中,但是元组中的元素是不可变的, 元组同样也支持索引截取(又叫切片)

t0 = ()
# 创建空元组
t1 = ("王昭君", "lisi", ["李思思", 12, "Python"], ("王武", "22"))  # 直接使用小括号创建元组
t2 = (1,)                          
# 当元组只有一个元素时需要在后面加上逗号
t3 = tuple(("依儿",22,"Java"))   # 或者调用内置函数tuple(),通常用于转换为元组时使用
print('t0:', t0)
print('t1:', t1)
print('t2:', t2)
print('t3:', t3)# 读取
print(t1[1]) # 获取元组t1中第二个元素,输出:lisi
print(t1[0:2]) # 获取元组t1中第一个和第二个元素,输出:('张珊', 'lisi')
print(t1[2:-1]) # 获取元组t1中第三个至倒数第二个元素,输出:(['李思',12,'Python'],)
print(t1[1::2]) # 获取元组t1中第二个至最后一个元素,步长为2,输出出:('lisi', ('王武', '22'))
print(t1[::-1]) # 步长为-1时表示倒序排列,输出:(('王武', '22'), ['李思',12,'22'))'Python'], 'lisi', '张珊')
print(t1[2][0:-1])  # 获取元组t1中第三个元素中的第一个至倒数第
# 修改元组中的可变对象
# 修改元组t1中列表中的元素
t1[2][1] = "十" # 将12改为10
t1[2].remove("Python")  # 删除Python元素
t1[2].pop() # 删除最后一个元素
t1[2].clear() # 清空列表
t1[2].append("啊哈") # 添加一个元素
# 拼接元组
print(t2+t3) # 输出:('1', '依儿', 22, 'Java')

动态类型

二、动态类型: 列表(list)、字典(dictionary)、集合(set)

1、列表是一组可重复且有序的数据集合,任何类型的数据都可以存到列表中,会根据需要动态分配和回收内 存,是Python中使用最频繁的数据类型,列表同样也支持索引截取(又叫切片),列表中的元素是可变的,能 够进行增删改操作

# 创建
l0 = [] #创建空列表
l1 = ["张三", 'list',12,["22","list","王武"],"赵柳"] # 直接使用中括号创建列表
l2 = list(['list',12,("22","王武"),"赵柳"]) # 或者调用内置函数list(),通常用于转换为列表时使用
print(l0,l1,l2)# 读取
print(l1[1])            # 获取列表l1中第二个元素,输出:lisi
print(l1[0:2])          # 获取列表l1中第一个和第二个元素,输出:['张三', 'lisi']
print(l1[-5:-2])        # 获取列表l1中第一个至倒数第三个数据,反向索引,输出:['张三','lisi', 12]
print(l1[2:-1])
print(l1[1::2])         # 获取列表l1中第一个至第二个
print(l1[:1:-2])        # 反向获取列表l1中元素,步长为-2,输出:['赵柳', 12]
print(l1[::-1])         # 步长为-1时表示倒序排列元素,输出:['赵柳', ['22', 'lisi', '王武'], 12, 'lisi', '张三']
print(l1[3][-1])        # 嵌套,l1嵌套列表中,最后一个元素
print(l1[3][0])         # 嵌套,l1嵌套列表中,第一个元素
# print(l1[5])          # 若元素不存在,则会抛出IndexError: list index out of range
print("===" * 20)
for i in l1:   # 使用for循环遍历列表中的元素print(i)# 判断是否存在
print("list" in l1)
print("赵柳" not in l1)
print("22" in l1[3])    # 判断l1的嵌套列表是否包含22# 修改
l1[1] = "李思"  # 将l1列表中第二个元素改为李思
l1[3][0] = 22  # 嵌套
l1[1:3] = ["张珊", "李四"] # 第二个和第四个修改# 添加
# 使用函数,l.append()\l.exend()\l.insert()
l3 = [1,2]
l4 = ["一","二"]
l3.append(3)  # l3列表末尾添加元素3
l3.append(l4) # l4列表添加到l3末尾
l3.extend(l4) # 将l4元素添加到l3列表末尾
l3.insert(1,"张三")
l3.insert(0,l4)# 删除
l1.remove("张三") # 删除指定元素
l1.pop(1) #删除第二个元素
l1.clear() #清空l1列表
del l1   # 删除l1列表

2、字典(dictionary)

字典是一组可变的无序的对象集合,字典中的元素是通过键(Key) : 值(Value)来保存的,一组键值对称为 一个元素,其中键(Key)不可重复,必须唯一,而值(Value)是可重复的,字典会浪费较大内存,是一种使用 空间换时间的数据类型

# 创建空字典
d0 = {} # 创建空字典
d1 = {"张珊":100,"李思":120,"王武":110}
d2 = dict(name="李尔",weight=116) # 调用内置函数dict()创建,通常用于转换为字典时使用# 查询
print(d1["李思"])  # 查询中括号根据key获取value值,输出 ,120,若不存在,则输出”李思“# 还可以使用get()方法取值,若key不存在返回None,不会变成异常,还可以设置默认value
print(d1.get("张珊"))
print(d1.get("王武",98)) # 若查询不到输出98# 使用keys()方法获取所有keys
print(d1.keys())            # 获取字典中所有的key
print(list(d1.keys()))      # 获取字典中所有的key并转为列表
print(tuple(d1.keys()))     # 获取字典中所有的key并转为元组# 使用value()方法获取所有value的值
print(d1.values())          # 获取字典中所有value值
print(list(d1.values()))    # 获取字典中所有的value值,转为列表
print(tuple(d1.values()))   # 获取字典中所有的value值并转为元组# 使用items()方法获取所有的键值对
print(d1.items())           # 获取字典中所有的键值对
print(list(d1.items()))
print(tuple(d1.items()))for item in d1:print(item)             # 返回字典中所有的key# 判断key是否存在
print("李思" in d1)# 增删改
d1["李思"] = 118 # 将李思的值改为118
d1["张三"] = 106
d1.pop("张三")    # 删除键值对
del d1["张三"]
d1.clear()        #清空字典
del d1            # 删除字典

3.集合

集合是一组可变的、无序的且不可重复的元素序列,可以理解为是没有Value值得字典,基本功能是测试元素 之间的关系和删除重复元素。

# 创建
s0 = set()      # 创建空集合
s1 = {"李思","张珊","李思","王武"}
s2 = set("李尔")# 获取
print(s1)
for i in s1:print(i)ls = list(s1)       # 将集合转换成列表
print(ls[1])
print(ls[0:2])      # 第一个和第二个两个元素# 是否存在
print("李思" in s1)# 添加、更新
s1.add("赵柳")        # 添加一个元素,因为集合是无序的,所以元素位置随机
# update也可以理解为新增,当存在相同元素时,相同元素会被覆盖,不同元素会新增到集合中
s1.update("张三")     # 集合中会添加两个元素,‘张’、‘三’
s1.update("张三丰")  # 集合中会更新两个元素,‘张’和‘三’,新增一个元素‘丰’# 删除
s1.remove("李思")  # 删除s1集合中的元素“李思”,若元素不存在,则抛出KeyError: '李思'
s1.discard("张三")  # 删除s1集合中的元素“张三”,若元素不存在,不会抛出任何异常
s1.pop()            # 随机删除任意一个元素
s1.clear()          # 清空集合中的元素
del s1              # 删除集合

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

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

相关文章

SGPM02陀螺仪模块通过惯性导航助力AGV小车的发展

之前我们介绍过SGPM01系列陀螺仪模块在智能泳池清洁机器人导航的方案(SGPM01)。这款惯性导航模块收到了许多企业的欢迎。由此&#xff0c;爱普生推出了SGPM02系列陀螺仪模块通过惯性导航&#xff0c;助力AGV小车的发展。 AGV是一种用于运输材料的无人驾驶车辆&#xff0c;并且A…

ICode国际青少年编程竞赛- Python-5级训练场-带参数函数

ICode国际青少年编程竞赛- Python-5级训练场-带参数函数 1、 def get_item(a):Dev.step(a)Dev.step(-a) get_item(4) Spaceship.step(2) get_item(2) Spaceship.step(3) get_item(5) Spaceship.step(2) get_item(3) Spaceship.step(3) get_item(4)2、 def get_item(a): D…

老杨说运维 | 金融业数据中心的发展趋势

【这是老杨在2023.10乌镇大会上的演讲&#xff08;一&#xff09;。接下来&#xff0c;6月初老杨又要在成都开讲了。到时候再发新的】 最近几年&#xff0c;“企业数字化转型”是行业内最热的一个词。当然&#xff0c;“新质生产力”又成了这个月最热的词。虽然新词热词层出不…

基于JAVA8的lambda递归的treeNode树形遍历

1.TreeNode类 import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List;Data NoArgsConstructor AllArgsConstructor public class TreeNode {Integer id;String value;/** 子节点信息 */List<TreeNode> childr…

【calcite】calcite实现SQL列级数据血缘 data lineage 查询

一、背景 大数据数据血缘&#xff0c;内部实现十分复杂一般需要依赖框架。calcite作为apache顶级项目&#xff0c;且为java体系成员&#xff0c;被多个项目所使用&#xff0c;如flink&#xff0c;spark&#xff0c;kafka等。calcite 对mysql&#xff0c;oracle&#xff0c;pos…

SHELL-双重循环习题练习

1.99乘法表 #!/bin/bash #99乘法表for ((second1; second<9; second)) dofor ((first1; first<second; first))do echo -n -e "${first}*${second}$[first*second]\t" done echo done ######### 首先定义了一个外循环变量second&#xff0c;初始值为1&am…

AI 情感聊天机器人工作之旅 —— 与复读机问题的相遇与别离

前言&#xff1a;先前在杭州的一家大模型公司从事海外闲聊机器人产品&#xff0c;目前已经离职&#xff0c;文章主要讨论在闲聊场景下遇到的“复读机”问题以及一些我个人的思考和解决方案。文章内部已经对相关公司和人员信息做了去敏&#xff0c;如仍涉及到机密等情况&#xf…

linux学习:多媒体开发库SDL+视频、音频、事件子系统+处理yuv视频源

目录 编译和移植 视频子系统 视频子系统产生图像的步骤 api 初始化 SDL 的相关子系统 使用指定的宽、高和色深来创建一个视窗 surface 使用 fmt 指定的格式创建一个像素点​编辑 将 dst 上的矩形 dstrect 填充为单色 color​编辑 将 src 快速叠加到 dst 上​编辑 更新…

连锁收银系统源代码有哪些功能,进销存+收银+会员+门店补货+线上商城

在现代零售行业&#xff0c;高效的管理系统是保持连锁店运营顺畅的关键。而开源连锁收银系统作为一款功能丰富的管理软件&#xff0c;为零售企业提供了全面的解决方案&#xff0c;涵盖了进销存管理、收银、会员、门店补货以及线上商城等多个方面&#xff0c;帮助企业实现精细化…

C语言判断字符旋转

前言 今天我们使用c语言来写代码来实现字符串选择的判断&#xff0c;我们来看题目 题目描述 写一个函数&#xff0c;判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如&#xff1a;给定s1 AABCD和s2 BCDAA&#xff0c;返回1 给定s1abcd和s2ACBD&#xff0c;返回0. A…

想白嫖?音视频的文本提取和总结?NoteGPT满足你

NoteGPT实现了音频、录音以及视频的AI总结 NoteGPT最近做了一个功能&#xff1a;Audio Summary&#xff08;Audio Summary with AI - NoteGPT&#xff09; 1&#xff09;完全免费&#xff1b; 2&#xff09;支持mp3、mp4&#xff1b; 3&#xff09;支持URL和本地上传&…

数据特征降维 | 线性判别分析(LDA)附Python代码

线性判别分析(Linear Discriminant Analysis,LDA)是一种经典的监督学习方法,主要用于降维和模式识别任务。与主成分分析(PCA)不同,LDA考虑了类别信息,旨在找到一个投影,使得同类样本尽可能接近,不同类样本尽可能分开。 以下是LDA的基本步骤: 数据准备:收集带有类…

【UE Niagara】在UI上生成粒子

效果 步骤 1. 在虚幻商城中将“Niagara UI Render”插件安装到引擎 2. 打开虚幻编辑器&#xff0c;勾选插件“Niagara UI Renderer”&#xff0c;然后重启编辑器 3. 先创建一个控件蓝图&#xff0c;该控件蓝图只包含一个按钮 这里设置尺寸框尺寸为200*50 4. 显示该控件 5. 新…

Excel——项目管理,设置时间到期自动提醒及颜色高亮

效果图 第一步、自动获取合同到期日期 1、首先合同【签约日期】和【到期日期】下面的数据必须是日期格式&#xff0c;不能是其它的格式否则无法计算&#xff0c;如果是其它格式需要转换成标准的日期格式&#xff0c;如下图所示。 2、在“到期日期”下面的第一个单元格中输入公…

MySQL深入理解事务(详解)

事务概述 事务是数据库区别于文件系统的重要特性之一&#xff0c;当我们有了事务就会让数据库始终保持一致性&#xff0c;同时我们还能通过事务机制恢复到某个时间点&#xff0c;这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。 1、基本概念 事务&#xff1a;一组…

如何让机器理解人类语言?Embedding技术详解

如何让机器理解人类语言&#xff1f;Embedding技术详解 文章目录 如何让机器理解人类语言&#xff1f;Embedding技术详解介绍什么是词嵌入&#xff1f;什么是句子嵌入&#xff1f;句子嵌入模型实现句子嵌入的方法值得尝试的句子嵌入模型 句子嵌入库实践Step 1Step 2Step 3 Doc2…

GBJ3510-ASEMI室内空调机GBJ3510

编辑&#xff1a;ll GBJ3510-ASEMI室内空调机GBJ3510 型号&#xff1a;GBJ3510 品牌&#xff1a;ASEMI 封装&#xff1a;GBJ-4 最大重复峰值反向电压&#xff1a;1000V 最大正向平均整流电流(Vdss)&#xff1a;35A 功率(Pd)&#xff1a;中小功率 芯片个数&#xff1a;4…

股东那些事儿:解锁企业背后的权力玩家与盈利秘籍

Hello&#xff0c;大家好啊&#xff0c;今天咱们要聊的主角&#xff0c;是每个企业背后不可或缺的隐形巨擘——股东。他们是谁&#xff1f;他们怎样从公司的经营中分一杯羹&#xff1f;又如何在商业棋盘上运筹帷幄&#xff1f;搬好小板凳&#xff0c;咱们这就开启股东世界的探秘…

Node.js 学习笔记 express框架

express express 使用express下载express 初体验 express 路由什么是路由1路由的使用验证的方法 2获取请求报文参数3获取路由参数4响应设置响应报文 express 中间件5中间件全局中间件路由中间件 6静态资源中间件注意事项案例 7请求体数据8防盗链实现防盗链 9路由模块化router E…

【python】文件操作(持续更新)

1.替换文件名后缀 from pathlib import Pathpdf_path "example.pdf" docx_path Path(pdf_path).with_suffix(.docx) print(docx_path) # 输出: example.docx