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

回答被采纳 自定义迭代器中__iter__里面必须return 自身吗?

自定义迭代器de def __iter__(self): # 返回自身的迭代器 return self 中__iter__里面必须return 自身吗
1
回答数

回答被采纳 print(iter(map))和print(hasattr(map,"__iter__"))为什么结果不一致

print(iter(map)) # 报错:TypeError: 'type' object is not iterableprint(hasattr(map, "__iter__")) # True
1
回答数

回答被采纳 条件表达式必须有else,那么lambda n: [i for i in range(n) if i % 2] 这个为啥可以,只有一个if,没有else

条件表达式必须有else,那么lambda n: [i for i in range(n) if i % 2] 这个为啥可以,只有一个if,没有else 这是列表推导式,“一行代码里,把原序列按规则过
1
回答数

回答被采纳 map(func, iterable, *iterables)

func 要调用的函数(或任何可调用对象)。 iterable 可迭代对象(列表、元组、字符串、生成器……)。 可以一次给多个可迭代对象,func 必须接受对应个数的参数。
1
回答数

回答被采纳 有哪些字节码指令是存入到符号表,哪些是存入到命名空间的

先把两个概念再钉死一次: 符号表(co_names、co_varnames、co_cellvars …)只读、编译期冻结,运行期没有任何字节码能写它。 命名空间(模块 dict、函数 fastloca
1
回答数

回答被采纳 符号表存的是字符串,怎么关联到运行期间local和global的字典,这两个字典运行期间才有啊,符号表是在编译期生成,怎么能关联到运行期间的命名空间?

符号表存的是字符串,怎么关联到运行期间local和global的字典,这两个字典运行期间才有啊,符号表是在编译期生成,怎么能关联到运行期间的命名空间?
1
回答数

回答被采纳 python有没有Interface,abstract clas类型

list、tuple、dict 等没有直接继承 Iterable, 它们通过实现 __iter__() 方法来实现 Iterable 接口 java有Interface这种类型,class去imple
1
回答数

回答被采纳 Iterable(可迭代对象)和 Iterator(迭代器),为什么不用更具体的 list[str]

Iterable "我是可以被遍历的"。它是一个容器,实现了 __iter__() 方法,该方法返回一个迭代器。 Iterator "我负责具体的遍历工作"。它是一个有状态的对象,实现了 __next
1
回答数

回答被采纳 python的注释

C:\Python313\Lib\typing.py typing.py 文件是 Python 标准库中的核心模块,它提供了实现类型注解(包括你之前问的 Iterable[str] 和 -> 返回值注
1
回答数

回答被采纳 这个f对象,encoding底层是怎么取值的,这个TextIOWrapper 干啥用的

with open("a.txt","r") as f: print(f) <_io.TextIOWrapper name='a.txt' mode='r' encoding='cp936'> 显示c
1
回答数

回答被采纳 捡起c的指针

int x = 5; // ① 申请一个盒子,贴标签 x,里面写数字 5int *p = &x; // ② 申请第二个盒子,贴标签 p // 把“盒子 x 的门牌号”抄到 p 里 Python 和 J
1
回答数

回答被采纳 Java,c语言要求数组中元素数据类型必须相同,而python不要求

是不是c,java语言有缺陷未考虑这点,脚本语言都这样吗js,shell,go 这和python标签对应变量名有关吗
1
回答数

回答被采纳 print() 的底层流程(CPython 伪代码)

# 简化版def print(*args, sep=' ', end='\n', file=sys.stdout, flush=False): text = sep.join(str(arg) for
1
回答数

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

回答被采纳 多个文件对象,如何交叉打印文件和正常打印文件

多个文件对象,如何交叉打印文件和正常打印文件
1
回答数

回答被采纳 字典为什么称为对象

为什么字典被称为对象:Python 的万物皆对象哲学
1
回答数

回答被采纳 with在遍历上面多个文件对象,是最少文件行数的文件读完自动关闭文件对象吗

with在遍历上面多个文件对象,用zip,或者itertools.zip_longest(),也是等最少文件行数读完自动关闭文件对象吗