加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 22:23:54 所属栏目:Python 来源:网络整理
导读:函数名称main()是否总是为空并且在函数本身内调用了参数,或者将它们作为函数的输入是可接受的,例如main(arg1,arg2,arg3)? 我知道它有效,但我想知道它是不是很糟糕的编程习惯.如果这是重复的道歉,但我看不出专门针对Python的问题. 最佳答案 在大多数其他编程

函数名称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全局变量?好的做法会假设它们位于文件的顶部(以及其他多个属性 – 它们是常量等),并且您不需要将它们作为参数传递.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读