数值类型介绍
数值类型是不可变类型。所谓的不可变类型,指的是类型的值一旦有不同了,那么它就是一个全新的对象。数字1和2分别代表两个不同的对象,对变量重新赋值一个数字类型,会新建一个数字对象。
还要强调一下Python的变量和数据类型的关系,变量只是对某个对象的引用或者说代号,名字,调用等等,变量本身没有数据类型的概念。只有1,[1,2],"hello"这一类对象才具有数据类型的概念。
Python支持三种不同数值类型:整数,浮点数和复数与布尔类型。
进制转换
# 将十进制转换为16进制
print(hex(10)) # 0x代表的就是十六进制a
# 将十进制转换为8进制
print(oct(10)) # 0o12 0o代表的就是八进制 12
# 将十进制转换为2进制
print(bin(10)) # 0b1010 0b代表就是一个二进制数
结果:
0xa
0o12
0b1010
整数内存
python 的整数内存长度为32位,并且通常是连续分配内存空间的。
内存地址相差32
[-5,256]之间的内存地址固定可直接调用
整数缓冲区(开始删除,一定时间内,内存地址不变,过了时间,就会发生改变)
类型转换
print(int(5.6))#转变整数
print(float(1))#转变浮点数
print(complex(1,2))#转变复数
使用math库
import math #导入python自带的math库
print(math.ceil(3.1)) #4 取整,向上取整
print(math.floor(4.7)) # 向下取整,比实际结果小的整数数
print(math.pow(2,3)) #**幂次 2**3=2*2*2, 8.0 浮点类型
print(abs(-4)) #求绝对值 整数
#round()四舍六入五成偶
五成偶 指当数字为4.5,3.5像这种后面带0.5的将保留偶数如round(4.5)为4,round(3.5)为4
布尔类型
数值类型bool判断时,除了0,0.0之外返回False,其他都为True
字符串
print(bool('0')) #True
print(bool('')) #False
print(bool(' ')) #True
除了空字符bool值为False,其他都为True,含空格也属于非空字符串
True==1,False==0
布尔类型运算
and or not
空值介绍
None是一个特殊的值,不是bool类型
print(10 or 20) #10 其中一个为true 就输出第一个为true的 print(10 and 20) #20 均为true才为true 如果第一个就为0,则输出0
字符串类型
\n 换行符
注意:
~字符串的单引号与双引号都是成对出现的,不能一边单一边双
~字符串是不可变的序列数据类型,不能直接修改字符串本身,和数字类型一样
字符串类型不支持修改
list[start:stop:step]前两个为范围,且左闭右开,第三个为步长
逆顺序为[::-1]
1.步长可为正负数,但不可为0
2.下标从0开始的
3.去单个字符超出范围会报错,切片不会
4.切片是左闭右开的
int()只能识别十进制的字符串
float同
input输入是是str类型,eval(input())可以自动转换为你输入的类型