一、库
标准库:不需要安装
第三方库:需要安装
取模块名称不应该和库名相同,否则容易导入错误
二、模块
1. 打印环境变量(查看库的各存放路径):
1 import sys 2 print(sys.path)
模块只要放在打印出的这些路径中就可以被调用,调用顺序按照打印顺序依次进行。
2.打印本模块所在位置
1 import sys 2 pring(sys,argv)
3.打印当前目录下的文件
1 import os 2 os.system("dir")
此操作直接将结果输出到屏幕而不保存结果
4.保存结果的方法
1 变量名 = os.popen("dir").rean() 2 其中:os.popen("dir")暂时将结果存在内存中,要用read()读取。
5.创建目录
1 os.mkdir("new_dir")
二、数据类型
1. int (整型):32位机器上,整数位数为32位,范围-231~231-1,64位机器上整数位数为64位,范围-263~263-1
2. float(浮点型):有理数中的某子集,用以近似表示某个实数。
3.布尔值:真为1,假为0.
4.bytes型(二进制):
字符串 通过编码 编程二进制,二进制通过解码变成字符串。
编码:字符串.encode(编码规则)
解码:二进制.decode(编码规则)
python 3.x 中网络传输数据必须为二进制型。
5. 列表:
列表切片:[1:3],包含1,不包含3,即顾头不顾尾,或者左闭右开。
[-3:-1]不能写成[-1:-3](左小右大)
[-3:-1]倒数2,3个
[-2:] 倒数1,2个。
[0:3] = [:3](前面是0可省略)
[0:-1:2] 其中2为步长
列表增:names.append(添加项)——在列表最后添加一项
列表插:names.insert(i,内容)——在列表未知i处增加一项
列表中项的值修改:names[i]=新值
列表删1:names.remove(要删除的内容)——删除指定项,若有重复项,从头开始删第一个
列表删2:names.pop()——删除最后一个项,可通过name_deleted = names.pop()提取
names.index(项)—— 返回对应项的坐标
names.count(项)——返回一个列表中该项出现的个数
names.clear()——清空列表
names.reverse()——倒置列表
names.sort()——按照ASCii排列列表中的项
names.extend(另一个列表)——将另一个列表并入names
name2 = names.copy()——浅层复制,只复制第一层,即name2列表第一层另外创建内存,与names第一层无关,但若names中嵌套有列表,嵌套的列表中项指向同一个地址,即修改names嵌套列表第二层的项,name2也随之改变。(浅层复制的另一种方法:name2 = names[:])
1 names = ['weng',['chen','wang']] 2 name2 = names 3 names[0] = 'WENG' 4 names[1][0] = 'CHEN' 5 print(names) 6 print(name2)
打印结果为
1 ['WENG',['CHEN','wang']] 2 ['weng',['CHEN','wang']]
浅层复制的作用:创建联合账号,同步修改嵌套元素。比如夫妻共同财产。
深层复制:
1 import copy 2 name2 = copy.deepcopy(names)
此时name2完全独立names存在.
若直接使用:name2 = names,则两者完全指向相同地址,即任意一个修改都会引起同步变化。
6. 元组:是只读列表,只有count和index
salary.isdigit()可检查salary(字符串)是不是数字
enumerate(列表)将列表中的元素下标取出,和对应元素组成元组
7. 字典:键-值对,无序,无下标。
增/改:字典名[关键字] = 值,若关键字存在就修改值,不存在就创建一个新的键-值对。
删1:del 字典名[关键字]
删2:字典名.pop(关键字)
查1:字典名.get(关键字),关键字不存在返回None,否则返回值。
查2:‘关键字’ in 字典,返回布尔值。
字典名.key(),只返回字典的关键字
字典名.value(),只返回字典的值。
字典名.setdefault(键,值)——查找键,有则读取值,没有就创建一个键-值对。
字典A.update(字典B)——将两个字典合并,有相同的关键字则更新值。
字典名.items()将字典转成列表
字典循环1:
1 for i in info: 2 print(i,info[i])
其中i表示对关键字进行循环
字典循环2:
1 for k,v in info.items(): 2 print(k,v)
这个方法将字典转成列表,占用内存。
三、字符串操作
1.高亮显示:\033[31;1m%s\033[0m
31是红字,41是背景红,32是绿字,42是背景绿。
2. .capitalize()——首字母大写
.count("a)——数字母数
name.center(50,'-')——打印50个字符,name居中,不够50用‘-’补足
name.ljust()/name.rjust(50,'*')——生成长50字符,name居左/右,不够用'-'补足
.endswith('ex')——判断是不是以ex结尾
.find()——在字符串中查找并返回索引(字符串也可以切片)
.isalnum()——判断是不是字母或者阿拉伯数字
.isalpha()——判断是不是英文字母
.isindentifier()——判断是不是合法标识符(变量名)
字符串.join(列表)——将列表中的各个元素用字符串相连,组成一个新的字符串
print('+'.join(['1','2','3'])) >>> 1+2+3
p = str.maketrans('abcdef','123456)——建立一个对应规则p,a对应1,b对应2,c对应3....
print(“alex li”。translate(p))——用对应规则p对“alex li”进行加密,即用1代替a,5代替e....
.split()——将字符串从特定位置分割成列表,这个位置作为参数传给split
.swapcase()大写小写互换