python - "i"语句中的 "for"变量在函数内部有效吗?

标签 python function variables for-loop

我在 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/

相关文章:

python - 一个函数中的一个函数是否会比单独定义这两个函数占用更多的 RAM 内存?

variables - 获取当前正在执行的批处理脚本的父文件夹名称

Javascript 全局变量不起作用,而本地变量起作用

python - Fabric 和Paramiko

python - PyQt5 在 QLabel 中的视频上绘制圆圈

python - 如何解决 "TypeError: string indices must be integers"错误?

javascript - 如何在函数生成的两个文件之间共享变量

python - 下载 HTML5 cache.manifest 文件中列出的所有工件的最佳方式?

c++ - 什么是 c++11/14/17 等同于 ltoa/itoa 的 C 函数?

C++创建可变数量的数组