小编mas*_*pao的帖子

索引范围对象时是否使用迭代协议?

由于range对象按需生成值,是否意味着无论何时索引范围,迭代协议都会被调用到该索引?

我的意思是:

>>> R = range(1,11)
>>> print(R[5])
6
Run Code Online (Sandbox Code Playgroud)

既然R[5]没有存储在内存中,是否每次都通过创建一个新的迭代器来计算?如果没有,如何索引范围对象?

python indexing python-3.x python-internals

5
推荐指数
1
解决办法
119
查看次数

python 中的调用者到底是什么?

如果这个问题太基本/显而易见,我深表歉意,但在此处和数据模型文档搜索后我找不到合理的答案。

我的问题很简单,Python 3 中的调用者到底是什么?有严格的定义吗?

例如,我知道调用另一个函数的函数称为调用者。所以:

def f1():
    pass
def f2():
    f1()
Run Code Online (Sandbox Code Playgroud)

f2 是 f1 的调用者。但是赋值语句呢?

x = f2()
Run Code Online (Sandbox Code Playgroud)

xa 是 f2 的调用者吗?它也是f1的调用者吗?显然,函数定义末尾的 return 语句向调用者返回一个值,因此我假设在这种情况下 x 既是 f2 又是 f1 的调用者,但是我只想检查是否没有更深层次的调用者/调用者的技术含义是什么?

我发现这个问题我不明白Python中的“返回”以及调用者是什么?,但我无法得到太多理解。

python python-3.x

5
推荐指数
1
解决办法
6328
查看次数

标签 统计

python ×2

python-3.x ×2

indexing ×1

python-internals ×1