热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

详解Python开发语言中的基本数据类型

数据类型想必大家都知道是什么含义,指的是输入数据的类型,任何数据都有明确的数据类型。本文主要和大家聊聊Python的三种基本数据类型,感兴趣的可以了解一下

1.Python的基本数据类型

数据类型想必大家都知道是什么含义,指的是输入数据的类型,任何数据都有明确的数据类型,例如我们输入100,这个数据就是整数类型,输入7.7这个数据就是浮点数类型,输入字母、汉字、字母加汉字的数据都是字符串类型。

Python基本数据类型有三种:

  • 整数类型:数字
  • 浮点数类型:带小数点的数字
  • 字符串类型:字母、数字、汉字任意组合

通过type函数可以读取某个数据的数据类型,配合print函数可以打印出某个数据的类型,语法格式如下。

type(输入的数据)

print(type(输入的数据))

打印出100、7.7、aaas11sdj三个数据的数据类型。

print(type(100))
print(type(7.7))
print(type('aaas11sdj'))

使用print配合type函数一起使用,可以打印出某个数据的数据类型是什么。

2.整数类型的概念以及使用

2.1.整数类型的概念

整数类型是什么就不再多说了,在计算机整数中有四种不同的进制表示方式,对于一个整数可以有十进制、二进制、八进制、十六进制这四种表示方式,默认情况下整数是十进制表示。

  • 十进制默认就是一个整数,没有任何含义
  • 二进制是以0b开头的,只有0和1两个数字,在计算机中一切皆二进制,只有0和1。
  • 八进制是以0o开头的,包含0-7八个数字。
  • 十六进制是以0x开头,包含0-9十个数字和A-F六个字母。

各种进制包含的数字、计算方法都在下表中:

进制类型基本数逢几进一 计算方法
十进制0/1/2/3/4/5/6/7/8/910118=8+1*10^1+1*10^2
二进制0/120b1110110=0+1*2^1+1*2^2+0*2^3+1*2^4+1*2^5+1*2^6=118
八进制0/1/2/3/4/5/6/780o166=6+6*8^1+1*8^2=118
十六进制0/1/2/3/4/5/6/7/8/9
A/B/C/D/E/F
160x76=6+7*16^118

进制类型基本数逢几进一计算方法

进制转换的计算方法技巧:

任何进制都是一个整数,几进制转换成几进制,就要看是逢几进一,例如整数118转换成十进制:

逢十进一:118=8+1*10^1+1*10^2,从最左侧的个位数开始计算,第一位不变,第二位乘10的1次方,第三位乘10的2次方,以此类推,有几位数字就计算几位,最后将数字相加就是准确的十进制数。

2.2.使用Python操作整数类型

print函数可以将输入的整数(数字)转换成十进制数,也可以结合进制函数将输入的数据转换成指定进制的数字,相当于进制转换,还可以通过print函数结合int整数函数将传入的数据转换成一个整数。

1)使用print函数将输入的整数转换成十进制数

print函数会将传入的整数转换成一个十进制数字,根据传入的整数,print函数会识别这个证书是几进制数,然后通过运算转换成对应的十进制数。

#传入一个十进制数118,被print函数输出后得到十进制数118
print(118)

#传入一个二进制数0b1110110,被print函数输出后得到十进制数118
print(0b1110110)

#传入一个八进制数0o166,被print函数输出后得到十进制数118
print(0o166)

#传入一个十六进制数0x76,被print函数输出后得到十进制数118
print(0x76)

2)使用print函数将传入的数据根据进制函数转换成对应进制数

使用print函数,根据我们传入的数据,必须是整数,然后通过进制函数,将这个整数转换成对应进制的数字。

对于进制转换的函数,Python有3个内置的进制函数,可以将传入的十进制数字转换成对应进制的字符串。

  • bin():将传入的十进制整数转换成二进制字符串。
  • oct():将传入的十进制整数转换成八进制字符串。
  • hex():将传入的十进制整数转换成十六进制字符串。
#bin():将传入的十进制整数转换成二进制字符串
print(bin(118))
#返回0b1110110

# oct():将传入的十进制整数转换成八进制字符串。
print(oct(118))
#返回0o166

# hex():将传入的十进制整数转换成十六进制字符串。
print(hex(118))
#返回0x76

3)使用print函数配合int函数将传入的数据转换成整数

int函数可以将传入的数据转换成一个整数,也可以说是创建一个整数,使用int函数处理整数时有三种情况:

  • 当int函数不传入任何参数时,默认返回整数0。
  • 当int函数传入一个参数时,会将传递的参数转换成整数,例如传入的是小数,也会将小数部分移除,仅显示整数部分。
  • 当int函数传入两个参数时,第一个参数必须是数字,第二个参数指定这个数字是哪种进制,然后根据传参将这个数字转换成十进制。
