一、进制
1.进制简介
进制就是进位制,是一种进位方法。计算机语言就是二进制,计算机能直接识别二进制数据,其它数据都不能直接识别。
2.常用进制
1) 十进制:运算规则”逢十进一”;
2) 八进制:运算规则”逢八进一”;
3) 十六进制:运算规则”逢十六进一”;
4) 二进制:运算规则”逢二进一”。
3.进制转换
我们有最常用的转换方法:用十进制数据除以目标进制得到余数,并将余数从最后一个到第一个排列,就是转换后的目标进制表示形式(简称“除基取余,直到商为0,余数反转”)。以十进制43向二进制转换为例,得到的数值排列:101011,所以十进制43的二进制表示形式为101011,同理,如果求八进制、十六进制表示形式,用43除以8、16即可。
二、基本数据类型
1.字符串
类:str
方法:选中str,按住command(ctrl)+左键跳转至对应的方法
字符串常用方法归纳如下:
1)capitalize
功能:实现字符串首字母大写,自身不变,会生成一个新的值
2)casefold
功能:将所有大写变成小写,另外支持多门语言变化
3)lower,upper
功能:
lower:将所有的大写变小写,局限英文
upper:将所有小写变大写
4)center
功能:文本居中,空白处填充字符
参数1:表示总长度;参数2:空白处填充的字符(长度为1)
例子:
1 name = 'tx' 2 v = name.center(20,'*') 3 print(name) 4 print(v)
输出:
tx *******tx********
5)count
功能:表示要查找的子序列在字符串中出现的次数
参数1:要查找的值(子序列);参数2:起始位置(索引);参数3:结束位置(索引)
6)endswith
功能:判断是否以xx结尾
参数1:判断值;参数2,3:起始和结束的位置(个数)
7)expandtabs
功能:找到制表符 ,进行替换(包含前面的值)
8)find
功能:找到指定子序列的索引位置,不存在返回-1
9)format,%s,format_map
功能:字符串格式化
10) isalnum
功能:是否是数字或汉字
11)isdecimal,isdigit,isnumeric
功能:是否是数字
12) isidentifer
功能:是否是有效的标识符
13)islower(isupper)
功能:是否全部是小写(大写)
14)isprintable
功能:是否包含隐含的XX(包含 , 等不可见字符为False)
15)join
功能:元素拼接
16)rjust,ljust
功能:左右填充,类似center
17)maketrans,translate
功能:创建对应关系,翻译转换
18)partition
功能:分割,保留分割的元素
19)replace
功能:替换
20)strip
功能:移除空白, , , 自定义
21)zfill
功能:填充0
2.整数
类int
1)bit_length
功能:当前整数的二进制表示的最少位数
2)to_bytes
功能:获取当前数据的字节表示
3.list列表
类list
可变类型
1)append
功能:追加
2)clear
功能:清空
3)copy
功能:浅拷贝
4)count
功能:计数
5)extend
功能:扩展原列表
6)index
功能:查找元素索引,没有报错
7)pop
功能:删除并获取元素,索引
8)remove
功能:删除,值
9)reverse
功能:翻转
10)sort
功能:排序
4.range
1)创建
1-1):立即生成数字
range(1,11) # 生成 1,2,3....,9,10
1-2):不会立即生成,只有循环迭代,才一个个生成;
for i in range(1,11): print(i)
1 2 3 4 5 6 7 8 9 10
5.enumerate
功能:额外生成一列有序的数字
例子
x = ['lilei','alex','lucy'] for i,j in enumerate(x,1): print(i,j) #1 lilei #2 alex #3 lucy
6.tuple元组
不可被修改类型,子不可被修改,孙可以
1)创建
user_tuple = ('hex','eric','seven','leilei')
2)count
功能:获取个数
user_tuple = ('hex','eric','seven','lei') v = user_tuple.count('hex') print(v)
#2
3)index
功能:获取值得第一个索引位置
4)注意:元组最后加逗号
例子
lex = ('tx',) print(lex)
5)本身不可修改,但是孙可以
user_tuple = ('alex','eric','seven',['1','2','3'],'a4')
# user_tuple[0] = 123 执行错误
# user_tuple[3] = [11,22,33] 执行错误
user_tuple[3][1] = '0'
print(user_tuple)
7.dict
可变类型
1)clear
功能:清空
2)copy
功能:浅拷贝
3)get
功能:根据key获取指定value,不存在不报错
4)pop
功能:删除并获取对应的value值
5)popitem
功能:随机删除键值对,并获取到删除的键值
6)setdefault
功能:增加,如果不存在即删除
7)update
功能:批量增加或修改
8)fromkeys
功能:从序列键和值设置为value来创建一个新的字典。
8.set
集合,不可重复列表,可变类型。
1)创建
s1 = {"alex",'lilei','lucy'} print(type(s1)) print(s1)
输出:
<class 'set'> {'alex', 'lilei', 'lucy'}
2)difference
功能:输出s1中存在,s2中不存在的值
s1 = {"alex",'eric','tony','lilei'} s2 = {"alex",'eric','tony','tx'} v = s1.difference(s2) print(v)
输出:
{'lilei'}
3)difference_update
功能:s1中存在,s2中不存在,然后对s1清空,然后在重新赋值
s1 = {"alex",'eric','tony','lucy'} s2 = {"alex",'eric','tony','tx'} s1.difference_update(s2) print(s1)
输出:
{'lucy'}
4)symmetric_difference
功能:s1中存在,s2中不存在的值及s2中存在,s1中不存在的值
s1 = {"alex",'eric','tony','lilei'} s2 = {"alex",'eric','tony','tx'} v = s1.symmetric_difference(s2) print(v)
{'lilei', 'tx'}
5)intersection
功能:交集
s1 = {"alex",'eric','tony','lilei'} s2 = {"alex",'eric','tony','tx'} v = s1.intersection(s2) print(v)
输出:
{'eric', 'alex', 'tony'}
6)union
功能:并集
s1 = {"alex",'eric','tony','lilei'} s2 = {"alex",'eric','tony','tx'} v = s1.union(s2) print(v)
输出:
{'alex', 'tx', 'eric', 'lilei', 'tony'}
7)discard
功能:移除
s1 = {"alex",'eric','tony','lilei'} s2 = {"alex",'eric','tony','tx'} s1.discard('alex') print(s1)
输出:
{'eric', 'tony', 'lilei'}
8)update
功能:添加