【python百炼成魔】手把手带你学会python数据类型
文章目录
- 前言
- 一. python的基本数据类型
- 1.1 如何查看数据类型
- 1.2 数值数据类型
- 1.2.1 整数类型
- 1.2.2 浮点数类型
- 1.2.3 bool 布尔数值类型
- 1.2.4 字符串类型
- 二. 数据类型强制转换
- 2.1 强制转换为字符串类型
- 2.2 强制转换为int类型
- 2.3 强制转换函数之float() 函数
- 三. 拓展几个运算函数
- 总结
前言
本文是专栏【python百炼成魔】的第二篇文章,主要一起探讨下数据类型和输入输出函数。
【python百炼成魔】 专栏是沐风晓月对python的总结汇总,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。
🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘

一. python的基本数据类型
对任何一门编程语言来说,数据类型是学习的必经之路,哪怕是shell脚本,也有自己的数据类型,只不过shell脚本是弱数据类型。相对来说python的数据类型要比其他语言简单很多,主要分为以下几类:
- 数值数据类型,常见的有整数类型和浮点型(也就是整数和小数)
- 布尔值数据类型,就是我们常见的真与假,一般用于判断
- 字符串数据类型
1.1 如何查看数据类型
如何查看数据类型至关重要,在python中我们要查看一个变量属于何种数据类型,可以使用type。
比如我们要测试 name=“mufeng” 中name的数据类型,就可以做如下的操作:
'''
测试python的数据类型
'''name="mufeng"
print(type(name))
结果是:

该输出结果name变量的数据类型就是字符串。
如果我们用age=10来查看:
'''
测试python的数据类型
'''age=10print(type(age))
查看结果:

可以看到这里显示int类型,也就是age变量的数据类型是int。
除此之外还有 float,这个表示浮点数。
1.2 数值数据类型
数值数据类型,一个是整数类型,一个是浮点数类型,还有一个是复数类型。
- 整数类型:对应的数学中的整数,其返回类型为int型,如10、25等;
long为长整型,也可以代表八进制和十六进制。 - 浮点数类型:带有小数点的数字,返回类型为float型,如3.14、2.1e2等。
- 复数类型:Python复数分为两部分,形如a + bj,其中a为实部,b为虚部,返回类型为complex,例如-12.3 + 8j。
复数可以通过.real获取实部数据,.imag获取虚部数据。
关于复数的代码测试如下:
a=12.3
b=8j
c=a+b
print(type(c))

可以看到他的数据类型为 complex
获取这个复数类型的是实部和虚部:
a=12.3
b=8j
c=a+b
print(type(c))
print(c.real)
print(c.imag)
执行结果如下:

1.2.1 整数类型
整数类型用int来表示,可以表示为正数,负数,和零;
整数可以显示为各种不同的形式,比如十进制,八进制,二进制,我们都知道计算机用的是二进制,但我们一个十进制的数字如何转化为二进制呢?
这时候我们会用到python的内置函数,将整数转化为二进制格式显示用到的内置函数为bin, 代码如下:
a=8
print(bin(a))
结果如下:
0b1000
二进制都是以0b开头的,后面都是0和1的排列,那其他进制的形式都是以什么开头,以及用到什么内置函数来转换呢?
当然这里的内置函数指的是把一个整数转换为当前进制所用的行数,比如我们要把整数转化为八进制,就用oct
| 进制 | 以XX开头 | 内置函数 |
|---|---|---|
| 十进制 | 默认进制 | 默认进制 |
| 二进制 | 以0b开头 | bin |
| 八进制 | 以0o开头 | oct |
| 十六进制 | 以0x开头 | hex |
我们如果要打印一个二进制,其结果也会显示十进制:
print('十进制',110)
## 二进制必须以0b开头
print('二进制错误写法',110110110)
print('二进制', 0b110110110)
输出结果:
十进制 110
二进制错误写法 110110110
#此处二进制显示为十进制
二进制 438
1.2.2 浮点数类型
浮点数就可以理解为小数,但当我们对小数进行运算的时候容易出问题:
n1=1.1
n2=2.2
print(n1+n2)

