python-internals 相关问题

Python如何在幕后工作?用于与(例如)所做出的设计决策以及所使用的内部数据结构和算法相关的问题。

使用 sys.settrace 可以完成哪些很酷的技巧?

我喜欢能够使用 settrace 修改发送到函数的参数,例如: 导入系统 def trace_func(帧,事件,arg): 值=frame.f_locals[“a”] 如果值 %2 == 0: ...

回答 8 投票 0

为什么我的Python线程会阻塞主线程,除非我添加打印或睡眠?

有谁知道为什么运行此代码会导致脚本挂在线程中,除非我取消注释 print、sleep 或“if”条件,或者删除 try/ except?我的理解是

回答 1 投票 0

为什么Python的递归限制会根据函数的不同而变化?

当我注意到Python的递归限制似乎并不同样适用于所有函数时,我正在测试一些东西。我不确定为什么或如何,也找不到任何解释此行为的文档......

回答 1 投票 0

为什么这里的 set.remove 这么慢?

(摘自另一个问题。)像这样一个一个地删除这个集合的 200,000 个元素需要 30 秒(在线尝试!): s = 设置(范围(200000)) 而 s: 对于 s 中的 x: 删除...

回答 1 投票 0

为什么向 Web 套接字发送消息不会让出对事件循环的控制?

考虑以下代码: 主程序 导入异步 导入网络套接字 异步定义回显(网络套接字): websocket 中消息的异步: 等待 websocket.send(消息) 打印(消息) 一个...

回答 1 投票 0

“del”到底是做什么的?

这是我的代码: 从 memory_profiler 导入配置文件 @轮廓 def mess_with_memory(): huge_list = 范围(20000000) 删除 huge_list 打印“为什么这个 kolaveri di?” 这就是输出...

回答 1 投票 0

为什么co_varnames不返回所有变量名的列表?

为什么下面的代码段的结果不一样? def Foo(): i = 0 def Bar(): nonlocal i i = 1 return Bar() print(Foo.__code__.co_varnames) # 它会打印。('Bar',) def Foo(): i = 0 ...

回答 1 投票 2

Python的代码对象的类型是什么?

有没有一种方法可以让我比较到由编译或__code__构造的代码对象的类型与实际的代码对象类型?这样做很好:>>> code_obj = compile("print('foo')", '

回答 1 投票 1

为什么类的主体在定义时被执行?

与函数相反,类的主体在定义时执行:类A(对象):打印'hello'出:你好为什么会这样?它与@classmethod / @staticmethod方法和...

回答 2 投票 17

为什么这些常数函数的性能会有所不同?

在以下代码段中,为什么py_sqrt2的速度几乎是np_sqrt2的两倍?从时间从numpy导入sqrt作为npsqrt的导入时间开始从数学导入sqrt作为pysqrt的导入时间开始NP_SQRT2 = npsqrt(2.0)PY_SQRT2 = ...

回答 2 投票 0

为什么这些常数函数具有不同的性能?

在以下代码段中,为什么py_sqrt2的速度几乎是np_sqrt2的两倍?从时间从numpy导入sqrt作为npsqrt的导入时间开始从数学导入sqrt作为pysqrt的导入时间开始NP_SQRT2 = npsqrt(2.0)PY_SQRT2 = ...

回答 1 投票 0

Pyhton中的自定义IDE兼容静态类型

为了更好的设计和OOP,我想创建一个自定义IDE兼容的静态类型。例如,考虑以下理想化的类:类IntOrIntString(Union [int,str]):@ ...

回答 1 投票 1

如何在CPython中实现变量赋值?

我知道Python中的变量实际上只是对某些基础对象的引用/指针。而且由于它们是指针,所以我猜它们会以某种方式“存储”或与地址相关联...

回答 1 投票 2

为什么在迭代时添加到集合中并从集合中删除,为什么会有这么多迭代?

试图了解Python for循环。我认为这将使结果{1}进行一次迭代,或者只是陷入无限循环,具体取决于它是否像C语言或其他语言那样进行迭代。 ...

回答 4 投票 23

为什么要添加到要迭代的集合中并从中删除,为什么会有这么多迭代?

试图了解Python for循环。我认为这将使结果{1}进行一次迭代,或者只是陷入无限循环,具体取决于它是否像C语言或其他语言那样进行迭代。 ...

回答 4 投票 21

如何在类方法中设置__class__单元格的值?

查看Python 3.5中的超级类型文档,它注意到super(…)与super(__ class__,«函数的第一个参数»)相同。令我惊讶的是,我写了一个返回...

回答 1 投票 2

如何在函数中设置__class__单元格的值?

查看Python 3.5中的超级类型文档,它注意到super(…)与super(__ class__,«函数的第一个参数»)相同。令我惊讶的是,我写了一个返回...

回答 1 投票 3

为什么集合对象存储为冻结集,列表对象存储为元组?

[我看到了一篇博客文章,其中提到“使用func .__ code __。co_consts检查函数中定义的所有常量”。 def func():在{1,2,3} func .__ code __。co_consts中返回1(None,1,...

回答 2 投票 3

为什么集合对象存储为Frozenset,列表对象存储为元组

[我看到了一篇博客文章,其中提到“使用func .__ code __。co_consts检查函数中定义的所有常量”。 def func():在{1,2,3} func .__ code __。co_consts中返回1(None,1,...

回答 2 投票 2

是什么导致[* a]整体化?

显然,list(a)不会汇总,[a中的x表示x]在某些点上累计,而[* a]一直都汇总?这是从0到12的大小n,三个字节的结果大小(以字节为单位)...

回答 2 投票 12

© www.soinside.com 2019 - 2024. All rights reserved.