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

已关闭问题 类属性/方法共享,实例属离 —— 这是 Python 对象模型的设计初衷

类属性/方法共享,实例属离 —— 这是 Python 对象模型的设计初衷。真的吗,对吗,官网有说吗 1. 实例属性只存在于该实例的 __dict__(或 __slots__),类字典里永远看不到 官
1
回答数

回答被采纳 BNF/语法手册

BNF = Backus–Naur Form(巴科斯-瑙尔范式)1960 年为 ALGOL 60 设计,现在几乎所有语言规范都用它(或扩展版 EBNF)来描述“语法长什么样”。 核心记号就三个: ::
0
回答数

已关闭问题 python中私有不能访问是指什么

Python 的“私有”并不是真正禁止访问,而是靠名字改写(name mangling) 实现的一种伪私有机制。一句话:底层名字被偷偷改了,导致“按原名字”找不到而已。 改写规则在类体里写任何以 双下
1
回答数

回答被采纳 实例属性能继承?

fo = open("PY301-2.txt","w") class Horse(): def __init__(self, category, gender, age): self.category
1
回答数

已关闭问题 Python 里: 任何非零整数(包括负数)都当作 True 只有整数 0 被当作 False

x=10 while x: x-=1 if x%2: print(x,end="") else: pass 输出结果是
1
回答数

回答被采纳 立刻向前滑动补位,这就是“塌缩”

letter = ['A','B','C','D','D','D'] for i in letter: if i == 'D': letter.remove(i) print(letter) 输出结果
0
回答数

已关闭问题 字符串可以切片赋值?

在 Python 里,字符串本身不可变(immutable),所以 “切片赋值” 这种原地修改操作 不被允许: Python 复制 s = "hello" s[1:4] = "ELL" # TypeE
1
回答数

回答被采纳 定义学生选修课程的关系模式如下:

S(S#,Sn,Sd,Sa)(其属性分别为学号、姓名、所在系、年龄) C(C#,Cn,P#)(其属性分别为课程号、课程名、选修课) SC(S#,C#,G)(其属性分别为学号、课号和成绩) 检索选修了课
1
回答数

回答被采纳 在关系数据库中,描述全局数据逻辑结构的是

A. 内模式 B. 用户模式 C. 概念模式 D. 物理模式
1
回答数

回答被采纳 在具有2n个节点的完全二叉树中,叶子节点个数为

A. n-1 B. n C. n+1 D. n/2 正确的是
1
回答数

回答被采纳 带链队列空的条件是

A. font=rear=NULL B. front=-1且rear=NULL C. front=NULL 且rear=-1 D. front=rear=-1
1
回答数

回答被采纳 下列描述错误的是

A. 线性结构也能采用链式存储结构 B.线性结构一定能采用顺序存储结构 C.有的非线性结构也能采用顺序存储结构 D.非线性结构一定不能采用顺序存储结构
1
回答数

已关闭问题 l = "abcd" print(l[:-1])

l = "abcd" print(l[:-1])
0
回答数

已关闭问题 解题1----

l = "abcd" def f(x,result=["a","b","c","d"]): if x: result.remove(x[-1]) f(x[:-1]) return result pri
1
回答数

回答被采纳 自定义类如果用索引或者slice访问,只能在__getitem__()里面套用list等基本类型来取值吗,这不算是实现了__getitem__吧,不还是list自身取值吗,外面套了层壳

自定义类如果用索引或者slice访问,只能在__getitem__()里面套用list等基本类型来取值吗,这不算是实现了__getitem__吧,不还是list自身取值吗,外面套了层壳
1
回答数

回答被采纳 L[0] 和 L[0:2]/L[slice(0,2)] 在 CPython 底层走的是两条完全不同的代码路径

切片一定会新建一个 PyListObject;单个索引只是返回已有对象的引用 >>> import dis >>> dis.dis(lambda: L[0]) 1 0 LOAD_GLOBAL 0 (L
1
回答数

回答被采纳 Python 中,序列(如 list、tuple、str 等)之所以可以通过索引取值,是因为它们实现了 __getitem__ 方法

lst = [10, 20, 30]print(lst[1]) # 输出 20 这背后其实是调用了: lst.__getitem__(1) lst[1] → lst.__getitem__(1) 只是
1
回答数

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

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

已关闭问题 L = [11, 21, 31, 41] 和L[0:2]

L = [11, 21, 31, 41] 和L[0:2]
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 这是列表推导式,“一行代码里,把原序列按规则过