1.1+2.2=3.3000000000003
这就是浮点型,可能跟我们想的不一样, 怎么样可以输出我们想要的呢?
这是二进制的底层问题,有的会准确,有的会不准确,如果要修改怎么修改呢?
我们可以这么来修改:
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2'))
这样出来的结果,就是3.3了。
1.2.3 bool 布尔数值类型
布尔来自英文boolean的音译,在python中布尔值有两种类型,一种是(True) ,另一种是假(False) ,使用type函数可以测试数据类型布尔值得到的bool.
真和假我们也可以用整数来表示:
- True表示的是整数1
- False表示正式0
f1=True
f2=False
print(f1,type(f1))
print(f2,type(f2))
print(int(f1))
print(int(f2))
执行结果:

可以看到bool值的整数类型强制转换后是 0 和1.
1.2.4 字符串类型
字符串在python当中使用的最广泛了,也是知识点最多的一个数据类型,一般情况下字符串类型在Python中需要用单引号或双引号括起来。
可以是一个字母,也可以是多个字母的组合。
如果非要下个定义,那字符串类型就是不可变的字符序列;
它有以下几个特性:
- 可以使用单引号,双引号,三引号
- 单引号和双引号定义的字符串必须在一行显示
- 三引号定义的字符串可以分布在连续的多行;
单引号和双引号都是 可以的,都表示为字符串类型,我们看看下面的代码示例:
name='沐风晓月'
str1='人生苦短我用python '
print(str1,type(str1))
输出结果:
人生苦短我用python <class 'str'>
可以看到他的值是字符串类型。
如果我们使用双引号
name='沐风晓月'
str1='人生苦短我用python '
str2="人生苦短我用Python"
print(str1,type(str1))
print(str2,type(str2))

可以看到,单引号和双引号是一样的,都表示字符串类型
三个单引号或者三个双引号,可以换行输出:
name='mufeng晓月'
str3='''人生苦短
我用python '''
str4="""人生苦短
我用Python"""
print(str3,type(str3))
print(str4,type(str4))

字符串是可以连接的比如:
name='沐风晓月'str4="""人生苦短
我用Python"""c=name+str4
print(c)
执行结果:

二. 数据类型强制转换
2.1 强制转换为字符串类型
为什么会使用到数据类型转换,我们来看一个例子:
name='沐风晓月'
age=19
print(type(name),type(age))
print('我叫'+name+'今年'+age+"岁")
这样输出结果会报错:

原因就是数据类型不同,int不能和str相加。如果想要不报错,我们可以通过str()函数强制转换为字符串,例如:
name='沐风晓月'
age=19
print('我叫'+name+',今年'+ str(age)+"岁")
输出结果:
我叫沐风晓月,今年19岁
可以看到这样就没问题了。这里的str() 是将其他类型转成str类型
举例:
a=10
b=19.9
c=False
print(type(a),type(b),type(c))
print(str(a),str(b),str(c),type(str(a)),type(str(b)),type(str(c)))

上面的例子中,我们就强制转换了数字为字符串类型,这一点在进行判断的时候很有用。
2.2 强制转换为int类型
在强制转换的参数中,我们也经常用到int(),这个是把其他类型转成int类型
其实我们再shell脚本中也经常用到int类型的转换,比如:

