【Python学习系列】数据类型(二)

news2025/1/13 9:14:35

文章目录

  • 一、数值类型(Numbers)
  • 二、序列(Sequences)
    • 2.1 字符串
    • 2.2 列表
    • 2.3 元组
  • 三、集合(Sets)
  • 四、映射(Mappings)
  • 五、布尔值(Booleans)
  • 六、None类型
  • 七、数据类型转换

一、数值类型(Numbers)

  • 整数(Integers):表示整数,如 1, 2, -3 等。
  • 浮点数(Floats):表示浮点数,即带有小数点的数,如 3.14, -0.5 等。
  • 复数(Complex):表示复数,由实部和虚部组成,如 3 + 4j。
a = 10          # 整数
b = 3.14        # 浮点数
c = 3 + 4j      # 复数

print(type(a))  # <class 'int'>
print(type(b))  # <class 'float'>
print(type(c))  # <class 'complex'>

二、序列(Sequences)

  • 字符串(Strings):表示文本数据,由字符组成,用单引号、双引号或三引号括起来,如 ‘hello’, “world”, ‘’‘multi-line string’‘’。
  • 列表(Lists):表示有序的元素集合,元素可以是不同类型,用方括号 [] 括起来,如 [1, 2, 3], [‘a’, ‘b’, ‘c’]。
  • 元组(Tuples):表示有序的不可变元素集合,用圆括号 () 括起来,如 (1, 2, 3), (‘a’, ‘b’, ‘c’)。
s = "hello"     # 字符串
l = [1, 2, 3]   # 列表
t = (1, 2, 3)   # 元组

print(type(s))  # <class 'str'>
print(type(l))  # <class 'list'>
print(type(t))  # <class 'tuple'>

2.1 字符串

如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。注:获取的子字符串包含头下标的字符,但不包含尾下标的字符。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
str = 'abcdefg'
 
print str           # 输出完整字符串,执行结果:abcdefg
print str[0]        # 输出字符串中的第一个字符,执行结果:a
print str[2:5]      # 输出字符串中第三个至第六个之间的字符串(其中不包含第六个字符),执行结果:cde
print str[2:]       # 输出从第三个字符开始的字符串,执行结果:cdefg
print str * 2       # 输出字符串两次,执行结果:abcdefgabcdefg
print str + "TEST"  # 输出连接的字符串,执行结果:abcdefgTEST

2.2 列表

列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始。其中加号 + 是列表连接运算符,星号 * 是重复操作。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
 
print list               # 输出完整列表,执行结果:['runoob', 786, 2.23, 'john', 70.2]
print list[0]            # 输出列表的第一个元素,执行结果:runoob
print list[1:3]          # 输出第二个至第三个元素,执行结果:[786, 2.23]
print list[2:]           # 输出从第三个开始至列表末尾的所有元素,执行结果:[2.23, 'john', 70.2]
print tinylist * 2       # 输出列表两次,执行结果:[123, 'john', 123, 'john']
print list + tinylist    # 打印组合的列表,执行结果:['runoob', 786, 2.23, 'john', 70.2, 123, 'john']

2.3 元组

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
 
print tuple               # 输出完整元组,执行结果:('runoob', 786, 2.23, 'john', 70.2)
print tuple[0]            # 输出元组的第一个元素,执行结果:runoob
print tuple[1:3]          # 输出第二个至第四个(不包含)的元素 ,执行结果:(786, 2.23)
print tuple[2:]           # 输出从第三个开始至列表末尾的所有元素,执行结果:(2.23, 'john', 70.2)
print tinytuple * 2       # 输出元组两次,执行结果:(123, 'john', 123, 'john')
print tuple + tinytuple   # 打印组合的元组,执行结果:('runoob', 786, 2.23, 'john', 70.2, 123, 'john')

三、集合(Sets)

  • 集合(Sets):表示无序的不重复元素集合,用大括号 {} 括起来,如 {1, 2, 3}。也可以使用 set() 函数创建空集合。
my_set = {1, 2, 3}  # 集合
empty_set = set()   # 创建空集合

print(type(my_set))    # <class 'set'>
print(type(empty_set)) # <class 'set'>

四、映射(Mappings)

  • 字典(Dictionaries):表示键值对的集合,用大括号 {} 括起来,键必须是不可变类型,如 {1: ‘one’, 2: ‘two’}, {‘a’: 1, ‘b’: 2}。
my_dict = {'a': 1, 'b': 2}  # 字典

print(type(my_dict))  # <class 'dict'>

字典与列表最大区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取,具体使用案例如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
 
