我想知道np.size('')返回的事实背后是否有一个基本原理,例如,1鉴于len('')ornp.size([])两者都返回0。
我有一个可以独立运行的脚本,但有时会使用旨在覆盖脚本中定义的参数的外部调用。我使用它来工作exec()(这种方法的安全性不是这里的重点),但我不明白为什么它在 for 循环中工作,而不是在理解列表中工作。
foo = 1
bar = 2
externally_given = ['foo=10', 'bar=20']
for ext in externally_given:
exec(ext)
print('Exec in for loop ->', foo, bar)
externally_given = ['foo=30', 'bar=40']
[exec(ext) for ext in externally_given]
print('Exec in comprehension list ->', foo, bar)
Run Code Online (Sandbox Code Playgroud)
输出:
Exec in for loop -> 10 20
Exec in comprehension list -> 10 20
Run Code Online (Sandbox Code Playgroud)
编辑:Python 版本 3.10