一、python的基本数据类型:
python的基本数据类型包括:数字、布尔值、字符串、列表、元组、字典、集合
- 如何查看数据类型:
通过type将想要查看其数据类型的数据用括号括起来即可查看
temp = "python"
t = type(temp)
print(t)
输出结果:- 查看数字类型的方法
方法 | 作用 |
---|---|
type | 查看数据类型 |
help,type | 查看类下全部方法 |
dir | 查看类下全部方法名 |
ctrl+鼠标左键 | 查看类特定方法 |
(1)使用help,type查看类下全部方法:
t = type(temp)
print(t)
help(type(temp))
输出结果:(2)使用dir
查看str
类下全部方法
print(type(t))
print(dir(type(t)))
输出结果:(3)查看类下某特定方法(upper方法可将英文小写变成大写)
print(t.upper())
输出结果:PYTHON
(4)ctrl+鼠标左键单击upper(),可自动定位到upper方法二、数字类型:(整型、浮点型、复数)
- 整数类型
a = 1 #十进制 每一位上都是0-9
print('a的类型为:', type(a))
b = 0b110 #二进制 每一位上都是0-1
print('b的类型为:', type(b))
c = 0o57 #八进制 每一位上都是0-7
print('c的类型为:', type(c))
d = 0xa5c #16进制 每一位上都是0-9,a-f
print('d的类型为:', type(d))
输出结果:- 浮点数(float)
a = 1
b = 1.0
c = 9.5e-2
print(type(a))
print(type(b))
print(type(c))
输出结果:
拓展:浮点数在计算机的计算里是不精确的
例如:
d = 0.1 + 0.2
print(d)
print(type(d))
输出结果:但是我们可以通过decimal来指定我们想要达到的精确位数:
import decimal
a = decimal.Decimal("0.1343453")
b = decimal.Decimal("0.34673745")
print("没有指定精度位数时:a + b =",a + b)
decimal.getcontext().prec = 4
print("指定精度位数为4后:a + b =",a + b)
输出结果:
3.复数:complex
因为复数在写代码的时候用的很少,所有这里就不展开啦
a = 1 + 2j
print(type(a))
输出结果:<class 'complex'>
三、三种数字类型的相互转换:
将一种数字类型强制转换为目标数字类型的方法就是:目标数字类型(原来的数据)
例如:b=1则b原来为整型,如果想把b转换为字符型,则用str加括号把b包起来即可,即:str(b)
其他数据类型之间相互转化的思想也是一样的。
# coding = utf-8
a = "1"
b = 1
c = 3.14
print("a的数据类型是:", type(a))
print("b的数据类型是:", type(b))
print("c的数据类型是:", type(c))
d = int(a)
e = str(b)
f = complex(c) #类型转为复数:单参数时可以传字符串类型的数字
g = complex(b , c) #类型转为复数:两个参数时不可以传字符串类型的数字,否则会报错
print("d的数据类型是:", type(d))
print("e的数据类型是:", type(e))
print("f的数据类型是:", type(f))
print("g的数据类型是:", type(g))
输出结果:四、布尔值(True False)
布尔值只有两个True或者False;
布尔值为False的数有:
(1)None
(2)Fales (但当None和False用引号引起来时则表示字符串,此时其布尔值为True)
(3)所有为0的数(包括整数、浮点数、复数)
(4)空字符串
(5)空列表
(6)空字典
(7)空元组
# coding = utf-8
a = None
b = False
c = 0
d = 0.0
e = 0 + 0j
f = "None" #此时None表示一个字符串
print("a的布尔值是:", bool(a))
print("b的布尔值是:", bool(b))
print("c的布尔值是:", bool(c))
print("d的布尔值是:", bool(d))
print("e的布尔值是:", bool(e))
print("f的布尔值是:", bool(f)) #字符串的布尔值为True