在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中的函数(二) 在上一篇文章中提到了Python中函数的定...
Python中的字符串 可能大多数人在学习C语言的时候,最先接触...
Python 面向对象编程(一) 虽然Python是解释性语言,但是它...
Python面向对象编程(二) 在前面一篇文章中谈到了类的基本定...
Python中的函数(一) 接触过C语言的朋友对函数这个词肯定非...
在windows下如何快速搭建web.py开发框架 用Python进行web开发...