Skip to content

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

相关文件介绍

文件描述
.pyPython源文件
.pywWindows平台的窗口化脚本文件,运行时不显示命令行窗口,与.py类似,但通过pythonw.exe执行
.pycPython字节码文件,其执行速度快于py文件,容易被反编译。使用python自带的模块compileall可以手动生成pyc文件。
.pyd通常是C/C++编写的Python扩展模块,类似windows下的dll文件,可直接在python源码中import使用。几乎不可能被反编译。
.pyiPython类型提示文件,用于提供静态类型信息。
.pyx基于Cython写的源码文件

Cython和CPython不是同一个东东:Cython是一种编程语言,而CPython是python基于C语言写的解释器,还有基于Java写的解释器Jython。

解释器

Python程序运行时不需要编译成机器码,Python解释器将源码转换为字节码,然后再由解释器来执行这些字节码(将字节码直译为机器码运行):

  1. 完成模块的加载和链接。
  2. 将源代码转换为PyCodeObject对象(即字节码),写入内存中。
  3. 从内存中读取并由解释器直译后执行,结束后将PyCodeObject写回硬盘当中,也就是复制到__pycacahe__文件夹里面的.pyc文件中,以保存当前目录下所有脚本的字节码文件。
  4. 再次运行代码时检查__pycacahe__文件夹里面的文件是否发生改变,没有就直接运行这里面保存的字节码,否则重复上面的步骤。

全局解释器锁GIL导致Python的多线程不能占用多核。因此,CPU密集型计算应该使用多进程来利用多个核;IO密集型任务(如网络请求)可使用多线程或协程

数据类型

面向对象

封装

继承

多态