我在 python 中使用这个结构:从 for 循环调用一个函数;该函数在内部使用迭代器的 i 值。我还应该传递 i 值吗?还是全局性的?这里的最佳做法是什么?
def function_1(A):
(use if "i" inside here)
for i in range (etc etc):
function_1(A)
最佳答案
如果这真的是A
的函数,您应该明确地将迭代器的值传递给它。一个函数的整体思想是它使用它的参数做一些独立的操作。该函数应该对调用它的环境一无所知。它不应该知道它是从循环中调用的,也不知道在其调用者中调用了什么变量。否则,此函数在该脚本之外的任何地方都无用,如果有任何更改,甚至在同一脚本内部也无用。
这是关于函数、类或模块/包的一般设计原则。一个对象不应该知道谁在使用它,用户应该知道它应该如何使用。
关于python - "i"语句中的 "for"变量在函数内部有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51477283/