文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

5种神奇的方法,让你的Python代码加速起飞

2024-12-03 13:56

关注

我们都知道就速度而言,Python是比Java或C慢得多的语言。Python是动态类型化的语言,这意味着它的变量类型未预定义。动态类型是一把双刃剑,它成就了Python成为一种优雅的语言,同时也让Python运行速度减慢。让我们看看一些可能对您的整体代码性能产生重大影响的小技巧。

[[373206]]

1. 了解你的内置函数

这一技巧有助于节省您的时间和时间与您的代码。当我开始学习Python的时候,我以前从不使用内置函数,所以为了完成我的绝对值代码,我会运行一个for循环而不是使用abs()。为了把一个字符转换成大写字母,我甚至会把它转换成与大写字母等价的ASCII字符,因为我拒绝学习字符串函数。

如果你对Python是认真的,那么学习所有的Python内置函数是值得的,因为它不仅使你的代码更整洁、更可重用,你还可以通过简单地使用Python提供给你的东西来避免代码中人为的低效率。

2. A,B=B,A

我确信您以前使用过“temp”作为占位符变量来交换两个元素。我能告诉你的是,这个方法只在课堂上使用,不应该在编程时使用。

相反,可以通过将变量写成a,b = b,a 来进行简单的变量交换。这将在一行中切换所有变量,并防止解释器超过三个(temp, a,b交换方法)。

这是一个小小的修复,可以节省几分之一秒的时间——但从长远来看,这些时间会累积起来。

3. 只在函数内导入

作为一个初学者,我们都喜欢大量导入我们认为在代码顶部需要的所有东西。我记得有一次我导入了NumPy, Pandas, Scipy, Warnings, Math, Math, Os等等,当我完成我的代码时,我只使用了三个库。这会耗尽你电脑的内存。

相反,在相应的函数中导入所需的库(如果多个函数需要相同的库,则需要多次导入)。这意味着解释器只会在你调用函数时完成导入,而不是在代码的开头。现在Python库被缓存了,所以当你调用不同的函数时,它不会在每次导入时占用额外的时间。然而,当您最终导入顶部的所有内容,甚至不使用代码中的一些函数时,它确实会占用更多的时间。

4. 使用Numba

这是一个小众技巧,主要帮助使用NumPy或科学编程的人。Numba是一个Python JIT编译器,它对函数应用装饰器,将一些函数转换为超快的字节代码(几乎与C一样快)。Numba开始因其简单和庞大的功能而出名。

Numba目前也支持其他功能,但是,我认为它目前主要是为科学Python开发人员提供的。

5. 从集合中检查,而不是从列表中

这是Python优化书中最古老的技巧之一。如果存在元素,不要在列表中搜索。相反,将列表设置为set(set(list)),然后执行检查“element in set(list)”。这个小小的改变将提高您的运行时效率,因为Python使用了可调整大小的哈希表,将平均时间复杂度提高到了O(1)。

 

然而,遍历集合并不比遍历列表快。

 

来源:Python学会内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