前后端知识库 前后端知识库
首页
    • JavaScript
    • React
    • Vue
  • Python
  • Sanic
  • Linux
  • Ansible
归档
GitHub (opens new window)
首页
    • JavaScript
    • React
    • Vue
  • Python
  • Sanic
  • Linux
  • Ansible
归档
GitHub (opens new window)
  • Sanic

  • Python

    • Python 的动态类型介绍
    • 数字类型
    • Set类型
    • 字符串
    • 列表
    • 元组
    • 通用序列
    • 字典
    • 文件
    • 语句和语法
    • 赋值语句
    • 打印
    • if语句
    • loop循环
    • 迭代器和生成器
    • 文档
    • 函数
    • 作用域
    • 参数
    • 函数的高级特性
    • 模块
    • 模块包
    • 模块高级用法
    • 类 class
    • Python命名空间
    • 运算符重载
    • 类的设计模式
    • 类的高级主题
    • 异常
    • 异常对象
    • Unicode与字节串
    • 管理属性
    • 装饰器
    • 元类
    • 执行细节
  • backend
  • Python
devin
2023-09-09

执行细节

# Python 执行细节

1.Python 脚本执行时,Python 内部会首先将源代码编译成字节码的形式。字节码是平台无关的。

  • 字节码是平台无关的

  • 如果 Python 进程拥有写入权限,则它会将脚本的字节码以一个.pyc为扩展名的文件。当脚本运行后你可以在源代码所在的目录附近看到.pyc文件。

    • 下一次运行脚本时,如果你在上次保存字节码之后没有修改源代码时,Python 会自动加载.pyc文件并跳过编译步骤
  • 如果 Python 进程没有写入权限,则字节码会在内存中生成并在脚本执行结束后抛弃。

  • .pyc文件也是发布 Python 程序的方法之一。此时并不需要提供.py源代码。

    2.字节码由 Python 虚拟机(简称PVM)来解释执行。实际上PVM不是一个独立的程序,它只是迭代运行字节码指令的一个大循环而已,它是 Python 系统的一部分。

编辑 (opens new window)
上次更新: 2023/09/09, 12:09:00
元类

← 元类

Theme by Vdoing | Copyright © 2023-2023 devin | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式