#当int函数不传入任何参数时,默认返回整数0
print(int())

#当int函数传入一个参数时,会将传递的参数转换成整数
print(int(118))				#转换成118
print(int(118.9))			#转换成118
print(int('117'))			#转换成117


#int函数传入两个参数
#传入数字118,这个数字是十进制,转换成对应的十进制数,得到的结果是118
print(int('118',10))
#传入数字0o166,这个数字是八进制,转换成对应的十进制数,得到的结果是118
print(int('0o166',8))

3.浮点数类型的概念以及使用

浮点数指的就是小数,我们可以直接使用print函数打印一个浮点数。

print(0.348923740932)
#得到结果0.348923740932

另外我们还可以通过float函数创建浮点数,和int函数使用方法一样,通过float函数可以指定传入的数据输出后是一个浮点数,但是传入的数字必须是数字。

对于float函数来说,如果不传入任何参数,默认返回浮点数0.0,当只传递一个参数时,会将传递的参数转换为浮点数。

#不传入参数默认返回0
print(float())

#传入一个整数 被float转换成浮点数 结果为176.0
print(float(176))

#传入一个浮点数,被float转换成浮点数,结果不变:152.88
print(float(152.88))

另外对于很大的数字,例如几千万几个亿,我们也可以使用浮点数通过科学技术法的形式来表示。

公式为:men

​ m表示浮点数,e是固定写法表示乘以10,n表示乘以10的n次方。

​ 例如我要计算浮点数5.27的10的7次方是多少,写法就是5.27e7,过程就是5.27*10^7,结果为52700000。

#52700000这个整数比较大,我们希望传参时简化输入的内容,少输入一点,基于这种情况可以通过float函数使用科学计数法的方式简化输入的内容
print(float(5.27e7))
#返回的结果为:52700000.0

#求5.27的10的-3次方是多少
print(float(5.27e-3))

浮点数在运算过程中可能会出现不精准的现象,如下所示。

#运算结果非0
print(1.1+2.2+3.3)
#输出结果为6.6 精准。

#运算结果为0
print(1.1+2.2-3.3)
#输出结果为:4.440892098500626e-16 不精准。

对于这种不精准的浮点数运算,我们可以使用decimal、fractions这两个模块中的类来解决此问题。

使用decimal模块可以处理十进制浮点数运算,使用fractions模块可以处理分子分母相除之后的浮点数运算。

1.使用decimal模块解决

#从decimal模块中导入Decimal类,Decimal可以理解为是decimal模块中的内置函数
from decimal import Decimal
#将浮点数传入Decimal类中,使用print进行运算
print(Decimal('1.1') + Decimal('2.2') - Decimal('3.3'))
#输出结果为:0.0 正确的结果

2.使用fractions模块解决

#从fractions模块中导入Fraction类,Fraction类可以理解为是fractions这个模块的内置函数
from fractions import Fraction
#将浮点数传入到Fraction类中,使用print进行运算
print(Fraction(11, 10) + Fraction(22, 10) - Fraction(33, 10))
#输出结果:0 正确的结果

4.布尔类型的概念以及使用

布尔类型只有两种取值范围,要么是True,要么是False,严格区分大小写。

例如:今天下雨吗?今天回家吗?都属于布尔表达式,回答要么是True,要么是False。

#当表达式为真时,返回True
print(5>3)
#当表达式为假时,返回False
print(6<2)

True对应的数字值是1,False对应的数字值是0。

#TRUE的值为1,如果TRUE的值不为1,则会返回False
print(True == 1)

#False的值为0,如果False的值不为1,则会返回False
print(False == 0)

#为了进一步验证True和False的值,我们进行一组运算,True=1+False=0+10,返回结果为11,就表示我们的说法是正确的
print(True + False + 10)

以上就是详解Python开发语言中的基本数据类型的详细内容,更多关于Python基本数据类型的资料请关注其它相关文章!


推荐阅读
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文介绍了Python对Excel文件的读取方法,包括模块的安装和使用。通过安装xlrd、xlwt、xlutils、pyExcelerator等模块,可以实现对Excel文件的读取和处理。具体的读取方法包括打开excel文件、抓取所有sheet的名称、定位到指定的表单等。本文提供了两种定位表单的方式,并给出了相应的代码示例。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了[从头学数学]中第101节关于比例的相关问题的研究和修炼过程。主要内容包括[机器小伟]和[工程师阿伟]一起研究比例的相关问题,并给出了一个求比例的函数scale的实现。 ... [详细]
author-avatar
mobiledu2502884357
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有