主题
Python基础
更换pip源
平台 | 配置文件路径 |
---|---|
Windows | %APPDATA%\pip\pip.ini |
Linux | ~/.pip/pip.conf |
配置文件内容:
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host=pypi.tuna.tsinghua.edu.cn
相关文件介绍
文件 | 描述 |
---|---|
.py | Python源文件 |
.pyw | Windows平台的窗口化脚本文件,运行时不显示命令行窗口,与.py 类似,但通过pythonw.exe执行 |
.pyc | Python字节码文件,其执行速度快于py 文件,容易被反编译。使用python自带的模块compileall可以手动生成pyc文件。 |
.pyd | 通常是C/C++编写的Python扩展模块,类似windows下的dll文件,可直接在python源码中import使用。几乎不可能被反编译。 |
.pyi | Python类型提示文件,用于提供静态类型信息。 |
.pyx | 基于Cython写的源码文件 |
Cython和CPython不是同一个东东:Cython是一种编程语言,而CPython是python基于C语言写的解释器,还有基于Java写的解释器Jython。
解释器
Python程序运行时不需要编译成机器码,Python解释器将源码转换为字节码,然后再由解释器来执行这些字节码(将字节码直译为机器码运行):
- 完成模块的加载和链接。
- 将源代码转换为PyCodeObject对象(即字节码),写入内存中。
- 从内存中读取并由解释器直译后执行,结束后将PyCodeObject写回硬盘当中,也就是复制到
__pycacahe__
文件夹里面的.pyc
文件中,以保存当前目录下所有脚本的字节码文件。 - 再次运行代码时检查
__pycacahe__
文件夹里面的文件是否发生改变,没有就直接运行这里面保存的字节码,否则重复上面的步骤。
全局解释器锁GIL导致Python的多线程不能占用多核。因此,CPU密集型计算应该使用多进程来利用多个核;IO密集型任务(如网络请求)可使用多线程或协程。