Python

几个方法帮你加快Python运行速度

Python运行的慢是历来被诟病的,一方面和语言有关,另一方面可能就是你代码的问题。语言方面的问题我们解决不了,所以只能在编程技巧上来提高程序的运行效率。下面就给大家分享几个提高运行效率的编程方法。首先,我们需要来衡量代码的时间和空间的复杂性,不然仅仅用我们的肉眼很难感受代码时间长短的变化。python中的profiler可以帮助我们测量程序的时间和空间复杂度。使用时通过-o参数传入可选输出文件以保留性能日志。具体使用方法如下:python-mcProfi

系统 2019-09-27 17:48:32 2335

Python

解决Atom安装Hydrogen无法运行python3的问题

Atom是一款功能强大的跨平台编辑器,插件化的解决方案为atom社区的繁荣奠定了基础。任何人都可以把自己做的组件贡献在github上,并能方便的安装到Atom上使用。JupyterNotebook是另一款广受欢迎的交互式笔记本,支持40多种编程语言。Atom上有一款广受欢迎的插件名叫Hydrogen,是用来在Atom上支持Jupyter的运行,有了它,我们就可以摆脱浏览器,回到IDE里愉快的借助Jupyter写代码了!但是,由于现在处于python向pyt

系统 2019-09-27 17:46:06 2335

Python

python字符串分割及字符串的一些常规方法

字符串分割,将一个字符串分裂成多个字符串组成的列表,可以理解为字符串转列表,经常会用到语法:str.split(sep,[,max]),sep可以指定切割的符号,max可以指定切割的次数(次数不常用)不带参数时以空格进行分割带参数时,以该参数进行分割未查询到分隔符时,列表只包含原始字符串source="1,2,3,4,5,,6"printsource.split(',')#按照索引取值[]source="1,2,3,4,5,,6"printsource.s

系统 2019-09-27 17:45:27 2335

Python

python添加菜单图文讲解

分享一个基于tkinter的菜单程序添加操作,希望对需要的朋友有帮助。打开python集成开发环境,使用fromtkinterimportTkfromtkinterimportMenu导入Tk和Menu,最好不要用fromtkinterimport*因为这样可能刀座某些平台不兼容,比如树莓派就需要单个导入。使用root=Tk()新建一个Tk对象并赋值给root,然后再通过testMenu=Menu(root)新建一个菜单对象,并且和root关联。使用tes

系统 2019-09-27 17:37:49 2335

Python

一篇文章搞定Python操作文件与目录

前言文件和目录操作是很常见的功能,这里做个简单的总结,包括注意事项和实际的实现代码,基本日常开发都够用了目录操作判断目录或是文件是否存在os.path.exists(path)判断是否是文件或是目录#如果文件或是目录不存在也会返回Falseos.path.isfile(path)os.path.isdir(path)创建/删除目录os.mkdir(path)os.rmdir(path)得到当前的目录名称os.path.split(dir_path)[1]这

系统 2019-09-27 17:57:44 2334

Python

遗传算法介绍并附上Python代码

之前介绍过遗传算法,参见:https://www.cnblogs.com/LoganChen/p/7509702.html我们用Python实现同样的问题解答。y=10*sin(5*x)+7*abs(x-5)+10我们来求这个函数在0-10之间的最大值。先来看一下这个函数的图像:importnumpyasnpimportmatplotlib.pyplotasplt"""**Colors**Thefollowingcolorabbreviationsares

系统 2019-09-27 17:57:15 2334

Python

Python之流程控制——while循环

Python之流程控制——while循环一、语法while条件:执行代码while就是当的意思,它指当其后面的条件成立,就执行while下面的代码。例:写一个从0打印到10的程序count=0whilecount<=10:print('第%s次'%count)count+=1如果要打印1~10之间的偶数怎么办呢?那就得先搞清楚,怎么判断一个数字是偶数?能被2整除的就是偶数,但如何判断这个数是否能被2整除呢?简单,直接判断这个数除以2之后的余数是否为0就行了

系统 2019-09-27 17:55:03 2334

Python

python ValueError: attempted relative

