python笔记
map(func, a)
对a中元素应用func,python3返回一个迭代器
对迭代器x通过 next(x)
获取元素list(x)
将剩余元素转为列表dir(x)
获取所有属性与方法id(x)
type(x)
x类型
python -i [a.py]
在interactive shell中运行a.pyadd = lambda x, y : x + y
lambda函数b = filter(lambda x : x > 1, a)
对list a进行filter
for i, num in enumerate(a):
print(i, num)
i为编号,num为a中元素
ord(x)
将字符转为asacii码zip(l1, l2, l3 {...})
依次提取l1, l2, l3 ...中元素,打包为元组
func.__code__.co_argcount
函数func参数数量func.__code__.co_varnames
函数参数列表
matplotlib
import matplotlib.pyplot as plt
plt.plot(x)
plt.show()
plt.plot(x, y, 'b') #绘制线段
plt.plot(x, y, 'ro') #绘制点
%matplotlib inline
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
x = [1, 2, 4, 8]
y = [0.005 * x for x in range(6)]
t1 = [0.0027, 0.0026, 0.0027, 0.0027]
t2 = [0.0106, 0.0194, 0.0191, 0.0177]
t3 = [0.0026, 0.0014, 0.00095, 0.00079]
t4 = [0.0132, 0.0208, 0.0201, 0.0199]
plt.plot(x, t1, color = 'blue')
plt.plot(x, t2, color = 'red')
plt.plot(x, t3, color = 'orange')
plt.plot(x, t4, color = 'purple')
plt.xlabel("进程数", fontsize = 14)
plt.ylabel("时间/s", fontsize = 14)
plt.xticks(x)
#plt.yticks(y)
plt.legend(["串行时间", "并行分发时间", "并行计算时间", "并行总时间"])
plt.show()
plt.subplot(1,2,1) # 子图
seaborn
import seaborn as sns
sns.distplot(a) # a中元素的分布图
numpy
np.polyfit(x, y, deg = 2) #最小二乘拟合deg度多项式
order = np.argsort(x, {kind = 'stable'}) #返回x排序后下标
一个array可以直接以另一个array做索引:
a = np.array([1,0,2])
b = np.array([1,2,3])
print(b[a])
os
os.system("[command]") #系统执行command
lines = os.popen("[command]").readlines() #系统执行command输出到lines
os.path.isfile("file") #文件是否存在
os.path.join("p1","p2") #生成路径
表格:
table = plt.table(cell_text = table_vals, rowLabels = row_labels, colLabels = col_labels)
pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple
argparse
参数处理库
pprint
pretty print 美化输出方式
conda
conda config --set auto_activate_base false
conda不自动启动conda create -n [name] python={2.7/3.6}
创建conda虚拟环境conda activate [name]
激活conda虚拟环境conda search [package]
查看包所有版本
re
每次写正则表达式都会忘掉语法,在这里记一些常用的
name = re.compile(pattern)
res = name.findall(s) #找s中的所有匹配
res = re.match([pattern], [string], [flags]) # match 从字符串起始位置开始匹配
res = re.match(r'.*[\!|\+](.*) us', line)
flags :
- re.I 忽略大小写
pdb
interact
进入交互模式
glob
遍历路径下匹配文件glob.glob(path + "/*.txt")
cv2
import cv2
img = cv2.imread("1.png")
cv2.imwrite("new.png", img)