广告
返回顶部
首页 > 资讯 > 后端开发 > Python >提升Python程序性能的习惯有哪些
  • 648
分享到

提升Python程序性能的习惯有哪些

2023-07-06 04:07:16 648人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“提升python程序性能的习惯有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、使用局部变量尽量使用局部变量代替全局变

本篇内容介绍了“提升python程序性能的习惯有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、使用局部变量

尽量使用局部变量代替全局变量:便于维护,提高性能并节省内存。

使用局部变量替换模块名字空间中的变量,例如 ls = os.linesep。一方面可以提高程序性能,局部变量查找速度更快;另一方面可用简短标识符替代冗长的模块变量,提高可读性。

2、减少函数调用次数

对象类型判断时,采用isinstance()最优,采用对象类型身份(id())次之,采用对象值(type())比较最次。

#判断变量num是否为整数类型type(num) == type(0) #调用三次函数type(num) is type(0) #身份比较isinstance(num,(int)) #调用一次函数

不要在重复操作的内容作为参数放到循环条件中,避免重复运算。

#每次循环都需要重新执行len(a)while i < len(a):statement#len(a)仅执行一次m = len(a)while i < m:statement

如需使用模块X中的某个函数或对象Y,应直接使用from X import Y,而不是import X; X.Y。这样在使用Y时,可以减少一次查询(解释器不必首先查找到X模块,然后在X模块的字典中查找Y)。

3、采用映射替代条件查找

映射(比如dict等)的搜索速度远快于条件语句(如if等)。Python中也没有select-case语句。

#if查找if a == 1:b = 10elif a == 2:b = 20...#dict查找,性能更优d = {1:10,2:20,...}b = d[a]

4、直接迭代序列元素

对序列(str、list、tuple等),直接迭代序列元素,比迭代元素的索引速度要更快。

a = [1,2,3]#迭代元素for item in a:print(item)#迭代索引for i in range(len(a)): print(a[i])

5、采用生成器表达式替代列表解析

列表解析(list comprehension),会产生整个列表,对大量数据的迭代会产生负面效应。

而生成器表达式则不会,其不会真正创建列表,而是返回一个生成器,在需要时产生一个值(延迟计算),对内存更加友好。

#计算文件f的非空字符个数#生成器表达式l = sum([len(Word) for line in f for word in line.split()])#列表解析l = sum(len(word) for line in f for word in line.split())

6、先编译后调用

使用eval()、exec()函数执行代码时,最好调用代码对象(提前通过compile()函数编译成字节码),而不是直接调用str,可以避免多次执行重复编译过程,提高程序性能。

正则表达式模式匹配也类似,也最好先将正则表达式模式编译成regex对象(通过re.complie()函数),然后再执行比较和匹配。

7、模块编程习惯

模块中的最高级别Python语句(没有缩进的代码)会在模块导入(import)时执行(不论其是否真的必要执行)。因此,应尽量将模块所有的功能代码放到函数中,包括主程序相关的功能代码也可放到main()函数中,主程序本身调用main()函数。

可以在模块的main()函数中书写测试代码。在主程序中,检测name的值,如果为'main'(表示模块是被直接执行),则调用main()函数,进行测试;如果为模块名字(表示模块是被调用),则不进行测试。

“提升Python程序性能的习惯有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 提升Python程序性能的习惯有哪些

