一行代码都不加如何提升性能 | Python从入门到精通:入门篇之二十一

简介: 本节课继续对质数的练习进行优化,通过一个细节的改变,性能提升更加的明显。

第二十节:如何用一行代码让运行速度提高近10倍
上节课我们讲了使用一行代码就把程序的运算性能提升了将近10倍,在文章末尾老师给大家留了个思考,怎么样能够使得程序的性能更加地优化呢?
在讲授之前先给大家做下思想的引导。举个例子,还是说打印100以内的质数,如果是要判断100,利用上节课的思想,程序只需要判断100是否可以整除2就行了,这种类型的数字这么判断都是没有问题的,那么对于97来说呢,是不是还是需要从2~96进行判断,但是结合实际情况来看,96有没有可能被97整除,显然是不合理的,95、94、93、、、等也都是如此。那该如何更加优化这个情况?
继续跟着老师的思路往下走: 咱们先拿一个合数来举个例子,假如说是36,他的因数都有什么,1,36,2,18,3,12,4,9,6,有没有发现它的因数都是成对出现的,除了6*6这么一种情况。那其实咱们只需要判断j小于i的算术平方根的位置就没必要再往下算了,但是为了避免漏掉像是6这种数字,还是要使得j<=i**0.5,就可以保证97这种情况进一步的优化了。代码如下:

from time import*
begin=time()
i=2
while i<=10000:
    flag = True
    j=2
    while j <= i ** 0.5:
        if i % j == 0 :
            flag = False
            break
        j += 1
    if flag :
        pass
    i+=1
end=time()
print("程序运行的时长为:",end-begin,"秒")

执行结果为:
image.png
此时同样判断2~10000以内的质数就只需要0.0418秒了。即使是将数字改为100000,程序执行也只需要1.009秒。
image.png
看起来只是三个符号的改变,却让程序的性能得到了极大的提升,这是对我们的数学能力和分析能力的双重考核,但是现在想不出来这种方式也不需要担心,随着后面的学习,会更加频繁的进行这种思考,慢慢的就耳濡目染自己也学会了。
入门课程到这里就基本结束了,在进行进阶教程之前先来带大家开发一个小游戏:唐僧大战白骨精!带大家感受一下python的趣味之处。
第二十二节:游戏的运行逻辑概述

视频学习:阿里云大学之Python进阶必看

配套Python进阶文章点击此处获取

相关文章
|
2月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
357 7
|
2月前
|
测试技术 Python
Python装饰器:为你的代码施展“魔法”
Python装饰器:为你的代码施展“魔法”
257 100
|
2月前
|
开发者 Python
Python列表推导式:一行代码的艺术与力量
Python列表推导式:一行代码的艺术与力量
418 95
|
3月前
|
Python
Python的简洁之道:5个让代码更优雅的技巧
Python的简洁之道:5个让代码更优雅的技巧
260 104
|
3月前
|
开发者 Python
Python神技:用列表推导式让你的代码更优雅
Python神技:用列表推导式让你的代码更优雅
459 99
|
2月前
|
缓存 Python
Python装饰器:为你的代码施展“魔法
Python装饰器:为你的代码施展“魔法
156 88
|
2月前
|
Cloud Native 算法 API
Python API接口实战指南:从入门到精通
🌟蒋星熠Jaxonic,技术宇宙的星际旅人。深耕API开发,以Python为舟,探索RESTful、GraphQL等接口奥秘。擅长requests、aiohttp实战,专注性能优化与架构设计,用代码连接万物,谱写极客诗篇。
Python API接口实战指南:从入门到精通
|
2月前
|
存储 Java 调度
Python定时任务实战:APScheduler从入门到精通
APScheduler是Python强大的定时任务框架,通过触发器、执行器、任务存储和调度器四大组件,灵活实现各类周期性任务。支持内存、数据库、Redis等持久化存储,适用于Web集成、数据抓取、邮件发送等场景,解决传统sleep循环的诸多缺陷,助力构建稳定可靠的自动化系统。(238字)
555 1
|
2月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
|
3月前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
500 7

推荐镜像

更多