详解Python开发语言中的基本数据类型
作者:Jiangxl~
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/9 | 10 | 118=8+1*10^1+1*10^2 |
二进制 | 0/1 | 2 | 0b1110110=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/7 | 8 | 0o166=6+6*8^1+1*8^2=118 |
十六进制 | 0/1/2/3/4/5/6/7/8/9 A/B/C/D/E/F | 16 | 0x76=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基本数据类型的资料请关注脚本之家其它相关文章!