原因1:导入包中没有__init__文件,无法被识别为python包原因2:在main主函数中使用了相对导入,Python是不支持常规相对导入形式(from..importxxx)原因1好解决,原因2解决方式如下:在main主函数中使用sys.path.append()进行导入:importosimportsyssys.path.append(os.path.abspath('../XXX'))importxxuif__name__=='__main__'

系统 2019-09-27 17:54:52 2334

Python

python多进程和多线程究竟谁更快(详解)

python3.6threading和multiprocessing四核+三星250G-850-SSD自从用多进程和多线程进行编程,一致没搞懂到底谁更快。网上很多都说python多进程更快,因为GIL(全局解释器锁)。但是我在写代码的时候,测试时间却是多线程更快,所以这到底是怎么回事?最近再做分词工作,原来的代码速度太慢,想提速,所以来探求一下有效方法(文末有代码和效果图)这里先来一张程序的结果图,说明线程和进程谁更快一些定义并行是指两个或者多个事件在同一

系统 2019-09-27 17:54:48 2334

Python

【python】Stack / Queue

https://www.bilibili.com/video/av53583801/?p=32学习笔记文章目录1Stack2Queue3Double-EndQueue1Stack栈只是一个容器,数据存储形式不局限于某一种,比如顺序表、链表都可以,只要满足FILO(FirstinLastout)。为了方便,我们这里采用顺序表的形式实现栈,因为python的list就可以当顺序表用!classStack(object):"栈"def__init__(self)

系统 2019-09-27 17:54:06 2334

Python

python numpy 常用随机数的产生方法的实现

numpy中的random模块有多个函数用于生成不同类型的随机数,常见的有uniform、rand、random、randint、random_interges下面介绍一下各自的用法1、np.random.uniform的用法np.random.uniform(low=0.0,high=1.0,size=None)作用:可以生成[low,high)中的随机数,可以是单个值,也可以是一维数组,也可以是多维数组参数介绍:low:float型,或者是数组类型的,

系统 2019-09-27 17:52:05 2334

Python

自学Python:python中的OS模块与pickle模块

OS模块OS就是OperatingSystem的缩写,意为操作系统,这可是一个非常高大上的模块,因为在python中,对于文件系统的访问就是通过OS模块来实现的。我们所知道常用的操作系统就有Windows、MacOS、Linux、UNIX等,这些操作系统底层对于文件系统的访问工作原理是不一样的,因此你可能就要针对不同的系统来考虑使用哪些文件系统模块,这样的做法是非常麻烦的,因为如果程序的运行环境一旦改变,你就要相应的去修改大量的代码来应付。但是python

系统 2019-09-27 17:51:13 2334

Python

【Python】Django配置mysql

1、django新建项目后会创建settings.py文件,此文件里默认配置了sqllite数据库,原始代码如下:#DATABASES={#'default':{#'ENGINE':'django.db.backends.sqlite3',#'NAME':os.path.join(BASE_DIR,'db.sqlite3'),#}#}2、我们需要将默认配置修改为mysqlDATABASES={'default':{'ENGINE':'django.db.b

系统 2019-09-27 17:49:18 2334

Python

python中使用函数递归return返回值为None的问题

先看之前写的代码:i=0defhhh():globaliprint(i)ifi==3:returnii=i+1hhh()print(hhh())结果应该输出01233但实际却是:0123None这是为什么呢?首先,Return的用法,调用函数的时候,如果没有执行return命令(或return命令未接收数据),默认会返回none这里if判断生效,确定应该执行了return命令,也接收到了全局变量i,但为什么结果和预想不一样呢?这里主要是由于函数递归的使用导

系统 2019-09-27 17:47:32 2334

Python

Python的高级Git库 Gittle

Gittle是一个高级纯pythongit库。构建在dulwich之上,提供了大部分的低层机制。InstallitpipinstallgittleExamples:ClonearepositoryfromgittleimportGittlerepo_path='/tmp/gittle_bare'repo_url='git://github.com/FriendCode/gittle.git'repo=Gittle.clone(repo_url,repo_p

系统 2019-09-27 17:38:20 2334