Imp*_*ard 6 python coding-style pep8
我对 Python 社区有一个关于 Python 脚本中块注释的问题。我通读了 PEP-8,虽然很多想法和标准对于开发一个干净的模块或包都很有意义,但我对简短的 Python 脚本并没有看到太多。
我的意思是,假设我决定制作一个非常快速的 Python 可执行脚本,用作在我的模块中运行业务逻辑的命令行实用程序。
在这个命令行实用程序中,很大一部分只是设置一个带有长文档字符串的 argparse 解析器,然后是脚本的入口点,以及一些辅助函数。
我创建它的风格是这样的:
############################################################
# Helper functions
############################################################
def helper1(arg):
pass # things happen
def helper2():
pass
...
############################################################
# Setup Argparse
############################################################
parser = argparse.ArgumentParser(description='Some description')
somedoc = """
Some long description for my first argument...
""".strip()
parser.add_argument('integers',
metavar='N',
type=int,
nargs='+',
help=somedoc)
parser.add_argument('otherargs',
metavar='N',
type=int,
nargs='+',
help='Some docstring')
...
############################################################
# Entry point
############################################################
if __name__ == '__main__':
args = parser.parse_args()
if len(args.integers) > 1:
helper1(args.integers)
...
Run Code Online (Sandbox Code Playgroud)
尽管 PEP-8 没有涵盖这一点,但我发现这往往是非常易读的(假设我的变量名要好得多)并且块注释确实有助于快速确定所有内容的位置。此外,由于这最终是一个与我的应用程序打包在一起的可执行脚本,因此将它保存在一个文件中是有意义的,因为它实际上是一个美化的参数解析器。
有没有更 Pythonic 的方法来解决这个问题?
我想大家的共识是:不会。
\n\n最好将模块分成一个包:
\n\n- package_name\n \xe2\x88\x9f __init__.py\n \xe2\x88\x9f __main__.py\n \xe2\x88\x9f args.py\n \xe2\x88\x9f helpers.py\nRun Code Online (Sandbox Code Playgroud)\n\n注意:您可能想给“助手”一个更具描述性的名称(就像您所说的)。
\n\n这是首选的一些原因:
\n\nparser并使用argparse它,那么它显然与参数解析有关;标题评论添加了什么?(我一定已经阅读了源代码:这个标题注释没有价值。)__main__.py)解决了这个问题,不要重新发明轮子。那是说:
\n\n\n\n\n将它保存在一个文件中是有意义的,因为它实际上是一个美化的参数解析器。
\n
对于快速编写剧本并将其推出的争论总是存在的。
\n\n如果你想要一些长期可维护、可读且......Pythonic 的东西。考虑将其放入目录/包中。
\n\n\n| 归档时间: |
|
| 查看次数: |
3845 次 |
| 最近记录: |