众所周知,程序的性能好坏影响着用户体验。所以性能是留住用户很重要的一环。Python 语言虽然能做很多事情,但是有一个不足之处,那就是执行效率和性能不够理想。

因此,更有必要进行一定的代码优化来提高 Python 程序的执行效率。本文章主要是输出自己在 Python 程序优化的经验。

推荐下我自己创建的Python学习交流群960410445,这是Python学习交流的地方,不管你是小白还是大牛,小编都欢迎,不定期分享干货,包括我整理的一份适合零基础学习Python的资料和入门教程。

01尽量使用内置函数

Python 的标准库中有很多内置函数,它们的运行效率都很高。因为很多标准库是使用 C 语言编写的。Pyhton 的内置函数有:

02拼接字符串

运算符 "+" 不仅能用于加法运算,还能做字符串连接。但是这种效率不是很高。在 Python 中,字符串变量在内存中是不可变的。如果使用 "+" 拼接字符串,内存会先创建一个新字符串,然后将两个旧字符串拼接,再复制到新字符串。推荐使用以下方法:

使用 "%" 运算符连接

这种方式有点像 C 语言中 printf 函数的功能,使用 "%s" 来表示字符串类型参数,再用 "%" 连接一个字符串和一组变量。

使用 format() 格式化连接

这种格式化字符串函数是 Python 特有的,属于高级用法。因为它威力强大,不仅支持多种参数类型,还支持对数字格式化。

上述代码使用隐式的位置参数,format() 还能显式指定参数所对应变量的位置。

使用 join() 方式

这种算是技巧性办法。join() 方法通常是用于连接列表或元组中的元素。

03使用 generator

generator 翻译成中文是生成器。生成器也是一种特殊迭代器。它其实是生成器函数返回生成器的迭代。生成器算是 Python 非常棒的特性。它的出现能帮助大大节省些内存空间。

假如我们要生成从 1 到 10 这 10 个数字,采用列表的方式定义,会占用 10 个地址空间。采用生成器,只会占用一个地址空间。因为生成器并没有把所有的值存在内存中,而是在运行时生成值。所以生成器只能访问一次。

04死循环

虽然使用While True和while 1都能实现死循环,但是while 1是单步运算,所以效率会高一点。

05巧用多重赋值

交换将两个变量的值,我们会立马想到应用一个第三方变量的方法。

Python 素有优雅的名声,所以有一个更加优雅又快速的方法,那就是多重赋值。

06列表的插入与排序

Python 标准库中有个 bisect 模块是内置模块,它实现了一个算法用于插入元素到有序列表。在一些情况下,这比反复排序列表或构造一个大的列表再排序的效率更高。

07尽量使用局部变量

Python 检索局部变量比检索全局变量快。因此, 尽量少用 "global" 关键字。

转载于:https://juejin.im/post/5c3ecb115188252547423169

Python 代码性能优化技巧相关推荐

  1. python代码性能优化技巧

    python代码性能优化技巧 代码优化能够让程序运行更快,可以提高程序的执行效率等,对于一名软件开发人员来说,如何优化代码,从哪里入手进行优化?这些都是他们十分关心的问题.本文着重讲了如何优化Pyth ...

  2. python linux 优化_Python 代码性能优化技巧

    Python 性能优化除了改进算法,选用合适的数据结构之外,还有几种关键的技术,比如将关键 python 代码部分重写成 C 扩展模块,或者选用在性能上更为优化的解释器等,这些在本文中统称为优化工具. ...

  3. python中if的效率_Python 代码性能优化技巧

    选择了脚本语言就要忍受其速度,这句话在某种程度上说明了 python 作为脚本的一个不足之处,那就是执行效率和性能不够理想,特别是在 performance 较差的机器上,因此有必要进行一定的代码优化 ...

  4. python代码优化_Python 代码性能优化技巧

    来源:http://www.oldboyedu.com/zuixin_wenzhang/index/id/129.html Python开发代码简化除了采用规范化的编程规则之外,代码编写的逻辑性和对内 ...

  5. Java for循环嵌套for循环,你需要懂的代码性能优化技巧

    前言 本篇分析的技巧点其实是比较常见的,但是最近的几次的代码评审还是发现有不少兄弟没注意到. 所以还是想拿出来说下. 正文 是个什么场景呢? 就是 for循环 里面还有 for循环, 然后做一些数据匹 ...

  6. java 怎么从性能上优化代码_月薪上万做好这一步:程序员职场中必须掌握的的Java代码性能优化技巧...

    尽量指定类.方法的final修饰符 Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化.此举大概能够使性能平均提高50%. 尽量重用对象 ...

  7. Java代码性能优化技巧

    流方面: private FileOutputStream writer;writer = new FileOoutputStream(fileName); 使用BufferedOutputStrea ...

  8. [转载] Python性能优化技巧总结

    参考链接: Python代码的优化技巧 欢迎加入Python学习交流群:535993938  禁止闲聊 ! 名额有限 ! 非喜勿进 ! 选择了脚本语言就要忍受其速度,这句话在某种程度上说明了 pyth ...

  9. java 代码性能优化_Java代码性能优化的几个小技巧

    Java代码性能优化的几个小技巧 时间:2017-08-07     来源:华清远见JAVA学院 代码优化是程序员必须懂得一门学问,所以不管是程序员还是准程序员,养成良好的代码优化习惯都是必须要养成的 ...

最新文章

  1. Topcoder SRM 663 DIV 1
  2. 利用Gephi软件绘制网络图
  3. 每天天一个linux命令echo,每天一个linux命令-echo(示例代码)
  4. Chrome浏览器插件Octotree-树形显示GIithub代码
  5. OCR 深度学习 综述
  6. PCA的原理及MATLAB实现
  7. 浅谈缓存技术在ASP.NET中的运用
  8. linux下nand flash驱动工作原理,Linux驱动之Nand Flash四问,原理、工作方式都包含了...
  9. Cisco ftp linux 权限,在Cisco设备上利用FTP传IOS文件
  10. oracle 英文版安装,Oracle10gR2 on RHEL4 x86_64安装技术文档(英文原版)
  11. 构建根文件系统之busybox
  12. matlab的默认字体_matlab画图字体 matlab默认的字体是什么
  13. 奥本大学计算机专业GRE成绩,美国大学GRE分数要求汇总贴,你的目标学校要求多少分?...
  14. 详细步骤:pytorch pth转wts转tensorrt(自定义模型,不用parser)
  15. html 圣杯布局 高度,web圣杯布局
  16. 如何消除Permission is only granted to system apps报错
  17. python自动化开发-[第九天]-异常处理、进程
  18. 阿里云短信服务(无需营业执照)快速上手
  19. 程序员如何写一份合格的简历?(附简历模版)
  20. 欧州专线的使用安全吗主要优势是什么

热门文章

  1. c++中的函数模版和类模版
  2. 项目通用环境使用说明
  3. Python lambda 关键字
  4. ORACLE 培训 -相克军
  5. 汉字转拼音,中文拼音排序器
  6. WEB高性能开发(10) - 疯狂的HTML压缩
  7. 2009_01_15_星期三
  8. smarty模板截取字符串乱码问题完美解决```````
  9. 数据挖掘原理与算法:练习题2
  10. 苹果怎么换行打字_停课不停学!苹果电脑学习类软件推荐,丰富您的假期生活...