【发布时间】:2022-01-20 18:34:30
【问题描述】:
我一直在为我的最新项目使用argparse,尽管它非常有用,但我意识到大多数时候,尤其是在较长的脚本中,我会尽量避免使用带有“args”的变量。前缀,所以像这样的行使我的代码膨胀:
parser.add_argument('--learning_rate', '--lr', default=0.0005, type=float, help='defines the learning_rate variable for the model.')
learning_rate = args.learning_rate
是否有一个选项可以自动将传递给--learning_rate 的内容存储到learning_rate 中,避免第二行代码?
感谢您的时间和关注。
【问题讨论】:
-
你可以使用
args.learning_rate。那是自动的。如果您不想要它,为什么要将它复制到另一个参考? -
"我尽量避免使用带有 'args.' 的变量。前缀“为什么?
-
您可以修改全局范围,但您真的不应该,“命名空间是一个很棒的想法——让我们做更多的事情!”。您不能在本地范围内执行此操作。但同样,这不是问题,因为您真的可能不应该
-
我认为关键是,您不想在 local 范围内分散
args.learning_rate。在定义args的范围内使用args.learning_rate,但如果您需要函数中的值,请不要将args用作全局:将args.learning_rate作为参数 传递给函数,它会在你调用时对函数的参数进行隐式赋值。
标签: python python-3.x argparse