wxg学习笔记-老男孩day2

时间:2021-11-07 21:53:13

一、库

标准库:不需要安装

第三方库:需要安装

取模块名称不应该和库名相同,否则容易导入错误

二、模块

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()大写小写互换