Python
CircleYua
已弃坑
展开
-
Python3的string库模板的应用
模板字符串模板将作为内置的拼接语法的替代用法。使用Template拼接时,要在名字前加前缀$来标识变量(例如,$var)。或者,如果有必要区分变量和周围的文本,可以用大括号包围变量(例如,${var})。import stringvalues = {'var':'foo'}t = string.Template("""Variable : $varEscape ...原创 2019-02-02 14:09:48 · 1536 阅读 · 0 评论 -
Python正则表达式的re库一些用法(上)
1、查找文本中的模式search()函数取模式和要扫描的文本作为输入,找到这个模式时就返回一个match对象。如果没有找到模式,search()就返回None。每个match对象包含有关匹配性质的信息,包含原输入字符串,所使用的正则表达式以及模式在原字符串出现的位置。import repattern = 'this'text = 'Does this text match th...原创 2019-02-02 22:12:29 · 945 阅读 · 0 评论 -
Python三种设计模式
一、Python创建型设计模式1、工厂模式(Factory):解决对象创建问题2、构造模式(Builder):控制复杂对象的创建3、原型模式(Prototype):通过原型的克隆创建新的实例4、单例模式(Brog/Singleton):一个类只能创建同一个对象5、对象池模式(Pool):预先分配同一类型的一组实例6、惰性计算模式(Lazy Evaluaion):延迟计算(P...原创 2019-02-27 23:08:59 · 3495 阅读 · 0 评论 -
Python3安装scrapy的玄学
一不小心把Linux服务器的重要文件给删掉了,不能连接ssh,只能重新做镜像安装了,什么开发环境都没有了。刚开始一起正常,在使用pip install安装scrapy的时候遇到了经常出现的问题:Collecting Twisted>=13.3.0 (from scrapy) Could not find a version that satisfies the requirem...原创 2019-02-14 03:10:38 · 2154 阅读 · 0 评论 -
[Python]数的划分-动态规划
题目:将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5; 1,5,1; 5,1,1;问有多少种不同的分法。输入:n,k ( 6 < n ≤ 200,2 ≤ k ≤ 6 )输出:一个整数,即不同的分法。输入描述:两个整数 n,k ( 6 < n ≤ 200, 2 ≤ k ≤ 6 )输...原创 2019-03-17 00:32:49 · 2887 阅读 · 2 评论 -
Python并发任务之多进程
多进程 多进程是一种常见的并发任务执行方式,优点为子进程之间数据独立,安全性较好;缺点是系统资源占用较大,进程间切换的开销也较大。 Python中实现多进程有os.fork方法、multiprocess库。其中os.fork只有在Linux平台使用(在Windows平台无法使用),multiprocess则是跨平台的。 os.fork方法用于程序自身的复制。当这个方法...原创 2019-03-22 00:06:25 · 1537 阅读 · 0 评论 -
Python并发任务之多线程
多线程 上一篇写了Python多进程的使用方法,现在说一下多线程。多线程虽然可以提供并发能力,但是它对系统资源的消耗也非常大,每个进程都需要申请独立的运行环境和资源,并且子进程之间的上下文切换也需要额外的时间。相比于多进程,多线程则是多个线程共享一个进程,所以只需要申请一份系统资源;并且线程间的上下文切换也更加高效;另外,线程间的通信也变得更加方便。 Python中多线程使用...原创 2019-03-22 00:43:53 · 1027 阅读 · 0 评论 -
Python并发任务之协程
多线程会消耗系统资源,多进程则有GIL限制和影响,Python中还有一种高效地执行并发任务的方式,那就是协程了。协程也成为微线程,比线程更轻量级。协程通过在单线程内进行函数执行切换来进行并发。也就是说,协程是单线程执行,并且在线程内函数之间的执行也是可以切换的。如果说多进程、多线程是抢占式的任务处理方式,那么协程就是协作式的任务处理方式。协程虽然是单线程,但是通过协作切换来充分利用CPU,...原创 2019-03-26 00:19:51 · 1866 阅读 · 1 评论 -
子串模糊匹配(Python)
题目详情:从字符串string开始完整匹配子串sub,返回匹配到的字符个数。sub中如果出现'?'表示可以匹配一到三个除'\0'以外的任意字符。如果sub还有找不到匹配的字符,则说明不能完整匹配。如果能完整匹配,返回匹配到的字符个数,如果有多种匹配方式,返回匹配字符数最少的那个,如果不能完整匹配,返回-1输入描述:第一行输入字符串string,长度小于10000第二行输入子...原创 2019-07-29 23:40:58 · 7811 阅读 · 2 评论 -
leetcode多线程:1114~1117(Python)解题记录
一、按序打印(1114)我们提供了一个类:public class Foo {public void one() { print("one"); }public void two() { print("two"); }public void three() { print("three"); }}三个不同的线程将会共用一个Foo实例。线程 A 将会调用 ...原创 2019-07-27 09:41:15 · 1699 阅读 · 0 评论 -
使用Python统计函数绘制复杂图形matplotlib
一、堆积图1、堆积柱状图如果将函数bar()中的参数bottom的取值设定为列表y、列表y1代表另一个数,函数bar(x,y1,bottom=y,color="r")就会输出堆积柱状图代码示例:import matplotlib.pyplot as pltx = [1,2,3,4,5]y = [6,10,4,5,1]y1 = [2,6,3,8,5]plt.bar(x,...原创 2019-01-05 22:37:56 · 3375 阅读 · 0 评论 -
使用Python统计函数绘制简单图形matplotlib
1、bar() —— 绘制柱状图plt.bar(x,y,align="center",color="b",tick_label=["a","b","c","d","e"],alpha=0.6)参数说明:x:表示x轴上数据的类别y:每种数据的类别的数量align:柱体对齐方式color:柱体颜色tick_label:刻度标签值alpha:柱体透明原创 2019-01-05 00:30:42 · 1401 阅读 · 0 评论 -
matplotlib图表组成元素
一、函数1、plot() —— 展示变量的趋势与变化用法:plt.plot(x,y,ls="-",lw=2,label="plot figure")参数说明:x:x轴上的数值y:y轴上的数值ls:折线图的线条风格lw:折线图的线条宽度label:标记图形内容的标签文本代码实例:import matplotlib.pyplot as pltimp...原创 2019-01-04 23:07:18 · 1365 阅读 · 0 评论 -
用Python的导入csv、文本文件、Excel文件的数据
使用read_csv函数导入CSV文件read.csv函数语法 read_csv(file,encoding)例子: Age,Name 22,wangwei 23,lixin 24,liqing ---分隔符号逗号(,)代码如下:from pandas import read_csv...原创 2018-07-26 10:31:16 · 1546 阅读 · 0 评论 -
Python数据分析中对重复值、缺失值、空格的处理
对重复值的处理把数据结构中,行相同的数据只保留一行函数语法: drop_duplicates()from pandas import read_csvdf = read_csv(文件位置)newdf = df.drop_duplicates(); 对缺失值的处理缺失值的产生 1、有些信息暂时无法获取 2、有些信息被遗漏或者错误处理了...原创 2018-07-26 10:43:16 · 1053 阅读 · 0 评论 -
Python集合类型
列表(list) a=[] 安装先后顺序,有下表位[index],可以重复,可变类型元组(tuple) a=() 有先后顺序,有下标位,元素可以重复,不可变(只能查)字典(dict) a={} 没有先后顺序,没有下标,key不可重复,value可以,可变集合(set) a={} 没有先后顺序,没有下标,不可重复,可变类型...原创 2018-07-26 10:46:29 · 836 阅读 · 0 评论 -
Python3.7.0的安装方法
安装Python3.7.01.下载Python-3.7.0.tar.xz包安装wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz2.创建一个文件来安装Python3.7并转移到新目录mkdir /home/python3cd /home/python33.解压Python的tar包tar -xv...原创 2018-07-30 16:43:07 · 4827 阅读 · 0 评论 -
Python输入数组(一维数组、二维数组)
一维数组:arr = input("") //输入一个一维数组,每个数之间使空格隔开num = [int(n) for n in arr.split()] //将输入每个数以空格键隔开做成数组print(num) //打印数组一维数组输入输出示例: 二维数组:(以n*n的二维数组为例)n = int(input()) /...原创 2018-08-09 20:14:34 · 88392 阅读 · 10 评论 -
升级pip10.0.0后出现ModuleNotFoundError: No module named 'pip'的问题
pip10升级后各种pip install出错-----Traceback (most recent call last): File "/usr/local/bin/pip", line 7, in <module> from pip._internal import mainModuleNotFoundError: No module named 'pip'...原创 2018-08-01 19:19:14 · 1979 阅读 · 1 评论 -
运行TensorFlow出现Your CPU supports instructions that this TensorFlow binary was not compiled to use: AV
原因:import os #在顶头位置加上os.environ["TF_CPP_MIN_LOG_LEVEL"]='1' # ‘1’表示默认的显示等级,运行时显示所有信息 os.environ["TF_CPP_MIN_LOG_LEVEL"]='2' # ‘2’运行时只显示 warning 和 Error os.environ["TF_CPP_MIN_LOG_LEVEL"]='3'...原创 2018-08-11 18:00:33 · 1486 阅读 · 0 评论 -
在云服务器跑Python程序
最近在鼓弄这TensorFlow的模型,有些模型实在是太大了,CPU占用率100%不说,还一跑起来就跑个大半天,严重影响了学习的进度,所以由于手里刚有一个不大使用的云服务器,配置虽然不咋地,至少还能跑跑程序,所以开始部署TensorFlow模型往上面跑。笔记本CPU占用率图:部署步骤:1、使用Xftp将程序和文件拷贝到云服务器上面2、使用Linux的nohup命令使得...原创 2018-09-15 15:41:55 · 15922 阅读 · 1 评论 -
Python装饰器基础及运行时间
一、装饰器基础装饰器是可调用的对象,其参数是另一个函数(被装饰的函数)。装饰器可能会处理被装饰的函数,然后把他返回,或者将其替换成另一个函数或可调用对象。eg:decorate装饰器@decoratedef target(): print("Running target()")#上面写法等同于def target(): print("Running targ...原创 2018-10-20 09:35:37 · 1155 阅读 · 0 评论 -
使用python绘制根轨迹图
最近在学自动控制原理,发现根轨迹这一张全是绘图的,然而书上教的全是使用matlab进行计算机辅助绘图。但国内对于使用python进行这种绘图的资料基本没有,后来发现python-control包已经将matlab的rlocus封装进去,matlab能做的python也能做。使用python绘制根轨迹图主要使用的是python-control包下的matlab.rlocus函数,具体内容可...原创 2018-10-26 17:41:15 · 6683 阅读 · 1 评论 -
算法面试题(python)——如何找出数组中出现一次的数
题目描述:一个数组里,除了三个数是唯一出现的,其余的数都出现了偶数次,找出这三个数中任意一个。比如数组序列为[1,2,4,5,6,4,2],只有1、5、6这三个数字是唯一出现的,数字2、4均出现了偶数次,只需要输出数字1、5、6中的任意一个就行。 分析:题目得出的信息:(1)数组中的元素一定为奇数个;(2)由于只有三个数字均出现过一次,显然这三个数字不相同,因此,这三个数字...原创 2018-12-15 20:35:59 · 2927 阅读 · 0 评论 -
TypeError: write() argument must be str, not bytes报错原因及Python3写入二进制文件方法
Python2随机写入二进制文件:with open('/python2/random.bin','w') as f: f.write(os.urandom(10))但使用Python3会报错:TypeError:must be str, not bytes原因为:Python3给open函数添加了名为encoding的新参数,而这个新参数的默认值却是‘utf-8’。这...原创 2018-07-26 10:24:28 · 83291 阅读 · 13 评论