python
第二章python数据类型
type函数:用于识别数据类型。
示例
#整形
print(type(8))
#字符串类型
print(type('大圣归来'))
#bool类型
print(type(True))
#集合类型,例如 [1,2,3] 集合里面有三个元素
print(type([]))
#元组类型,元组一旦定义就不能更改
print(type(()))
#空类型,注 空类型和''区别
print(type(None))
#当bool里面不存在任何类型是为False
print(bool(''))
#bool原理把非特殊数据当做True处理
print(bool('字符串存在'))
结果
数据类型在python里面提供三种数据类型:整型,浮点型,复数类型。
1、整型:这里的整型和大多数语音不太一样。这里整型包含了十进制,二进制,八进制,十六进制。在大多数语音中八进制和十六进制会作为字符串类型。
十进制:由0-9组成,如88,99.
二进制:由0和1组成。前面需要加0b或者0B。b(B)即比特,在传统计算中,数据是以二进制方式存储的,其他任何数据都是转换成二进制然后进行计算机存储。
八进制:由0-7的数字组成。前面需要加0o或0O。
十六进制:由0-9数字、a-f字母组成。这里a-f,不区分大小写。
示例
#我是十进制
print(12)
#我是二进制
print(0b10)
print(0B01)
#我是八进制
print(0o657)
print(0O765)
#我是十六进制
print(0xfec)
print(0XFCE)
结果
2、浮点数:浮点数有二种表现形式,十进制表示或者科学计数法表示。
示例
#0.099
print(9.9e-2)
print(0.099)
#9999
print(9.999e2)
print(999.9)
3、复数类型:与数学里面复数相似。分为实部和虚部。虚部通常用j或者J表示。
示例
#99.9+9
print(99.9+9j)
print(99.9+9J)
如果想区分实部和虚部用z.real和z.imag.
示例
number=987.6+543j
print('实部为:'+str(number.real)+'虚部为:'+str(number.imag))
数字运算符:加法,减法,乘法,除法,取模,幂指,取整。
示例
num1,num2,num3=3,5,7
#加法,
print(num1+num2+num3)
#减法,
print(num3-num2-num1)
#乘法,
print(num1*num2*num3)
#除法,
print(num3/num2/num1)
#取模,
print(num3%num2)
#幂指,num3的num2次方,然后得到的数在num1次方
print(num3**num2**num1)
#取整
print((num3//num2))
结果
注
当你计算0.1+0.1+0.1+0.1-0.4,你会觉结果为多少呢?0?
import decimal
print(0.3+0.3+0.3-0.9)
print(decimal.Decimal('0.3')+decimal.Decimal('0.3')+decimal.Decimal('0.3')-decimal.Decimal('0.9'))
结果
是不是感觉很神奇呢,这个就是之前提到的,计算机存储机制问题。为了解决这个问题,我们需要导入decimal函数。
列表的使用:列表插入insert,列表追加append。列表根据索引删除pop,删除指定元素的值remove,列表清空clear。列表修改等
示例
ls=[1,3,5,'2','4',['a','b']]
print(ls)
#插入列表元素.列表从下标0开始,所以插入第二个位置的'middle'的值
ls.insert(1,'middle')
print(ls)
#从末尾插入列表数据
ls.append('last')
print(ls)
rs=[1, 'middle', 3, 5, '2', '4', ['a', 'b'], 'last']
print(rs)
#删除列表元素,根据索引指定删除的位置元素,如删除第二个元素
rs.pop(1)
print(rs)
#删除指定元素的值,不可以删除不存在的值,否则会报错
rs.remove(1)
print(rs)
#清空列表元素
rs.clear()
print(rs)
dl=['t','e','s','t']
#删除列表
del [dl]
#列表修改
update=[9,6,5,'test','value']
#修改第四个元素,值改为t1
update[3]='t1'
print(update)
sl=['key','v','a','l','u','e']
#查询列表第二个元素值
print(sl[1])
#查询第一个以后的值
print(sl[1:])
#插入第二位置,值为:'新插入值'
sl.insert(1,'新插入值')
print(sl)
#在列表后拼接
sl.append('刚刚拼接到位')
print(sl)
#查询出现的次数
print(sl.count('v'))
#反转
print(sl.reverse())
#查询所在的位置
print(sl.index('a'))
#移除第三个元素
sl.pop(2)
print(sl)
结果
列表的扩展:如转换成列表,列表长度,列表最大值,最小值,求和等
示例
ls=[3,5,1,2]
#将随机序列数转换成列
print(list(range(66,77)))
#将字符串转换成列表
print(list('大圣归来'))
#列表的长度,计算9到100 的长度
print(len(list(range(9,100))))
#求出列表最小值
print(min(ls))
#求出列表最大值
print(max(ls))
#列表值的和
print(sum(ls))
结果
元组:元组一旦创建将无法修改
示例
_tuple=(5,8,1,0,8)
#查询元组第三个元素
print(_tuple[2])
#元组切片
print(_tuple[:3])
#查询8在元组中出现的次数
print(_tuple.count(8))
#查询一个值在元组中位置
print(_tuple.index(1))
#元组类型
print(type(()))
#注:元组中将显示int类型
print(type((0)))
#元组数据长度
print(len(_tuple))
#检测元组中是否存在一个值
print(8 in _tuple)
#元组中数据之和
print(sum(_tuple))
#元组中最大值
print(max(_tuple))
#元组中最小值
print(min(_tuple))
结果
集合:集合属于无序,切不会重复
示例
ls={5,8,3,9,1}
#查看集合类型
print(type(ls))
print(type(set()))
#因为集合是无序的,所以查看会跟定于有所差别
print(ls)
#查看集合长度
print(len(ls))
#查看字集合中是否存在某个值
print(3 in ls)
#集合差值计算
print(ls-{3,9})
#集合并集计算
print(ls|{9,0,44})
#集合交集
print(ls&{3,10,44})
d1=set((33,66,11))
d2=set((66,99,11))
#查询dl中不同于d2的值
print(d1.difference(d2))
#取出所以
print(d1.union(d2))
结果
字典:
示例
country = {'中国': '北京', '美国': '华盛顿', '日本': '东京'}
#查询字典长度
print(len(country))
#通过键找到值
print(country['中国'])
#查询键是否存在,存在则返回,不存在则提示
print(country.get('中1国', '找不到'))
#查询所有的键值
print(country.keys())
#查询所有值得值
print(country.values())
#查询整个字典
print(country.items())
d1 = {'name':'大圣','age':'保密','hobby':'打怪'}
#删除键为name的值
del d1['name']
print(d1)
结果
如有错误请联系更改:微信 sy157715743