标签:none abc comment ring 强制类型转换 提取 fence 存储 直接
存储单位
进制转换
最高位作为符号位:0表示正数,1表示负数
虽然牺牲了最高位,但是可以解决负数的表示问题,简化了硬件设计成本
原码反码和补码:是针对负数而言的(正数的三码一致)
负数的反码等于原码的符号位不变,数据位取反
负数的补码等于反码加1
计算机中的数据都是以补码的形式表示的
说明:不同的数据类型都是为了解决生活中的实际问题而出现的,而且每种类型都有相关的运算。
python中常见数据类型:整型、浮点、布尔、字符串、列表、元组、集合、字典等
整型(int):就是数学中的整数
浮点(float):就是数学中的小数
# 浮点
b = 3.14
print(b, type(b))
?
# 科学计数法
c = 3.1415e-3
print(c)
复数(complex):了解
# 复数
d = 3 + 5j
print(type(d))
布尔(bool):对应于生活中的真假逻辑,只有两个值True/False
空(NoneType):空类型,只有一个值None
字符串(str):使用引号括起来的一串字符
定义:单引号、双引号、三个单引号、三个双引号都可以
转义:使特殊意义的字符失去原有的意义,变成普通字符,使用‘\‘处理
特殊字符:‘\n‘、‘\t‘、‘\r‘
原始字符:在定义字符串的格式前添加一个字符‘r‘即可,所有的字符都变成了普通字符
列表(list):通过[]进行定义,可以存储一系列的任意数据,是容器类型。
lt = [1, ‘hello‘, 3.14]
print(lt, type(lt))
# 通过下标获取元素,下标是从0开始的
print(lt[0])
# 存在越界问题
# print(lt[3])
元组(tuple):通过()进行定义,可以作为容器存储任意数据,元组是不可修改的。
tp = (1, 2, 3)
print(tp, type(tp))
# 也是通过下标访问元素
print(tp[0])
# 定义单个元素的元组,不要忘记后面的逗号
tp = (1,)
集合(set):通过{}进行定义,也可以作为容器存储任意数据,但是元素不会重复,是无需的。
s1 = {‘李白‘, ‘杜甫‘, ‘白居易‘, ‘骆宾王‘, ‘苏轼‘, ‘李白‘}
s2 = {‘李白‘, ‘王安石‘, ‘王维‘}
print(s1, type(s1))
# 交集
print(s1 & s2)
# 并集
print(s1 | s2)
# 差集
print(s1 - s2)
print(s2 - s1)
?
# 定义空集合,不能使用{},应该使用set()
# {}是定义空字典的
# s = {}
s = set()
print(type(s))
集合经常用于去重操作。
字典(dict):通过{}进行定义
元素是由键值对组成的
键和值之间使用‘:‘连接
键必须是唯一的,值可以是任意的
字典中的键值对可以更改
示例:
d = {‘name‘: ‘ergou‘, ‘age‘: 20}
print(d, type(d))
# 根据键获取值
print(d[‘name‘])
# 直接根据键获取值,当键不存在时会报KeyError错
# print(d[‘height‘])
# 通过get方法,根据键获取值,有就返回值,没有返回None
print(d.get(‘height‘))
# 通过get还可以设置默认值
print(d.get(‘weight‘, 90))
?
# 统计元素个数
print(len(lt))
# 对于字典表示的时键值对的个数
print(len(d))
隐式类型转换:混合运算、条件判断等场景
强制类型转换:使用专门的函数进行转换
int:转换为整型,base是用来指明参数的进制类型
float:转换为浮点数
str:转换为字符串
list:转换为列表
tuple:转换为元组
set:转换为集合
dict:转换为字典
示例:
# 转换为整型
# a = int(3.84)
# base:指明参数的进制类型
a = int(‘123‘, base=8)
print(a, type(a))
?
b = int(True)
print(b)
?
# 浮点
c = float(250)
print(c, type(c))
?
# 字符串
d = str(123)
print(d, type(d))
?
# 列表
e = list(‘hello‘)
e = list((1, 2, 3))
e = list({1, 2, 3})
# 也可以转换,但是只保留键
e = list({‘name‘: ‘goudan‘, ‘age‘: 18})
print(e, type(e))
?
# 元组
f = tuple([‘小芳‘, ‘小敏‘, ‘小马‘])
print(f, type(f))
?
# 集合
g = set([‘小杜‘, ‘小王‘, ‘小杜‘])
print(g, type(g))
?
# 字典
lt = [(‘name‘, ‘dahua‘), (‘age‘, 18)]
h = dict(lt)
print(h, type(h))
?
示例:
s1 = ‘hello‘
s2 = ‘world‘
# ‘+‘可以直接将字符串拼接在一起
s3 = ‘(‘ + s1 + ‘ ‘ + s2 + ‘)‘
print(s3)
?
# ‘*‘可以重复指定的内容
s4 = s1 * 3
print(s4)
?
# 统计字符个数
print(len(s4))
?
s = ‘abcdefg‘
# 从前面开始提取,下标从0开始
print(s[0])
# 从结尾开始提取,下标从-1开始
print(s[-1])
?
# 切片
?
# 包括起始下标,不包括结束下标,默认步进值为1
print(s[1:3])
?
# 当一边的边界不指定时,提取到该边界
print(s[:4])
print(s[2:])
print(s[1:-2])
print(s[-3:])
print(s[:-2])
print(s[:])
?
# 完整写法:[起始:结束:步进]
print(s[::2])
# 逆序
print(s[::-1])
标签:none abc comment ring 强制类型转换 提取 fence 存储 直接
原文地址:https://www.cnblogs.com/wsdr95-/p/9382475.html