gpt4 book ai didi

python - Python中的"Boilerplate"代码?

转载 作者:IT老高 更新时间:2023-10-28 22:04:44 26 4
gpt4 key购买 nike

Google 有一个 Python 教程,他们将样板代码描述为“不幸”并提供了以下示例:

#!/usr/bin/python

# import modules used here -- sys is a very standard one
import sys

# Gather our code in a main() function
def main():
print 'Hello there', sys.argv[1]
# Command line args are in sys.argv[1], sys.argv[2] ..
# sys.argv[0] is the script name itself and can be ignored

# Standard boilerplate to call the main() function to begin
# the program.
if __name__ == '__main__':
main()

现在,我听说样板代码被描述为“看似重复的代码,一次又一次地出现,以获得看起来应该更简单的结果”(example)。

无论如何,在 Python 中,上面示例中被视为“样板”代码的部分是:

if __name__ == '__main__':
main()

现在,我的问题如下:

1) Python 中的样板代码(如提供的示例)是否采用与我提供的定义相同的定义?如果有,为什么?

2) 这段代码是否必要?在我看来,无论是否有 main 方法,代码都会运行。是什么让使用此代码更好?是不是更好?

3) 我们为什么使用该代码以及它提供什么服务?

4) 这会在整个 Python 中发生吗?还有其他“样板代码”的例子吗?

哦,还有一个题外话:您是否需要 import sys 才能在 Python 中使用命令行参数?如果它不存在,它如何处理这样的论点?

最佳答案

  1. 它是重复的,因为它对您可能从命令行执行的每个脚本都重复。
  2. 如果你把你的主代码放在这样的函数中,你可以在不执行它的情况下导入模块。这有时很有用。它还使事情更有条理。
  3. 据我所知与 #2 相同
  4. Python 通常非常擅长避免样板。它足够灵活,在大多数情况下,您可以编写代码来生成样板代码,而不是编写样板代码。

题外话:

如果您不编写代码来检查参数,它们将被忽略。

关于python - Python中的"Boilerplate"代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7898049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com