tinydict = {'name': 'runoob','code':6734, 'dept': 'sales'}
 
 
print dict['one']          # 输出键为'one' 的值,输出结果:This is one
print dict[2]              # 输出键为 2 的值,输出结果:This is two
print tinydict             # 输出完整的字典,输出结果:{'dept': 'sales', 'code': 6734, 'name': 'runoob'}
print tinydict.keys()      # 输出所有键,输出结果:['dept', 'code', 'name']
print tinydict.values()    # 输出所有值,输出结果:['sales', 6734, 'runoob']

五、布尔值(Booleans)

  • 布尔值(Booleans):表示逻辑值,只有两个值:True 和 False。
is_true = True   # 布尔值
is_false = False # 布尔值

print(type(is_true))  # <class 'bool'>
print(type(is_false)) # <class 'bool'>

六、None类型

  • None:表示空值或无值,只有一个值 None。
nothing = None  # None类型

print(type(nothing))  # <class 'NoneType'>

七、数据类型转换

函数描述
int(x [,base])将x转换为一个整数
long(x [,base] )将x转换为一个长整数
float(x)将x转换到一个浮点数
complex(real [,imag])创建一个复数
str(x)将对象 x 转换为字符串
repr(x)将对象 x 转换为表达式字符串
eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)将序列 s 转换为一个元组
list(s)将序列 s 转换为一个列表
set(s)转换为可变集合
dict(d)创建一个字典。d 必须是一个序列 (key,value)元组。
frozenset(s)转换为不可变集合
chr(x)将一个整数转换为一个字符
unichr(x)将一个整数转换为Unicode字符
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串

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

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

相关文章

【Java】-- 利用 jar 命令将配置文件添加到 jar 中

目录 1、准备 2、目标 3、步骤 3.1、安装 jdk 3.2、添加配置文件 3.3、校验 1、准备 java 环境hadoop-core-1.2.1.jar 和 core-site.xml 2、目标 将 core-site.xml 添加到 hadoop-core-1.2.1.jar 中。 3、步骤 3.1、安装 jdk 3.2、添加配置文件 jar -cvf hadoop-core-…

day14-Linux系统基础权限知识精讲

1. 给文件加特殊属性 1.1 chattr a:只能追加内容&#xff0c;不能删除 i:不能修改&#xff0c;不能删除;保护关键文件&#xff0c;防止非法写入 [rootoldboy ~]# chattr a test.txt [rootoldboy ~]# chattr i test.txt [rootoldboy ~]# echo 123 >> test.txt -bash: t…

Android使用系统消息与定时器实现霓虹灯效果

演示效果: 界面设计: 在帧布局FrameLayout中添加6个TextView 依次设置这6个TextView的宽&#xff0c;高&#xff0c;权重 也可在XML中直接设置 添加自定义颜色 关联自定义颜色到数组变量 关联6个TextView控件到数组变量 处理自定义系统消息 Handler _sysHandler new Han…

数据结构大作业——家谱管理系统(超详细!完整代码!)

目录 设计思路&#xff1a; 一、项目背景 二、功能分析 查询功能流程图&#xff1a; 管理功能流程图&#xff1a; 三、设计 四、实现 代码实现&#xff1a; 头文件 结构体 函数声明及定义 创建家谱树头结点 绘制家谱树&#xff08;打印&#xff09; 建立右兄弟…

vue3+elementPlus之后台管理系统(从0到1)(day1)

vue3官方文档&#xff1a;https://cn.vuejs.org/guide/introduction.html 1、项目创建 确保电脑已安装node 查看命令&#xff1a; node -v进入项目目录&#xff0c;创建项目 npm init vuelatest Need to install the following packages: create-vue3.13.0 Ok to procee…

汉图科技XP356DNL高速激光打印一体机综合性能测评

汉图科技XP356DNL高速激光打印一体机效率方面表现出色&#xff0c;支持A4纸型的高速打印&#xff0c;单面打印速度高达35页/分钟&#xff0c;自动双面打印速度可达32面/分钟&#xff0c;这样的速度在日常办公中能够极大地提高打印效率&#xff0c;减少等待时间&#xff0c;满足…

【芯片封测学习专栏 -- 什么是 Chiplet 技术】

请阅读【嵌入式开发学习必备专栏 Cache | MMU | AMBA BUS | CoreSight | Trace32 | CoreLink | ARM GCC | CSH】 文章目录 OverviewChiplet 背景UCIeChiplet 的挑战 Overview Chiplet 又称为小芯片。该技术通过将大型SoC划分为更小的芯片&#xff0c;使得每个部分都能采用不同…

1.CSS的复合选择器

