2.Python的数字类型及转换

一、数字类型

1.1整形(int)

定义

  1. 整数型包括正整数、负整数、0

  2. 在python中整数类型使用int表示

进制

整数可以表示为二进制、十进制、八进制、十六进制,python默认使用10进制

print('十进制',118)        #默认情况
print('二进制',0b10101111)  #二进制以0b开头,后续内容由字符0和1组成
print('八进制',0o176)    #八进制以0o开头,后续内容由字符0-7组成
print('十六进制',0x1EAF)  #十六进制以0x开头,后续内容由字符0-9,a-f,和A-F组成
#其中,开头处0b,0o,0x中字母大小写不敏感

1.2浮点数(float)

定义

  1. 浮点数由整数部分和小数部分组成

  2. python中浮点数类型使用float表示

表现形式

a=3.4 #正常格式 a.b
a=-1.5 #可以为负数
a=0.0 #浮点的小数部分可以是0
a=74. #当浮点小数部分为0时,可省略不写
a=.5  #当整数部分为0时,可省略不写
a=7.1e-2 #能使用科学计数法,e后的-2号表示除10^2,若为+2则表示乘10^2,其中e大小写不敏感

扩展

1.浮点数也可以表示整数,为何python还要提供两种类型

因为计算机的底层表示整数和浮点数的方式不一样,相同的操作整数比浮点数要快5-20倍

2.一般情况下计算机只能提供小数点后15位数字的准确性,浮点数超过15后位产生误差,如何解决

import decimal 
a=decimal.Decimal('1.223456777899')
b=decimal.Decimal('3.447859445122')
print(a*b)
#python提供无限精度的整数运算,可通过取消ab的小数点,进行相乘对比小数运行结果,验证数据正确性

1.3复数

#其中j^2=-1
a=15.1+2j
print(a,type(a))
print(a.real,a.imag)

1.4布尔类型(bool)

定义

  1. 用来表示真或假

  2. True表示真,False表示假

  3. 布尔值可以转化为整数

    True:1

    False:0

转换

所有的数据都可以通过bool()这个内置函数将数据转化为布尔型

print(bool('haha'))    #True

规则:

  • 在python中,0,0.0,0.0+0.0j,'',[],{},set(),None转化为布尔型是False
  • 其余数据都为True

二、字符串类型(str)

定义

  1. 字符串又被称为不可变的字符序列

  2. 可以使用单引号' '双引号" "三引号""" """或''' '''

  3. 单引号和双引号定义的字符串必须在一行

  4. 三引号定义的字符串可以分布在连续的多行

三、数据类型转换

将不同数据类型的数据拼接在一起

name='张三'
age=20
#print('我叫'+name+'今年'+age+'岁')  #将str类型与int类型进行连接时,报错,解决方案,类型转换
print('我叫'+name+'今年'+str(age)+'岁') #将int类型通过str()函数转换成str类型

将其他类型转出str类型str()

a=10
b=198.8
c=False
print(type(a),type(b),type(c))
print(str(a),str(b),str(c),tpye(str(a)),tpye(str(b)),tpye(str(c)))

将其他类型转为int类型int()

s1='128'
f1=98.7
s2="76.77"
ff=True
s3='hello'
print(type(s1),type(f1),type(s2),type(ff),type(s3))
print(int(s1),type(int(s1))) #将str转成int类型,字符串需为数字串
print(int(f1),type(int(f1))) #将float转成int类型,截取整数部分,舍掉小数部分
#print(int(s2),type(int(s2))) #将str转出int类型,报错,因为字符串为小数串
print(int(ff),type(int(ff)))
#print(int(s3),type(int(s3)))  #将str转换为int类型时,字符串必须为数字串(整数),非数字串不允许转换

将其他数据类型转成float类型float()

s1='128.98'
s2="76"
ff=True
s3='hello'
i=98
print(type(s1),type(s2),type(ff),type(s3),type(i))
print(float(s1),type(s1))
print(float(s2),type(s2))
print(float(ff),type(ff))
#print(float(s3),type(s3))  #字符串中的数据如果是非数字串,则不允许转换
print(float(i),type(i))     #整数转为浮点数,末尾为.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值