博客
关于我
python小例子(三)
阅读量:467 次
发布时间:2019-03-06

本文共 1003 字,大约阅读时间需要 3 分钟。

提高Python运行速度的方法

使用生成器可以显著节省内存资源,减少垃圾收集带来的开销。对于循环代码,可以优化重复代码部分,避免不必要的性能损耗。对于核心模块,可以尝试使用Cython或PyPy等优化工具。多进程、多线程或协程等技术也能帮助提高执行效率。同时,在编写多条件判断时,建议优先处理可能性更高的逻辑。

MySQL和Redis的区别

MySQL是关系型数据库,数据存储在硬盘中,查询时会涉及I/O操作,速度相对较慢。Redis是内存型数据库,数据存储在内存中,操作更快,适合高频率的读写场景。

常见MySQL数据存储引擎

  • InnoDB:支持事务处理和外键约束,适合对数据完整性要求高的场景(如金融行业),支持并发控制和崩溃修复能力。
  • MyISAM:插入和查询速度较快,适合只读或插入高频率的数据。
  • MEMORY:所有数据存储在内存中,速度快,但安全性较低,适合小型数据表。

Cookie和Session的区别

  • Session在服务器端管理,依赖Session ID存储,Session ID存储在Cookie中。如果浏览器禁用Cookie,Session也会失效。
  • Cookie存储在客户端(浏览器),依赖于客户端的支持,安全性较低。
  • Cookie的数据编码方式为Base64,存储时间由开发人员设置。

线程和进程

  • 进程:资源分配和调度的基本单位,多个进程相互独立运行,不会互相影响。资源消耗较大,进程数量有限。

  • 线程:在进程内运行的轻量级任务,共享进程资源。线程间存在GIL(全局解释器锁),单线程崩溃会导致进程崩溃。

  • 应用场景

    • IO密集型:多线程优化性能。
    • CPU密集型:多进程利用多核优势。

魔术方法

  • __init__:对象初始化方法。
  • __new__:对象创建前的工厂方法,常用于单列模式。
  • __str__:定义对象的字符串表示,用于print输出。
  • __del__:对象删除前执行的清理方法。

Lambda函数排序

foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4]# 正数从小到大排序,负数从大到小排序sorted_foo = sorted(foo, key=lambda x: (x>0, -x) if x>0 else (-x, 0))print(sorted_foo)

输出结果:[0, 2, 4, 8, 8, 9, -2, -4, -4, -5, -20]

转载地址:http://wqibz.baihongyu.com/

你可能感兴趣的文章
PHP7实战开发简单CMS内容管理系统(7) 后台登录架构 用户登录校验
查看>>
php7,从phpExcel升级到PhpSpreadsheet
查看>>
PHP8.1 + ThinkPHP实战指南:高效构建现代化网站的六大技巧
查看>>
PHP8中match新语句的操作方法
查看>>
PHP:第一章——PHP中常量和预定义常量
查看>>
PHP:第一章——PHP中的位运算
查看>>
phpcms
查看>>
phpcms 2008 product.php pagesize参数代码注射漏洞
查看>>
phpcms V9 自定义添加 全局变量{DIY_PATH}方法
查看>>
Redis五种核心数据结构的基本使用与应用场景
查看>>
Redis五种数据结构简介
查看>>
PHPCMS多文件上传和上传数量限制
查看>>
phpEnv的PHP集成环境
查看>>
PHPExcel一些基本设置总结
查看>>
phpexcel中文手册
查看>>
PHPExcel导入导出 若在thinkPHP3.2中使用(无论实例还是静态调用(如new classname或classname::function)都必须加反斜杠,因3.2就命名空间,如/c...
查看>>
phpize及其用法
查看>>
phpMailer发送邮件
查看>>
PHPMailer发送邮件
查看>>
phpmailer发送邮件,可以带附件
查看>>