首页 新闻 会员 周边 捐助
0
回答数

已关闭问题 读取文件怎么处理换行符

with open('file.txt', 'r') as f: line = f.readline() # 读取一行,包含行末的换行符 lines = f.readlines() # 读取所有行,每
1
回答数

已关闭问题 怎么没有调用__repr__

class MyException(Exception): def __init__(self, line, file): self.line = line self.file = file def
1
回答数

回答被采纳 Python 内置函数 compile() 的第一个参数 mode 的取值说明

The mode must be 'exec' to compile a module, 'single' to compile a single (interactive) statement, o
1
回答数

已关闭问题 __str__和str() __repr__和repr()区别

str(x) / repr(x) 是 Python 解释器提供的内置函数,永远可用,它们内部会去调用对象的方法 __str__ / __repr__ 是你 在类里定义的特殊方法,决定当对象被 str(
1
回答数

已关闭问题 符号表(code object 的属性) 和 命名空间(namespace) 是两个完全不同的概念

1. 符号表:编译时的 “静态清单” 符号表是 Python 代码在编译阶段生成的 静态信息集合,主要存储在代码对象(code object)的一系列属性中,包括: co_names:非局部变量 /
1
回答数

已关闭问题 with/contextlib是环境管理器,这个环境管理器是专业叫法 ,锁也属于环境管理器?

with/contextlib是环境管理器,这个环境管理器是专业叫法 ,锁也属于环境管理器?
1
回答数

已关闭问题 with/contextlib是环境管理器,这个环境管理器是专业叫法 ,锁也属于环境管理器?

with/contextlib是环境管理器,这个环境管理器是专业叫法 ,锁也属于环境管理器?
1
回答数

回答被采纳 python哪些对象没有__dict__属性

在 Python 中,__dict__ 属性用于存储对象的可写属性,但并非所有对象都有这个属性
1
回答数

已关闭问题 build.__build_class__和Type类有啥关系,创建类

build.__build_class__和Type类有啥关系,创建类
1
回答数

已关闭问题 类字节码多个这个?

Class Score: def __init___(self,name): self.name = name 反编译后看到的字节码指令是: LOAD_BUILD_CLASS LOAD_CONST c
1
回答数

已关闭问题 怎么看MAKE_FUNCTION干了啥,字节码指令

MAKE_FUNCTION 本身 只有一条字节码指令,它真正的“工作”是 一次性把栈顶若干个元素打包成函数对象,因此 反编译时看不到额外指令;要观察它“吃了什么、吐了什么”,只需看 执行前后栈的变化。
1
回答数

回答被采纳 类也用MAKE_FUNCTION ,CALL_FUNCTION这是为啥,类也能执行?

伪代码版:把“定义类”拆成 3 步,一目了然。 Python 复制 # 编译阶段 class_body_code = compile(""" print('aaa') x = 1 def foo(se
0
回答数

已关闭问题 为什么字节码“先 MAKE_FUNCTION,再 CALL_FUNCTION” 是 Python 中 “定义并执行” 的标准两步

把“定义”和“执行”拆成两步就明白了: 定义阶段(MAKE_FUNCTION) 把一段字节码包装成 可调用的函数对象(带名字、作用域、默认参数等), 相当于 C/Java 里的“把函数体编译好并放入符
1
回答数

回答被采纳 字节码里面都是LOAD_CONST,没看到STORE_CONST

常量表只读,因此字节码只有“加载常量”指令,没有“存储常量”指令。 STORE_NAME 与常量无关,它把 变量名 → 值 绑定写入 当前作用域的名字表(locals/globals),而不是向常量表
1
回答数

回答被采纳 编译过程的“递归”本质是按代码块层级逐步深入处理

模块代码块(开始编译) ├─ 解析模块级语句(如x=10,直接生成字节码) ├─ 遇到class MyClass:(生成类code object外壳,暂不处理类体) │ └─ 类代码块(搁置,等待模块
1
回答数

已关闭问题 property递归引用,自定义描述符正常

class Student(): def init(self, stuid, name, score1, score2, score3): self.stuid = stuid self.name =
1
回答数

回答被采纳 __code__是函数对象,和compile生成函数对象区别

__code__仅仅是函数和方法的代码对象 相同点:都是代码对象
1
回答数
1
回答数

回答被采纳 为什么反编译得字节码没有看不到类中这行指令?

from weakref import WeakKeyDictionary class Score(): """ score should in [0,100] """ def __init__(se
1
回答数

已关闭问题 single to compile a single(interactive) statement, or eval to compile an expression

这是 compile() 内置函数的第三个参数 mode 的可选值,决定“把源码编译成什么类型的代码对象”: mode 含义 典型用途 'single' 单条交互式语句 REPL 里敲的一行,如 >>
1
回答数

已关闭问题 编译过程对用户是透明的对吗

. 对最终用户(End User)来说: 是的,通常是透明的。 • 最终用户运行的是已经编译好的可执行文件(如 .exe、.apk、.dmg 等),他们不需要关心程序是如何从源代码编译成可执行文件的。
1
回答数

已关闭问题 为什么叫签名,怎么编程语言也有签名,签名一般不都是安全密码领域的名词吗

为什么叫签名,怎么编程语言也有签名,签名一般不都是安全密码领域的名词吗
0
回答数

已关闭问题 15 验证:普通字典和 WeakKeyDictionary的引用区别,怎么验证?

引用强度: 普通字典:对键保持强引用,阻止垃圾回收 WeakKeyDictionary:对键保持弱引用,不阻止垃圾回收 Java 把引用当“安全指针”用; Python 把引用当“名字标签”用,标签背
1
回答数

回答被采纳 WeakKeyDictionary 与普通字典的区别

键必须是可哈希对象:与普通字典一样,键必须是可哈希的,键必须是可哈希的什么意思,可哈希就可以当键?普通字典形成对比,普通字典对其键保持强引用,会阻止键对象被垃圾回收,能举个例子比较下,弱引用和强引用直
1
回答数

已关闭问题 WeakKeyDictionary类型作用?

实际工作中能用到吗? 是的,WeakKeyDictionary除了描述符作用,WeakKeyDictionary还可以用于缓存、观察者模式等场景,其中我们不想因为我们的缓存或注册表而阻止对象被回收。