1.1 什么是复合选择器 在CSS中&#xff0c;可以根据选择器的类型把选择器分为基础选择器和复合选择器&#xff0c;复合选择器是建立在基础选择器之上&#xff0c;对基础选择器进行组合形成的。 复合选择器可以更精准、更高效的选择目标元素&#xff08;标签&#xff09; 复…

【MySQL】SQL菜鸟教程(一)

1.常见命令 1.1 总览 命令作用SELECT从数据库中提取数据UPDATE更新数据库中的数据DELETE从数据库中删除数据INSERT INTO向数据库中插入新数据CREATE DATABASE创建新数据库ALTER DATABASE修改数据库CREATE TABLE创建新表ALTER TABLE变更数据表DROP TABLE删除表CREATE INDEX创建…

docker 自建rustdesk服务器测试

参考https://blog.csdn.net/tootsy_you/article/details/130010564 注意&#xff1a; docker-compose.yml version: 3networks:rustdesk-net:external: falseservices:hbbs:container_name: hbbsports:- 21115:21115- 21116:21116- 21116:21116/udp- 21118:21118image: rust…

检验统计量与p值笔记

一、背景 以雨量数据为例&#xff0c;当获得一个站点一年的日雨量数据后&#xff0c;我们需要估计该站点的雨量的概率分布情况&#xff0c;因此我们利用有参估计的方式如极大似然法估计得到了假定该随机变量服从某一分布的参数&#xff0c;从而得到该站点的概率密度函数&#x…

每日十题八股-2025年1月12日

1.为什么四次挥手之后要等2MSL? 2.服务端出现大量的timewait有哪些原因? 3.TCP和UDP区别是什么&#xff1f; 4.TCP为什么可靠传输 5.怎么用udp实现http&#xff1f; 6.tcp粘包怎么解决&#xff1f; 7.TCP的拥塞控制介绍一下&#xff1f; 8.描述一下打开百度首页后发生的网络过…

制造企业“数字化转型”典型场景参考

聚焦产业链上下游企业研发设计、生产制造、运维服务、经营管理、供应链管理等场景&#xff0c;以场景为切入点梳理数字化转型痛点需求&#xff0c;绘制重点行业、重点产业链数字化转型场景图谱&#xff08;简称“一图谱”&#xff09;&#xff0c;明确企业数字化转型路径&#…

Web渗透测试之XSS跨站脚本 防御[WAF]绕过手法

目录 XSS防御绕过汇总 参考这篇文章绕过 XSS payload XSS防御绕过汇总 服务端知道有网络攻击或者xss攻 Html

《机器学习》——sklearn库中CountVectorizer方法(词频矩阵)

CountVectorizer方法介绍 CountVectorizer 是 scikit-learn 库中的一个工具&#xff0c;它主要用于将文本数据转换为词频矩阵&#xff0c;而不是传统意义上的词向量转换&#xff0c;但可以作为词向量转换的一种基础形式。用于将文本数据转换为词频矩阵&#xff0c;它是文本特征…

session-manager-plugin: command not found 解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

Linux之读者写者模型与特殊锁的学习

目录 读者写者模型 特殊锁 悲观锁 自旋锁 在前几期&#xff0c;我们学习了多线程的生产者和消费者模型&#xff0c;生产者和消费者模型中&#xff0c;有三种关系&#xff0c;两个角色&#xff0c;一个场所&#xff0c;那么读者写者模型和生产者消费者模型有什么关联吗&…

期刊(中英),期刊分区,期刊所在数据库(中英),出版商区别和联系

目录 对期刊、分区、数据库、出版商整体了解期刊&#xff08;中英&#xff09;期刊分区期刊所在数据库总结 出版商 对期刊、分区、数据库、出版商整体了解 下图是我对这四部分的一个理解&#xff0c;其中期刊根据论文使用语言分为中英两种&#xff0c;期刊分区是用来评判论文质…

数学函数的参数和返回值探秘

数学函数的参数和返回值探秘 一、数学函数的参数1.1 隐式类型转换1.2 隐式类型转换的秘密 二、数学函数的返回值 本文所说的数学函数单指<math.h>中的系统函数&#xff0c;这些函数对参数和返回值的要求与其他类函数是有一点不同的。尤其是参数部分&#xff0c;是有值得深…

炸砖块游戏的最终图案

描述 小红正在玩一个“炸砖块”游戏,游戏的规则如下:初始有一个 n * m 的砖块矩阵。小红会炸 k 次,每次会向一个位置投炸弹,如果这个位置有一个砖块,则砖块消失,上方的砖块向下落。小红希望你画出最终砖块的图案。 输入描述 第一行输入三个正整数 n, m, k,代表矩阵的行…