随笔分类 -  python源码分析

python中function使用class调用和使用对象调用的区别
摘要:# 问题 在python中,class中函数的定义中有一个特殊的self指针,如果一个函数有一个self参数,通常意味着这是一个非静态函数,也就是调用的时候第一个参数是对象指针,只是这个指针是调用这个函数时由python来自动填充。 ```py tsecer@harry: cat cls_mth.p 阅读全文

posted @ 2023-08-14 19:10 tsecer 阅读(29) 评论(0) 推荐(0) 编辑

python中module内全局变量的局部性
摘要:# 问题 python中的模块主要通过import实现。一个常见的典型场景是在A模块import模块B的func,并调用B模块的func;而B模块的func又引用了所在模块B的gvar变量。这个过程中A其实只import了模块B的func函数,在A模块调用B模块的func时,func函数能不忘初心, 阅读全文

posted @ 2023-08-10 17:55 tsecer 阅读(54) 评论(0) 推荐(0) 编辑

Python如何实现docstring
摘要:# doc Python语言从排版上看强制要求了一些书写规范,算是强制赋予了每个程序员一个"代码洁癖"。作为规范的一部分,可以在在类函数的开始增加注释,并且语言本身为这种注释做了"背书":可以通过help展示这个帮助文档的内容。 这个本来是Python一个很细小的功能,也是一个很有意思的语法糖(因为 阅读全文

posted @ 2023-07-06 17:51 tsecer 阅读(139) 评论(0) 推荐(0) 编辑

python语法中的左值、右值和字符
摘要:位置决定语义 在下面的python代码中,忽略掉语法错误,源码中同样一个单词tsecer在不同的位置有不同的意义 import之后 在import之后的tsecer是作为一个简单的字面字符串来处理:这里的意思是这个tsecer不会有任何变量(及相关展开)的意义,它更类似于C语言中的字符串,也就是字面 阅读全文

posted @ 2022-12-09 20:34 tsecer 阅读(303) 评论(0) 推荐(0) 编辑

python为什么需要符号表
摘要:一、问题 从python的源代码可以看到,python中有符号表(symtable.c)相关代码。但是作为一种动态语言,它为什么需要符号表呢?猜测可能有下面的原因: 1、词法去重 对于重复出现的变量名,在生成字节码的时候使用相同的字符串。例如x = x + 1x出现了两次,有了符号表,在生成的字节码 阅读全文

posted @ 2022-01-13 20:04 tsecer 阅读(267) 评论(0) 推荐(0) 编辑

从generator的send接口参数看python的异步机制
摘要:协程是高并发环境下的一个重要需求,它的核心实现基础是执行上下文的挂起和恢复。由于python是一种解释性语言,它的每个函数调用都是基于独立的栈帧完成,所以天生对于协程的支持天然友好。事实上,这种挂起/恢复不仅可以用于异步,而且还可以用于迭代器的实现。 下面结合生成器/协程对象的send接口中参数的意义来看下python对于协程的实现基础。 阅读全文

posted @ 2019-02-22 17:13 tsecer 阅读(368) 评论(0) 推荐(0) 编辑

python中class成员函数使用的descriptor原因
摘要:作为一个相对精细的语言,python中可以定义class,这是python座位高级语言的一个重要特性,也是python语法中非常有意思的功能。但是这个class和c++/java之类的高级语言存在很大差别,在整个实现机制上来看也是一种相对另类的实现。这里主要看下python中对于一个类方法的实现。 阅读全文

posted @ 2019-02-20 17:31 tsecer 阅读(381) 评论(0) 推荐(0) 编辑

从函数内函数定义看python的函数实现
摘要:在C/C++中,函数的定义和调用由编译器和链接器完成;而python中函数定义和调用都是在运行时执行,这就意味着函数定义也需要有对应的python指令。 当一个函数定义包含在另一个函数中,外层还输被调用,内层函数定义对应的指令会被再次执行,这个执行会生成一个新的function对象还是复用之前可能已经存在的函数定义? 阅读全文

posted @ 2019-02-15 11:39 tsecer 阅读(797) 评论(0) 推荐(0) 编辑

python中closure实现大致流程
摘要:python是动态语言的一个很意思的特性,特别是对于从C++程序员来说。之前在看lua的实现时大致看过其实现原理,现在再结合python这个相对于lua来说重量级的语言来看下closure如何实现 阅读全文

posted @ 2018-11-30 17:20 tsecer 阅读(440) 评论(0) 推荐(0) 编辑

python中对象self的由来
摘要:在python中,类是一个大型项目中必不可少的特性,它是用户定制结构的基础,用户可以通过该功能来进行模块化,进而组合出大型软件项目。在类的接口实现中,self又是一个出现频率极高的概念,而它的实现对于理解python解释器也是一个必要门槛。 阅读全文

posted @ 2018-11-28 18:15 tsecer 阅读(558) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示