我是靠谱客的博主 传统镜子,最近开发中收集的这篇文章主要介绍python中not a and b_Python语法“如果a、b或c,但不是全部”,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这个问题已经有很多高投票率的答案和一个公认的答案,但到目前为止,所有这些问题都被表达布尔问题的各种方式分散了注意力,错过了一个关键点:I have a python script that can receive either zero or three command

line arguments. (Either it runs on default behavior or needs all three

values specified)

这个逻辑不应该首先由代码负责,而应该由argparse模块处理。不要费心编写复杂的if语句,而是希望设置如下参数解析器:#!/usr/bin/env python

import argparse as ap

parser = ap.ArgumentParser()

parser.add_argument('--foo', nargs=3, default=['x', 'y', 'z'])

args = parser.parse_args()

print(args.foo)

是的,它应该是一个选项而不是一个位置参数,因为它毕竟是可选的参数。

编辑:为了解决LarsH在评论中的问题,下面是一个示例,说明如果您确定要使用3或0位置参数的接口,您可以如何编写它。我认为前面的接口是更好的样式,因为可选的参数应该是选项,但是为了完整起见,这里有一种替代方法。注意在创建解析器时重写kwarg usage,因为argparse将自动生成误导性的用法消息,否则!#!/usr/bin/env python

import arg

最后

以上就是传统镜子为你收集整理的python中not a and b_Python语法“如果a、b或c,但不是全部”的全部内容,希望文章能够帮你解决python中not a and b_Python语法“如果a、b或c,但不是全部”所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部