python基础4---数据类型,数据类型转换

本文介绍了Python的基础数据类型,包括整数(int)、浮点数(float)、布尔(bool)和字符串(str)。详细讲解了各类数据类型的特性和表示方式,并探讨了如何在不同数据类型间进行转换,如将字符串转为整数或浮点数,以及数据类型的布尔值计算。
摘要由CSDN通过智能技术生成

1、常见的数据类型

1.1 整数类型int
  • 英文单词integer,简写int
  • 可以表示正整数、负整数、零
#数据类型-整数int:正整数、负整数、零
n1=100
n2=-94
n3=0
print(n1,type(n1))
print(n2,type(n2))
print(n3,type(n3))
#输出结果
100 <class 'int'>
-94 <class 'int'>
0 <class 'int'>
  • 也可以表示二进制、十进制、八进制、十六进制(输入输出默认是十进制,二进制要加0b,八进制要加0o,十六进制要加0x)
#整数还可以表示二进制、十进制、八进制、十六进制(输入输出默认是十进制,二进制要加0b,八进制要加0o,十六进制要加0x)
print('十进制',118)
print('二进制',0b10101111)
print('八进制',0o176)      #八进制范围0~7
print('十六进制',0x1EAF)        #十六进制范围0~9、A~F
#输出结果
十进制 118
二进制 175
八进制 126
十六进制 7855
1.2 浮点数类型float
  • 带小数的,如3.141592654
#输出浮点数
n=3.1415926
print(n,type(n))
#输出结果
3.1415926 <class 'float'>
  • 计算机是二进制存储,浮点数计算时可能会出现计算结果位数不精确(不是所有都这样),此时需要导入模块decimal精确输出
#浮点数计算可能存在输出位数不精确
n1=1.1
n2=2.2
print(n1+n2)
#输出结果
3.3000000000000003

#浮点数计算出现位数不精确时,导入decimal模块解决
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2'))
#输出结果
3.3
1.3 布尔类型bool
  • True,False 用来判断真假
  • 在python里,布尔类型可以用来计算,True=1,False=0
#输出布尔类型
n1=True
print(n1,type(n1))
#输出结果
True <class 'bool'>

#布尔类型的计算
print(True+1)
#输出结果
2
  • python里一切皆对象,所有对象都有布尔值,获取对象布尔值的内置函数:bool()
  • 以下对象的布尔值为False,除此之外其它对象布尔值均为True:
    • False
    • 数值0
    • None
    • 空字符串
    • 空列表
    • 空元组
    • 空字典
    • 空集合
'''python中一切皆是对象,所有对象都有布尔值
以下对象布尔值是False,除此之外其它对象布尔值均为True'''
print(bool(False))
print(bool(0))
print(bool(None))
print(bool(''))           # 空字符串
print(bool(""))           # 空字符串
print(bool([]))           # 空列表
print(bool(list()))       # 空列表
print(bool(()))           # 空元组
print(bool(tuple()))      # 空元组
print(bool({}))           # 空字典
print(bool(dict()))       # 空字典
print(bool(set()))        # 空集合
# 输出结果
False
False
False
False
False
False
False
False
False
False
False
False
1.4 字符串类型str
  • 只要带单引号/双引号/三引号的都是,如’人生苦短,我用Python’
  • 单引号、双引号的字符串必须在一行,三引号的字符串可以在连续的多行内
#输出字符串类型,单引号、双引号、三引号,其中三引号可以连续换行,单引号和双引号只能在一行内
str1='人生苦短,我用python'
str2="人生苦短,我用python"
str3='''人生苦短,
我用python'''
str4="""人生苦短,
我用python"""
print(str1,type(str1))
print(str2,type(str2))
print(str3,type(str3))
print(str4,type(str4))
#输出结果
人生苦短,我用python <class 'str'>
人生苦短,我用python <class 'str'>
人生苦短,
我用python <class 'str'>

2、数据类型转换

2.1 将其它数据类型转换成字符串str类型
  • print输出使用连接符+时,不能将不同类型的数据链接,此时需要转换成同一类型,int()类型的数据可以转换成str()类型
#print输出使用连接符+时,不能将不同类型的数据链接,此时需要转换成同一类型,int()类型的数据可以转换成str()类型
name='张三'
age=20
print(type(name),type(age))
#输出结果
<class 'str'> <class 'int'>

#如果直接连接str和int类型的数据会报错
#print('我叫:'+name+'年龄:'+age+'岁')
#报错:TypeError: can only concatenate str (not "int") to str

#都转换成了str类型的再用连接符就不会报错
print('我叫:'+name+','+'年龄:'+str(age)+'岁')   
print('我叫:'+str(name)+','+'年龄:'+str(age)+'岁')   
#输出
我叫:张三,年龄:20
  • 将其它数据类型直接print转换输出成str类型
#将其它数据类型直接print转换成str类型
a=10
b=3.141
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)))
#输出结果
<class 'int'> <class 'float'> <class 'bool'>
10 3.141 False <class 'str'> <class 'str'> <class 'str'>
2.2 将其它数据类型转换成整数型int类型
  • str字符串类型转int类型中:整数数字类字符串可以转换,文字类、小数类的字符串无法转换成int类型
  • 浮点数转换成整数型:截取整数部分
#将其它数据类型转换成int型
n1='10'
n2='3.14'
n3='hello'
n4=3.14
n5=False
print(type(n1),type(n2),type(n3),type(n4),type(n5))
print(int(n1),type(int(n1)))
#print(int(n2),type(int(n2)))   #小数字符串不能转换整数型,会报错
#print(int(n3),type(int(n3)))    #文字类字符串不能转换成整数型,会报错
print(int(n4),type(int(n4)))    #浮点数转成整数型只截取整数部分
print(int(n5),type(int(n5)))
#输出结果
<class 'str'> <class 'str'> <class 'str'> <class 'float'> <class 'bool'>
10 <class 'int'>
3 <class 'int'>
0 <class 'int'>
2.3 将其它数据类型转换成浮点float类型
  • 文字类不能转换成float类型
  • 整数int型转换成float类型时末尾加.0
#将其它数据类型转换成float型
n1='10'
n2='3.14'
n3='hello'
n4=3
n5=False
print(type(n1),type(n2),type(n3),type(n4),type(n5))
print(float(n1),type(float(n1)))
print(float(n2),type(float(n2)))
#print(float(n3),type(float(n3)))   #文字类不能转换成float类型,否则会报错
print(float(n4),type(float(n4)))
print(float(n5),type(float(n5)))
#输出结果
<class 'str'> <class 'str'> <class 'str'> <class 'int'> <class 'bool'>
10.0 <class 'float'>
3.14 <class 'float'>
3.0 <class 'float'>
0.0 <class 'float'>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值