本文链接: https://www.lsjlt.com/news/357803.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 提升Python程序性能的习惯有哪些
    本篇内容介绍了“提升Python程序性能的习惯有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、使用局部变量尽量使用局部变量代替全局变...
    99+
    2023-07-06
  • 提升Python运行性能的习惯有哪些
    本篇内容主要讲解“提升Python运行性能的习惯有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“提升Python运行性能的习惯有哪些”吧!1、使用局部变量使用局部变量替换模块名字空间中的变量...
    99+
    2023-06-02
  • 让Python程序变慢的坏习惯有哪些
    这篇文章主要讲解了“让Python程序变慢的坏习惯有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“让Python程序变慢的坏习惯有哪些”吧!1.不要导入根模块在使用 Python 时,我...
    99+
    2023-07-06
  • Python程序员的不良编程习惯有哪些
    这篇文章主要讲解了“Python程序员的不良编程习惯有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python程序员的不良编程习惯有哪些”吧!编程习惯No. 1:使用goto关于禁止使...
    99+
    2023-06-02
  • Python程序员所具备的好习惯有哪些
    本篇内容主要讲解“Python程序员所具备的好习惯有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python程序员所具备的好习惯有哪些”吧!良好的时间管理迟到对于任何一家公司都是个头痛的问...
    99+
    2023-06-02
  • Python代码的坏习惯有哪些
    这篇文章主要讲解了“Python代码的坏习惯有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python代码的坏习惯有哪些”吧!一、用列表作函数的默认参数看下面这个例子:正常我们期望的结...
    99+
    2023-06-16
  • Python性能提升的方法有哪些
    本篇内容介绍了“Python性能提升的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!时序分析优化之前,首先要找到是哪部分代码拖慢了...
    99+
    2023-06-16
  • .NET程序员得遵守的编码习惯有哪些
    .NET程序员得遵守的编码习惯有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。小编将为大家介绍二十条.NET程序员不得不遵守的.NET编码习惯。不要硬编string/ ...
    99+
    2023-06-17
  • Java编程中的好习惯有哪些
    这篇文章跟大家分析一下“Java编程中的好习惯有哪些”。内容详细易懂,对“Java编程中的好习惯有哪些”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Java编程中的好习惯有哪些”...
    99+
    2023-06-02
  • 排序算法的性能提升方法有哪些
    本篇内容介绍了“排序算法的性能提升方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!冒泡排序这是最简...
    99+
    2022-10-19
  • 提升MySQL性能的方法有哪些
    这篇文章主要介绍“提升MySQL性能的方法有哪些”,在日常操作中,相信很多人在提升MySQL性能的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”提升MySQL性能的...
    99+
    2022-10-18
  • php8到底有哪些性能提升
    php8提高的性能包括:1、JIT编译器的引入;2、函数调用的优化;3、垃圾回收机制的改进;4、类型系统的改进;5、新的语言特性;6、优化字符串处理;7、改进数组处理;8、引入新的内存管理机制;9、优化代码生成。详细介绍:1、JIT编译器的...
    99+
    2023-12-21
    PHP8
  • 10个提升web应用程序10倍性能的技巧有哪些
    这篇文章将为大家详细讲解有关10个提升web应用程序10倍性能的技巧有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。提高Web应用程序性能比以往任何时候都更加重要。在线经济活动的份额正在...
    99+
    2023-06-16
  • Python开发中需要摒弃的坏习惯有哪些
    这篇“Python开发中需要摒弃的坏习惯有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python开发中需要摒弃的坏习...
    99+
    2023-06-28
  • 提升Redis性能的小技巧有哪些
    这篇文章主要介绍了提升Redis性能的小技巧有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。01 使用 p...
    99+
    2022-10-19
  • 提高java程序性能的方法有哪些
    尽量指定类的final修饰符,带有final修饰符的类是不可派生的在Java核心API中,有许多应用final的例子,例如java.lang.String。为String类指定final防止了人们覆盖length()方法。另外,如果指定一个...
    99+
    2021-12-12
    提高 java 程序 性能
  • 提升Web开发性能的技巧有哪些
    本篇内容介绍了“提升Web开发性能的技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、采用反向代...
    99+
    2022-10-19
  • 提升Python的27种编程语言有哪些
    提升Python的27种编程语言有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。27 种语言过程型编程语言: C, Rust, Cython面向对象数据建模语言: Ja...
    99+
    2023-06-17
  • 2021年提升编程技能的方式有哪些
    这篇文章主要讲解了“2021年提升编程技能的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“2021年提升编程技能的方式有哪些”吧!编程游戏当我们谈...
    99+
    2022-10-19
  • javascript中提高应用程序性能的方法有哪些
    本篇文章给大家分享的是有关javascript中提高应用程序性能的方法有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。像任何其他编程语言一...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作