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

已关闭问题 为什么打印(1,2) (3,7) (1,2) (5,9)

z = zip([1, 3, 5], [2, 7, 9]) for x in z: # 外层 for y in z: # 内层(跟外层共用同一个 zip 迭代器) print(x, y, end='
1
回答数

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

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

已关闭问题 Python 字符串的所有方法都是返回新字符串(副本)的,不限于str.replace

因为字符串是不可变类型 —— 任何看似 “修改” 字符串的操作,本质上都必须创建新对象。
1
回答数

已关闭问题 Unicode 兼容 ASCII,ASCII 值恰好等于 Unicode 中对应字符的码位编号

Unicode 兼容 ASCII,ASCII 值恰好等于 Unicode 中对应字符的码位编号
0
回答数

已关闭问题 列表推导式中的变量和形参列表为什么不能重名,而可以和条件表达式重名

在 列表推导式 里,for x in ... 中的 x 只是 “循环变量”,它依次取迭代对象里的 每个元素,只在推导式内部有效。 在 条件表达式(三元运算符)... if x > 0 else ...
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 这是列表推导式,“一行代码里,把原序列按规则过
0
回答数

已关闭问题 凡是“表达式”(expression)就可以出现在 lambda 的冒号右侧

能写: 类别例子能否放进 lambda 比较运算符 x == 3, x in s ✅ 逻辑运算符 x and y, not z ✅ 条件表达式(三元) x if x > 0 else 0 ✅ 短路求值
1
回答数

已关闭问题 lambda表达式有个清晰的结构

(lambda x: x > 0)就是lambda x: return x>0 ,冒号前面是形参,冒号后面少了隐形的return
1
回答数

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

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

已关闭问题 list( map(str.upper,"abcd") ) ['A', 'B', 'C', 'D'] ?

它是一个字符串,但在 Python 中,字符串是可迭代的,就像列表一样 这是字符串的一个方法,它的作用是把字符转换成大写: "a".upper() # → 'A' str 是一个类(builtins.
1
回答数

已关闭问题 为什么基本数据类型本身就是类啊,java的8中基本数据类型好像没有类的说法

Python 把“数据”和“行为”统一成对象模型,所以“基本数据”就是类;而 Java 把“值”和“对象”分裂成两套体系,因此有了“基本类型 vs 包装类”的区别。 Python 的“一切皆对象”哲学
1
回答数

已关闭问题 Python 中,条件表达式(即 x if condition else y)必须有 else 部分

lst = map(lambda x: 2*x if x>3,[1,2,3,4,5]) 为什么报语法错误
1
回答数

已关闭问题 enumerate和enum区别?

Enum是 "名词"(一种数据类型),而enumerate()是 "动词"(一个操作工具) enumerate()函数:这是 Python 的内置工具函数,用于在遍历可迭代对象时同时获取元素的索引和值
1
回答数

已关闭问题 filter与map区别?

>>> list(map(lambda x: x > 0, [-2, -1, 0, 1, 2]))[False, False, False, True, True] nums = [-2, -1, 0
1
回答数

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

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

已关闭问题 编译期生成的字节码能重新绑定运行期间的对象?这能在字节码里面体现出来,有指令重新绑定过程?

@contextmanager def timer(): start = time.time() yield end = time.time() print(end-start) 这个编译成字节码对象
1
回答数

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

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

已关闭问题 java引用类型和基本类型

. 与“基本类型”对比• 基本类型(8 个):byte, short, int, long, float, double, char, boolean• 引用类型:除了上述 8 个之外的所有类型 ◦
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
回答数

已关闭问题 ide上的编码文件的编码

locale.getpreferredencoding(False) 是 Python 中用于获取系统首选编码的函数,其返回值通常与系统的区域设置(locale)相关 为什么上面 ith open("
1
回答数

已关闭问题 为什么没有语言就序列化成其他的符号表,所有语言内存中都存的unicode码位表

所有语言在内存里都用 Unicode”并不是谁拍脑袋的规定,而是二十多年踩坑、博弈、统一后的结果。下面把“为什么最终没有其他符号表”拆成四个层面讲清: 1 历史层面:先有万国码,后有“大一统” 199
1
回答数

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

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

已关闭问题 Python 在语义上是 100 % 纯面向对象,Java 在语义上是“混合模型”

Python 在语义上是 100 % 纯面向对象: 一切皆对象(包括字面量 42、True、len 本身)。 所有对象都有身份(id)、类型(type)、值(value),都能接收消息(方法调用)。