❶ python源代码程序文件扩展名
python源文件后缀是py。
以 py 扩展名的文件是 Python 源码文件,由 python.exe 解释,可在控制台下运行。可用文本编辑器读写。
Python中经常使用的文件后缀名:
pyc
以 pyc 为扩展名的是Python的编译文件。其执行速度快于 py 文件且不能用文本编辑编辑查看。所以 pyc 文件往往代替 py 文件发布。
Python 在执行时,首先会将 py 文件中的源代码编译成 PyCodeObject 写入 pyc 文件,再由虚拟机执行 PyCodeObject。
当 Python 执行 import 时会先寻找对应的 pyc或 pyd(dll)文件,如果没有则将对应的py文件编译写入 pyc 文件。pyc文件也可以通过 python -m py_compile src.py 生成。
pyw
pyw 文件与 pyc 文件相似,但 pyw 执行的时候不会出控制台窗口。开发(纯图形界面程序)时可以暂时把 pyw 改成 py 以调出控制台窗口调试。
pyo
pyo 是优化编译后的程序,不能用文本编辑器编辑。 python -O source.py 即可将源程序编译为 pyo 文件。
pyd
pyd 一般是 Python 外的其他语言如 C/C++ 编写的 Python 扩展模块,即 Python 的一个动态连接库,与 dll 文件相当。在Linux系统中一般为.so文件
❷ 如何查看python源代码
众所周知,Python内建了许多函数模块,并且我们可能还会安装许多第三方模块等等。
下面以getpass为例查看其源代码。
1.help(getpass)
输入该命令找到file路径,并且可以查看其其提供的功能。
2.利用getpass.__file__查看位置
最后找到该文件,用记事本或其他编辑器打开即可。
3.PyCharm编辑器
在该类或方法上按住“ctr+鼠标左键”可以快速查看源代码。
4.dir(对象名)
该方法可以快速查看有哪些方法。
想要查看每个功能的解释,用help(type(对象名))
python学习网,大量的免费python视频教程,欢迎在线学习!
❸ 《Python源码剖析深度探索动态语言核心技术》pdf下载在线阅读,求百度网盘云资源
《Python源码剖析》(陈儒)电子书网盘下载免费在线阅读
资源链接:
链接:https://pan..com/s/1dtk-nY5HtgXS3CIBVHJCRA
书名:Python源码剖析
作者:陈儒
豆瓣评分:8.8
出版社:电子工业出版社
出版年份:2008-6
页数:480
内容简介:
作为主流的动态语言,Python不仅简单易学、移植性好,而且拥有强大丰富的库的支持。此外,Python强大的可扩展性,让开发人员既可以非常容易地利用C/C++编写Python的扩展模块,还能将Python嵌入到C/C++程序中,为自己的系统添加动态扩展和动态编程的能力。.
为了更好地利用Python语言,无论是使用Python语言本身,还是将Python与C/C++交互使用,深刻理解Python的运行原理都是非常重要的。本书以CPython为研究对象,在C代码一级,深入细致地剖析了Python的实现。书中不仅包括了对大量Python内置对象的剖析,更将大量的篇幅用于对Python虚拟机及Python高级特性的剖析。通过此书,读者能够透彻地理解Python中的一般表达式、控制结构、异常机制、类机制、多线程机制、模块的动态加载机制、内存管理机制等核心技术的运行原理,同时,本书所揭示的动态语言的核心技术对于理解其他动态语言,如 Javascript、Ruby等也有较大的参考价值。..
本书适合于Python程序员、动态语言爱好者、C程序员阅读
❹ Python如何解析网页源码里没有的,但在审查
browser = webdriver.Chrome(executable_path=chrome_path)browser.get(url) #这个就是chrome浏览器中的element的内容了browser.find_elements_by_tag_name('td') #获取element中 td下的内容!
❺ python源代码
python在python shell中可以使用help(模块名)来查看模块的源码和其提供的功能;如果使用PyCharm的话,查看模块、类、方法的源码只需要名称上按住“ctr+鼠标左键”可以快速查看源代码。
❻ python object源码怎么看
Python创建模块及模块导入的方法。具体分析如下: python学习手册中写道: 定义模块,只要使用文本编辑器,把一些python代码输入到文本中,然后以.py为后缀名进行保存,任何此类文件都会被认为是python模块。
❼ 初学Python,有哪些 Pythonic 的源码推荐阅读
如果一定要推荐一些 python 的源码去读,我的建议是标准库里关于网络的代码。从 SocketServer 开始,补上 socket
模块的知识,熟悉 TCP/UDP 编程,然后了解 Mixin 机制的最佳示例
SocketServer.{ForkingMixIn|ThreadingMixIn},借这个机会了解 thread/threading
模块,这时会对并发量提出新的要求,就可以读 select 模块,开始对 select/{epoll|kqueue}
有深刻理解,搞懂以后就可以接触一下异步框架 asyncore 和 asynchat。这时开始出现分岔。如果是做 game 等以 TCP/UDP
协议为基础的应用,可以去读 greenlet 和 gevent,如果是做 web,则走下一条路。
做 web,读
BaseHTTPServer、SimpleHTTPServer 和 CGIHTTPServer,读
cgi/cgitb,自己随意写框架,读cookielib,读 wsgiref,这时候自己写一个简便的 web framework 就 so
easy 了,老板再也不担心你写 web 了,选择 flask/web.py/django/pyramid 都心中有数了。因为走的是 web
的路,所以难免要调用一下别人的 api,
❽ python源码解析这本书大家都看了么
1.话说,如果没有一定的基础,以及明确自己的目的。你就是神人,花1小时看完源码,也都是没有意义的。2.就像你如果只是去背单词,看单词表,都看完,但是不懂含义,也是没价值的。3.应该清楚自己要做什么。然后再去找合适的办法,才是解决问题的正常思路。4.单独回答你这个问题则是:从几天,到几个月,或者几年具体多少天,取决于:你本身python的基础想要实现什么目的比如,对于python不熟悉,那可能有些人需要几年,才能完全看懂源码。当然,你要是把python源代码当做单词朗读一样,只是看一眼,那就是另说了。对于Python很熟悉的,只需要很快速的,看各种功能如何实现,找到对应的接口,研究对应的实现机制。则也是时间长短不同。
❾ Python源码剖析的作品目录
第0章 PYTHON源码剖析--编译PYTHON
0.1 PYTHON总体架构
0.2 PYTHON源代码的组织
0.3 WINDOWS环境下编译PYTHON
0.4 UNIX/LINUX环境下编译PYTHON
0.5 修改PYTHON源代码
0.6 通往PYTHON之路
0.7 一些注意事项
第1部分 PYTHON内建对象
第1章 PYTHON对象初探
1.1 PYTHON内的对象
1.1.1 对象机制的基石——PyObject
1.1.2 定长对象和变长对象
1.2 类型对象
1.2.1 对象的创建
1.2.2 对象的行为
1.2.3 类型的类型
1.3 PYTHON对象的多态性
1.4 引用计数
1.5 PYTHON对象的分类
第2章 PYTHON中的整数对象
2.1 初识PYINTOBJECT对象
2.2 PYINTOBJECT对象的创建和维护
2.2.1 对象创建的3种途径
2.2.2 小整数对象
2.2.3 大整数对象
2.2.4 添加和删除
2.2.5 小整数对象池的初始化
2.3 HACK PYINTOBJECT
第3章 PYTHON中的字符串对象
3.1 PYSTRINGOBJECT与PYSTRING_TYPE
3.2 创建PYSTRINGOBJECT对象
3.3 字符串对象的INTERN机制
3.4 字符缓冲池
3.5 PYSTRINGOBJECT效率相关问题
3.6 HACK PYSTRINGOBJECT
第4章 PYTHON中的LIST对象
4.1 PYLISTOBJECT对象
4.2 PYLISTOBJECT对象的创建与维护
4.2.1 创建对象
4.2.2 设置元素
4.2.3 插入元素
4.2.4 删除元素
4.3 PYLISTOBJECT对象缓冲池
4.4 HACK PYLISTOBJECT
第5章 PYTHON中的DICT对象
5.1 散列表概述
5.2 PYDICTOBJECT
5.2.1 关联容器的entry
5.2.2 关联容器的实现
5.3 PYDICTOBJECT的创建和维护
5.3.1 PyDictObject对象创建
5.3.2 PyDictObject中的元素搜索
5.3.3 插入与删除
5.3.4 操作示例
5.4 PYDICTOBJECT对象缓冲池
5.5 HACK PYDICTOBJECT
第6章 最简单的PYTHON模拟——SMALL PYTHON
6.1 SMALL PYTHON
6.2 对象机制
6.3 解释过程
6.4 交互式环境
第2部分 PYTHON虚拟机
第7章 PYTHON的编译结果--CODE对象与PYC文件
7.1 PYTHON程序的执行过程
7.2 PYTHON编译器的编译结果--PYCODEOBJECT对象
7.2.1 PyCodeObject对象与pyc文件
7.2.2 Python源码中的PyCodeObject
7.2.3 pyc文件
7.2.4 在Python中访问PyCodeObject对象
7.3 PYC文件的生成
7.3.1 创建pyc文件的具体过程
7.3.2 向pyc文件写入字符串
7.3.3 一个PyCodeObject,多个PyCodeObject
7.4 PYTHON的字节码
7.5 解析PYC文件
第8章 PYTHON虚拟机框架
8.1 PYTHON虚拟机中的执行环境
8.1.1 Python源码中的PyFrameObject
8.1.2 PyFrameObject中的动态内存空间
8.1.3 在Python中访问PyFrameObject对象
8.2 名字、作用域和名字空间
8.2.1 Python程序的基础结构——mole
8.2.2 约束与名字空间
8.2.3 作用域与名字空间
8.3 PYTHON虚拟机的运行框架
8.4 PYTHON运行时环境初探
第9章 PYTHON虚拟机中的一般表达式
9.1 简单内建对象的创建
9.2 复杂内建对象的创建
9.3 其他一般表达式
9.3.1 符号搜索
9.3.2 数值运算
9.3.3 信息输出
第10章 PYTHON虚拟机中的控制流
10.1 PYTHON虚拟机中的IF控制流
10.1.1 研究对象--if_control.py
10.1.2 比较操作
10.1.3 指令跳跃
10.2 PYTHON虚拟机中的FOR循环控制流
10.2.1 研究对象——for_control.py
10.2.2 循环控制结构的初始化
10.2.3 迭代控制
10.2.4 终止迭代
10.3 PYTHON虚拟机中的WHILE循环控制结构
10.3.1 研究对象——while_control.py
10.3.2 循环终止
10.3.3 循环的正常运转
10.3.4 循环流程改变指令之continue
10.3.5 循环流程改变指令之break
10.4 PYTHON虚拟机中的异常控制流
10.4.1 Python中的异常机制
10.4.2 Python中的异常控制语义结构
第11章 PYTHON虚拟机中的函数机制
11.1 PYFUNCTIONOBJECT对象
11.2 无参函数调用
11.2.1 函数对象的创建
11.2.2 函数调用
11.3 函数执行时的名字空间
11.4 函数参数的实现
11.4.1 参数类别
11.4.2 位置参数的传递
11.4.3 位置参数的访问
11.4.4 位置参数的默认值
11.4.5 扩展位置参数和扩展键参数
11.5 函数中局部变量的访问
11.6 嵌套函数、闭包与DECORATOR
11.6.1 实现闭包的基石
11.6.2 闭包的实现
11.6.3 Decorator
第12章 PYTHON虚拟机中的类机制
12.1 PYTHON中的对象模型
12.1.1 对象间的关系
12.1.2 和
12.2 从TYPE对象到CLASS对象
12.2.1 处理基类和type信息
12.2.2 处理基类列表
12.2.3 填充tp_dict
12.3 用户自定义CLASS
12.3.1 创建class对象
12.4 从CLASS对象到INSTANCE对象
12.5 访问INSTANCE对象中的属性
12.5.1 instance对象中的__dict__
12.5.2 再论descriptor
12.5.3 函数变身
12.5.4 无参函数的调用
12.5.5 带参函数的调用
12.5.6 Bound Method和Unbound Method
12.6 千变万化的DESCRIPTOR
第3部分 PYTHON高级话题
第13章 PYTHON运行环境初始化
13.1 线程环境初始化
13.1.1 线程模型回顾
13.1.2 初始化线程环境
13.2 系统MODULE初始化
13.2.1 创建__builtin__ mole
13.2.2 创建sys mole
13.2.3 创建__main__ mole
13.2.4 设置site-specific的mole的搜索路径
13.3 激活PYTHON虚拟机
13.3.1 交互式运行方式
13.3.2 脚本文件运行方式
13.3.3 启动虚拟机
13.3.4 名字空间
第14章 PYTHON模块的动态加载机制
14.1 IMPORT前奏曲
14.2 PYTHON中IMPORT机制的黑盒探测
14.2.1 标准import
14.2.2 嵌套import
14.2.3 import package
14.2.4 from与import
14.2.5 符号重命名
14.2.6 符号的销毁与重载
14.3 IMPORT机制的实现
14.3.1 解析mole/package树状结构
14.3.2 加载mole/pakcage
14.3.3 from与import
14.4 PYTHON中的IMPORT操作
14.4.1 import mole
14.4.2 import package
14.4.3 from & import
14.4.4 import & as
14.4.5 reload
14.4.6 内建mole:imp
14.5 与MODULE有关的名字空间问题
第15章 PYTHON多线程机制
15.1 GIL与线程调度
15.2 初见PYTHON THREAD
15.3 PYTHON线程的创建
15.3.1 建立多线程环境
15.3.2 创建线程
15.4 PYTHON线程的调度
15.4.1 标准调度
15.4.2 阻塞调度
15.5 PYTHON子线程的销毁
15.6 PYTHON线程的用户级互斥与同步
15.6.1 用户级互斥与同步
15.6.2 Lock对象
15.7 高级线程库——THREADING
15.7.1 Threading Mole概述
15.7.2 Threading的线程同步工具
15.7.3 Threading中的Thread
第16章 PYTHON的内存管理机制
16.1 内存管理架构
16.2 小块空间的内存池
16.2.1 Block
16.2.2 Pool
16.2.3 arena
16.2.4 内存池
16.3 循环引用的垃圾收集
16.3.1 引用计数与垃圾收集
16.3.2 三色标记模型
16.4 PYTHON中的垃圾收集
16.4.1 可收集对象链表
16.4.2 分代的垃圾收集
16.4.3 Python中的标记-清除方法
16.4.4 垃圾收集全景
16.4.5 Python中的gc模块
16.4.6 总结