博客
关于我
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/

你可能感兴趣的文章
python | lxml,一个超酷的 关于XML/HTML 文档 Python 库!
查看>>
python | mplfinance,一个有趣的金融数据可视化 Python 库!
查看>>
python | nipy,一个强大的关于 神经影像数据分析 的Python 库!
查看>>
python | NLTK,一个强大的 自然语言处理 Python 库!
查看>>
python | nupic,一个强大的 处理时间序列的Python 库!
查看>>
python | orange3,一个神奇的 Python 库!
查看>>
python | pdfminer,一个神奇的 关于PDF 文件的 Python 库!
查看>>
python | pendulum,一个有趣的 日期和时间 Python 库!
查看>>
python | pluginbase,一个神奇的 关于插件框架 的Python 库!
查看>>
python | ply,一个无敌的 词法和语法分析工具 的Python 库!
查看>>
python | py2exe,一个超酷的 Python 库!
查看>>
python | pyautogui,一个超酷的 Python 库!
查看>>
python | pybaobabdt,一个超强的 决策树可视化 Python 库!
查看>>
python | pycco,一个神奇的 Python 库!
查看>>
python | pyg2plot,一个有趣的 数据可视化 Python 库!
查看>>
python | pymc,一个超强的 Python 库!
查看>>
python | pynsist,一个强大的 Python 库!
查看>>
python | pyparsing,一个强大的 Python 库!
查看>>
python | pyqtgraph,一个神奇的 Python 库!
查看>>
python读取文本文件数据
查看>>