python学习---第一天
来源:互联网 发布:用java编写验证码 编辑:程序博客网 时间:2024/06/03 11:49
在下这厢有礼了
书名:Python源码剖析 作者:陈儒
本书试用于Python程序员,动态语言爱好者,C程序员
Python是通过C语言完成的,因此对C程序员有很大帮助(作者说的,俺没说),线程库介绍;
第0章 学习总结
python 整体架构可以分为三个主要部分,File Groups,Python core,Runtime Environment
File Groups:core Modules; Library; user-defined Module;
Python core:INTERPRETER (解释器)(Scanner-Parser-Compiler-Code Evauator)
Runtime Environment:Object/Type structures(对象/类型系统);Memory Allocator(内存分配器);Current State of Python(运行时状态信息);
要求:
获得Python源码:官网http://www.python.org
源码介绍
Python源码剖析的三个部分:
1.Python内建对象,包括整数,字符串,list and dict。细致分析对象在C一级是如何被构建起来
2.Python虚拟机,虚拟机上各种表达式,控制流,异常机制,函数机制及类机制
3.Python高级话题,运行环境的初始化,动态加载机制,多线程机制和内存管理机制
开始
PyString_FromString()in stringobject.c
op=(PyStringObject *)PyObject_MALLOC(sizeof(PyStringObject)*Size);
等效于:
PyStringObject* op=(PyString*)malloc(sizeof(PyStringObject)+size);
C语言分配字符串内存大小
PyList_New() in listobject.c
op=PyObject_GC_New(PyListObject,&PyList_Type);
等效于:
PyListObject* op=new PyList_Type();
C++分配内存大小
op->ob_item = (PyObject **)PyMem_MALLOC(nbytes);
等效于:
op->ob_item = (PyObject **)malloc(nByte);
意思是:深色处表示内存块,箭头表示指针。
第一天任务完成
- 学习python第一天
- Python 学习第一天
- Python学习第一天
- Python学习第一天
- 学习python第一天
- Python学习-第一天
- python学习第一天
- 第一天学习python
- 学习python第一天
- python学习第一天
- Python学习第一天
- Python学习第一天
- Python学习第一天
- 第一天学习python
- python--学习第一天
- Python 学习 第一天
- 【学习Python】第一天
- python 学习第一天
- class not found 或no class defined终结者
- windows 启动关闭oracle服务bat脚本
- 通过nfs挂载的文件系统不能进控制台
- 一个有趣的一一配对问题
- loadRunner12.02社区版
- python学习---第一天
- H
- JS之字符串操作
- Android 内存问题与优化避免
- Linux-apache阿帕奇
- leetCode-Move Zeroes
- 程序员:把爱写进程序
- JAVA 大小写互换
- SSH框架上传附件及下载功能的实现