在Python中使用main()调用参数是不好的做法

前端之家收集整理的这篇文章主要介绍了在Python中使用main()调用参数是不好的做法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

函数名称main()是否总是为空并且在函数本身内调用了参数,或者将它们作为函数的输入是可接受的,例如main(arg1,arg2,arg3)?

我知道它有效,但我想知道它是不是很糟糕的编程习惯.如果这是重复的道歉,但我看不出专门针对Python的问题.

最佳答案
在大多数其他编程语言中,您可以使用零参数或两个参数:

int main(char *argv[],int argc)

表示传递给参数的参数.但是,在Python中,这些是通过sys模块访问的:

import sys

def main():
    print(sys.argv,len(sys.argv))

但是你可以扩展它,这样你就可以将argv和argc传递给你的python函数,类似于其他语言:

import sys

def main(argv,arc):
    print(argv,arc)

if __name__ == '__main__':
    main(sys.argv,len(sys.argv))

但是现在让我们忘记argv / argc – 你为什么要把东西传递给main.你在main之外创建一些东西,并希望将它传递给main.这可能发生在两个实例中:

>您从其他功能多次调用main.
>您已经在main之外创建了要传递的变量.

点数1绝对是不好的做法. main应该是唯一的,并且只在程序开始时调用一次.如果你需要多次调用它,那么main中的代码不属于main.拆分它.

点数2可能看起来很有意义,但是你在实践中这样做:

def main(a,b):
    print(a,b)

if __name__ == '__main__':
    x = 4
    y = 5
    main(x,y)

但那么不是x和y全局变量?好的做法会假设它们位于文件的顶部(以及其他多个属性 – 它们是常量等),并且您不需要将它们作为参数传递.

猜你在找的Python相关文章