Python
文章平均质量分 70
黑白里温柔地爱彩色,在色彩里朝圣黑白。
oyu~
这个作者很懒,什么都没留下…
展开
-
内存分区情况
内存是存储数据的,不同类型的数据要存储在不同的区域,即分类存放,不同的区域作用和功能也不一样。就像你家里的衣柜一样,也分了不同的区域:如挂西装的区域,放袜子的区域等等,我相信每个人都会把这两个东西放在不同的区域。要不然,当你西装革履地参加一个高档的宴会,手塞在裤兜里,掏出来一只臭袜子,是不是很尴尬!以下为内存的分区图。内存分为四个区域:栈区(堆栈),堆区,全局静态区,只读区(常量区和代码区)。任何编程语言的内存分区几乎都是一样的。原创 2023-03-02 21:34:28 · 106 阅读 · 0 评论 -
理解 Python 的执行方式,与字节码 bytecode 玩耍 (下)
因为可以节省编译时间,有篇非常详细的文章,作者在遗传编程领域工作,发现他们Python 程序的总运算时间中,有50%都被编译过程吃掉。写了怎么抽丝剥茧,顺着function object 找 code object,再找 bytecode,这里就完全倒过来,添枝加叶,逆流而上了。正常的办法,你可以找出124代表的opcode是 LOAD_FAST, 100代表 LOAD_CONST。看起来好像很神秘的样子,其实不过是源代码中的行号。注意这些 opcode 是给弱弱的人类看的,不是给机器看的,机器只要看。.原创 2022-08-15 19:03:20 · 157 阅读 · 0 评论 -
理解 Python 的执行方式,与字节码 bytecode 玩耍 (上)
这其实只是Python 在显示 bytes 类型的对象给你看的时候,会把ASCII 码范围内的十六进制元素直接用ASCII 字符显示出来。注意: Python 3 中 str 类型大致相当于 Python 2 中的unicode 类型,但是 Python 3 中 bytes 类型并不是Python 2 中的 str 类型改了个名字。由8个整数组成,可能你已经猜到,其中必定有一些代表着指令,整数是一个字典中的键,我们需要的是这个字典中的值,也就是指令的名字。它的类型是‘bytes’ ,长度是8。......原创 2022-08-15 18:51:38 · 180 阅读 · 0 评论 -
python解释器
CPython是特指C语言实现的Python,就是原汁原味的Python。之所以使用CPython这个词,是因为Python还有一些其它的实现,比如Jython,就是Java版的Python,还有烧脑的PyPy,使用Python再把Python实现了一遍。如下是官方对CPython的说明:这个页面对Python各种不同的实现有一个说明:当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。...原创 2022-08-14 19:33:57 · 215 阅读 · 0 评论 -
lambda表达式
lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。lambda所表示的匿名函数的内容应该是很简单的,如果复杂的话,干脆就重新定义一个函数了,使用lambda就有点过于执拗了。lambda就是用来定义一个匿名函数的,如果还要给他绑定一个名字的话,就会显得有点画蛇添足,通常是直接使用lambda函数。如下所示:add(1,2) # 结果为3那么到底要如何使用lambda表达式呢?1、应用在函数式编程中。原创 2022-10-06 23:51:37 · 391 阅读 · 2 评论