1、常见的数据类型
1.1 整数类型int
英文单词integer,简写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)
print ( '十进制' , 118 )
print ( '二进制' , 0b10101111 )
print ( '八进制' , 0o176 )
print ( '十六进制' , 0x1EAF )
十进制 118
二进制 175
八进制 126
十六进制 7855
1.2 浮点数类型float
n= 3.1415926
print ( n, type ( n) )
3.1415926 < class 'float' >
计算机是二进制存储,浮点数计算时可能会出现计算结果位数不精确(不是所有都这样),此时需要导入模块decimal精确输出
n1= 1.1
n2= 2.2
print ( n1+ n2)
3.3000000000000003
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()类型
name= '张三'
age= 20
print ( type ( name) , type ( age) )
< class 'str' > < class 'int' >
print ( '我叫:' + name+ ',' + '年龄:' + str ( age) + '岁' )
print ( '我叫:' + str ( name) + ',' + '年龄:' + str ( age) + '岁' )
我叫: 张三, 年龄: 20 岁
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类型 浮点数转换成整数型:截取整数部分
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 ( 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
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 ( 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' >