shell命令代码如下:
[root@mufeng ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 5.0G 14G 28% /
tmpfs 1.9G 224K 1.9G 1% /dev/shm
/dev/sda1 190M 40M 141M 22% /boot
/dev/sr0 3.7G 3.7G 0 100% /mnt
[root@mufeng ~]# df -h |awk '{print $5}'
Use%
28%
1%
22%
100%
[root@mufeng ~]# df -h |awk '{print int($5)}'
0
28
1
22
100
同样的在python 当中的强制转换也是一样的道理,我们来看python中int()强制转换的案例
a='10'
print(type(a))
print(int(a),type(int(a)))

可以看到,一开始是字符串类型,强制转换成了数值类型。
这里需要注意:将str类型转成int类型时,字符串必须为数字串,且必须为整数,非数字串是不行的。
比如我们定义三个数值,其中a=字符串类型的非整数, b=小数,c=整数字符串,看看那种能执行成功
a='helloworld'
b='76.77'
c='76'
#print(int(a))
#print(int(b))
print(int(c))
可以看到只有c这种整数型可以强制转化成功
2.3 强制转换函数之float() 函数
将其他类型转成float类型,我们来测试下:
a='198.88'
b='76'
c=True
d='hello'
e=100
print(float(a),type(float(a)))
print(float(b))
print(float(c))
#print(float(d)) 字符串中的数据如果是非数字串,则不允许转换
print(float(e))
执行结果:

我们可以用下图来表示各种类型的强制转换的关系:

三. 拓展几个运算函数
在我们做数值运算的时候,也会用到一些函数,而且出现的频率比较高,这里简单介绍下,后面我们还会用到:
- abs() 计算绝对值
- pow()计算 次方运算
- round() 四舍五入
- max() 取最大值
- min() 取最小值
通过以下代码,我们来看看这几个值都是做啥的:
# abs() 计算绝对值
a= -1
print(abs(a))# pow() 计算次方
x=2
y=3
print(pow(x,y))
#round() 四舍五入d=99.9
print(round(d))# 取最大值
print(max(1,2,3,4))
执行结果:
1
8
100
4
关于数值的运算比较简单,本文就介绍这些,后面用到的时候,如果有其他用法我们再具体学习。
总结
以上介绍了python的数据类型,重点在于字符串类型和数据类型的强制转换。
每日鸡汤:滴水穿石,不是水的力量,而是坚持的力量! 想要成为最重要的人,就把学习当成最重要的事!
学习是解决任何问题的唯一方法!
✨原创不易,还希望各位大佬支持一下\textcolor{blue}{原创不易,还希望各位大佬支持一下}原创不易,还希望各位大佬支持一下
👍 点赞,你的认可是我创作的动力!\textcolor{green}{点赞,你的认可是我创作的动力!}点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!\textcolor{green}{收藏,你的青睐是我努力的方向!}收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!\textcolor{green}{评论,你的意见是我进步的财富!}评论,你的意见是我进步的财富!
相关文章:
【python百炼成魔】手把手带你学会python数据类型
文章目录前言一. python的基本数据类型1.1 如何查看数据类型1.2 数值数据类型1.2.1 整数类型1.2.2 浮点数类型1.2.3 bool 布尔数值类型1.2.4 字符串类型二. 数据类型强制转换2.1 强制转换为字符串类型2.2 强制转换为int类型2.3 强制转换函数之float() 函数三. 拓展几个运算函数…...
数据储存以及大小端判断
目录 数据存储 1,二进制存储方式(补码,反码,源码) 2,指针类型 3,大端,小段判断 1,二进制存储方式(补码,反码,源码) 我…...
GRASP设计原则
GRASP设计原则介绍9种基本原则创建者 Creator问题解决方法何时不使用?好处信息专家 Information Expert问题解决方法信息怎么做优点低耦合 Low Coupling耦合问题解决方法原则何时不使用?控制器 Controller问题解决方法外观控制器会话控制器优点臃肿控制器的解决方法高内聚 Hi…...
再遇周杰伦隐私协议
本隐私信息保护政策版本:2021 V1 一、重要提示 请您(以下亦称“用户”)在使用本平台App时仔细阅读本协议之全部条款,并确认您已完全理解本协议之规定,尤其是涉及您的重大权益及义务的加粗或划线条款。如您对协议有任…...
关于项目上的一些小操作记录
一 如何在项目的readme.md文件中插入图片说明 1 准备一张图片命名为test.png 2 在maven项目的resources目录下新建文件夹picture,将图片放入该目录下 3 在readme.md文件中期望插入图片的地方编辑如下:  此时&#…...
sql查询不以某些指定字符开头(正则表达式)
我们用到的最多的是:查询以特定字符或字符串开头的记录 字符^用来匹配以特定字符或字符串开头的记录。 例 1 在 tb_students_info 表中,查询 name 字段以“J”开头的记录,SQL 语句和执行过程如下。 mysql> SELECT * FROM tb_students_…...
35.网络结构与模型压缩、加速-2
35.1 Depthwise separable convolution Depthwise separable convolution是由depthwise conv和pointwise conv构成depthwise conv(DW)有效减少参数数量并提升运算速度 但是由于每个feature map只被一个卷积核卷积,因此经过DW输出的feature map不能只包含输入特征图的全部信息,…...
FreeSWITCH跨NAT部署配置详解
本文仅讨论FreeSWITCH部署在NAT之后(里面)这种场景,假设私网地址与公网地址有一个确定的映射关系。这里只涉及mod_sofia(SIP信令及媒体)相关配置,其他模块不在本文讨论之列。配置mod_sofia默认提供两个prof…...
【精选论文 | Capon算法与MUSIC算法性能的比较与分析】
本文编辑:调皮哥的小助理 【正文】 首先说结论: 当信噪比(SNR)足够大时,Capon算法和MUSIC算法的空间谱非常相似,因此在SNR比较大时它们的性能几乎一样,当不同信号源的入射角度比较接近时&…...
卫星、无人机平台的多光谱数据在地质、土壤调查和农业等需要用什么?
近年来,Python编程语言受到越来越多科研人员的喜爱,在多个编程语言排行榜中持续夺冠。同时,伴随着深度学习的快速发展,人工智能技术在各个领域中的应用越来越广泛。机器学习是人工智能的基础,因此,掌握常用…...
30个题型+代码(冲刺2023蓝桥杯)
愿意的可以跟我一起刷,每个类型做1~5题 ,4月前还可以回来系统复习 2月13日 ~ 3月28日,一共32天 一个月时间,0基础省三 --> 省二;基础好点的,省二 --> 省一 目录 🌼前言 🌼…...
快速且有效减小代码包的方法
前言当我们在发布一些APP或者小程序等比较小的程序时候,常常会对其主包大小进行一定的规定,若超过推荐的主包大小则性能会被大大影响,或者再严重一点就不给你过审。如微信小程序中也对主包有一定的大小要求。对此一些比较复杂的小程序就需要考…...
基于matlab评估星载合成孔径雷达性能
一、前言本示例展示了如何评估星载合成孔径雷达 (SAR) 的性能,并将理论极限与 SAR 系统的可实现要求进行比较。SAR利用雷达天线在目标区域上的运动来提供更精细的方位角分辨率。给定雷达的主要参数(例如工作频率、天线尺寸和带宽&…...
Linux_基本指令
新的专栏Linux入门来啦!欢迎各位大佬补充指正!! Linux_基本指令导入文件绝对路径与相对路径隐藏的文件指令ls查看stat查看文件属性cd进入路径mkdir创建目录touch创建文件rm删除man查询手册cp复制mv移动cat查看文件morelessheadtail时间相关的…...
Keras深度学习实战——使用深度Q学习进行SpaceInvaders游戏
Keras深度学习实战——使用深度Q学习进行SpaceInvaders游戏 0. 前言1. 问题与模型分析2. 使用深度 Q 学习进行 SpaceInvaders 游戏相关链接0. 前言 在《深度Q学习算法详解》一节中,我们使用了深度 Q 学习来进行 Cart-Pole 游戏。在本节中,我们将利用深度Q学习来玩“太空侵略…...
从事架构师岗位快2年了,聊一聊我对架构的一些感受和看法
从事架构师岗位快2年了,聊一聊我和ChatGPT对架构的一些感受和看法 职位不分高低,但求每天都能有新的进步,永远向着更高的目标前进。 文章目录踏上新的征程架构是什么?架构师到底是干什么的?你的终极目标又是什么&#…...
零基础机器学习做游戏辅助第十二课--原神自动钓鱼(二)
一、模拟训练环境 上节课我们已经能够判断人物的钓鱼状态,接下来我们就需要对鱼儿上钩后的那个受力框进行DQN训练。 方案有两个: 使用卷积神经网络直接输入图像对网络进行训练。使用普通网络,自己写代码模拟出图像中三个点的动态并把值给神经网络进行训练。这里我们选用第二…...
MapReduce paper(2004)-阅读笔记
文章目录前言摘要(Abstract)一、引言( Introduction)二、编程模型(Programming Model)三、实现(Implementation)3.1、执行概述(Execution Overview)3.2、主节点数据结构(Master Data…...
【蒸滴C】C语言指针入门很难?看这一篇就够了
目录 一、前言 二、指针是什么 小结: 三、指针变量是什么 小结: 四、指针在32位机器和64位机器中的差别 32位机器: 64位机器: 小结: 五、指针和指针类型 (1)指针的意义 (2ÿ…...
C++11新的类功能
文章首发公众号:iDoitnow 1. 特殊的成员函数 C11在原有的4个特殊成员函数(默认构造函数、复制构造函数、复制赋值运算符和析构函数)的基础上新增了移动构造函数和移动赋值运算符。这些特殊成员函数在各种情况下是会通过编译器自动提供的。 …...
从原理到实战:阻容降压电路的设计要点与避坑指南
1. 阻容降压电路基础认知 第一次接触阻容降压电路是在五年前的一个智能插座项目上,当时为了把220V交流电转换成5V直流给单片机供电,团队在开关电源和阻容降压方案之间犹豫了很久。最终因为成本控制选择了后者,这个决定让我深刻体会到了阻容降…...
iPad协议开发老哥的避坑指南
兄弟们,在微信私域开发这条路上摸爬滚打了好几年,试过各种方案踩过无数坑,今天终于能给大家分享一个真正用着顺手、技术扎实的「宝藏工具」了——wechatapi 的 iPad 协议接口。作为过来人,真心想把这份「避坑指南」和开发经验掏心…...
模拟电路延时触发音频振荡器:DIY电子蟋蟀的原理与实现
1. 项目概述:一场源于图书馆的“电子恶作剧”这个故事始于1977年,几个高中二年级的学生,在图书馆的参考书区发现了一本出版于40年代的“宝藏”书籍。书里充满了各种能让青春期男孩兴奋不已的内容:爆炸性混合物、自燃的纸飞机、三碘…...
085、命令行工具开发:argparse模块实战笔记
085、命令行工具开发:argparse模块实战笔记 昨天帮同事调试一个数据清洗脚本,问题出在参数解析上。脚本接收三个输入路径,结果他少传了一个参数,程序直接崩溃报“IndexError”。这种体验太糟糕了——用户不知道哪里错了,也不知道该怎么用。这就是为什么我们需要专业的命令…...
从泊松比到广义胡克定律:物理仿真中的材料形变建模指南
1. 泊松比:材料形变的"性格密码" 第一次接触泊松比这个概念时,我正对着橡胶减震器的仿真结果发愁——明明设置了正确的杨氏模量,为什么变形效果总是不对劲?直到导师指着屏幕问:"你考虑过这个橡胶材料的…...
2025届毕业生推荐的六大AI学术助手解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于内容创作进程里,要减低AI生成文本的可检测比率,得从语义、结构以及…...
IoT产品创新方法论:构建“场景 × 技术 × 数据 × 商业”的系统创新能力
目录 一、 问题与背景 二、 本文将系统讲解 三、 什么是IoT产品创新 3.1 核心定义 3.2 IoT创新的核心变化 3.3 创新的三种层级(阶梯论) 四、 IoT产品创新结构模型(核心框架) 4.1 四维创新模型(核心体系) 4.2 创新演进路径 五、 五大IoT创新方法论(核心武器库)…...
多模型 API 聚合如何赋能智能体实现更复杂的决策与调度
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 多模型 API 聚合如何赋能智能体实现更复杂的决策与调度 在构建高级智能体系统时,单一的模型提供商往往难以满足所有场景…...
pip cache purge 清理下载缓存文件
如上图所示的这个目录是 Python 的包管理工具 pip 用来存储下载过的安装包(wheel 或源码包)的缓存。它的主要作用是在你下次安装同一个包时,可以直接从本地读取,而无需再次从网络下载,从而加快安装速度。 但是…...
Allegro丝印层加汉字和防静电标识?我找到了比自带功能更香的免费Skill工具
Allegro丝印层高效处理方案:汉字与防静电标识的终极实践指南 在PCB设计的最后阶段,丝印层的处理往往成为工程师们头疼的问题。尤其是当设计需要添加中文注释、企业标识或行业标准符号(如防静电警告标志)时,Allegro原生…...
