gpt4 book ai didi

python - 是什么使可选参数成为可选参数而使位置参数成为必要参数?

转载 作者:行者123 更新时间:2023-11-28 22:46:35 27 4
gpt4 key购买 nike

试图找到这个问题的答案,但找不到任何地方。

我正在学习本教程:https://docs.python.org/3/howto/argparse.html我理解位置参数和可选参数之间的区别,但我不明白的是 argparse 如何决定什么参数是位置参数,什么参数是可选的?

因此,例如,从我从上面链接到的教程中:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("square", type=int,
help="display a square of a given number")
parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2],
help="increase output verbosity")
args = parser.parse_args()
answer = args.square**2
if args.verbosity == 2:
print("the square of {} equals {}".format(args.square, answer))
elif args.verbosity == 1:
print("{}^2 == {}".format(args.square, answer))
else:
print(answer)

为什么“square”参数是位置参数而“--verbosity”参数是可选的?

最佳答案

prefix_chars (默认为 -),将参数定义为 flag,因此是可选的。如果 prefix_chars 不存在,则确定它是位置性的。

prefix_chars 可以在解析器实例化时设置,parser = argparse.ArgumentParser(prog='PROG', prefix_chars='-+')

引用' name or flags ' 在文档中。

https://docs.python.org/3/library/argparse.html#name-or-flags

关于python - 是什么使可选参数成为可选参数而使位置参数成为必要参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27262412/

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