【问题标题】:python one-line if statement calling function if truepython单行if语句调用函数if为真
【发布时间】:2016-04-22 18:29:28
【问题描述】:

我正在使用 argparse。

def help():
  parser.print_help()
  sys.exit(0)

help() if (args.lock and args.unlock)

这给了我一个语法错误。我的 if 语句有什么问题?

【问题讨论】:

  • 试试这个:if (args.lock and args.unlock): help()
  • “我的 if 语句有什么问题?” - 它在语法上无效,因此出现错误。你为什么要在一行中做呢?
  • 谢谢。我最终使用了 if : help()。我还没有找到解析所有参数的好方法,尤其是当我有 3 个并且只需要 1 个时,为了清楚起见,我希望它在一行中。我来自 perl,它是一个类似的语法。

标签: python if-statement


【解决方案1】:

您正在使用conditional expressiontrue_result if condition else false_result。条件表达式需要一个else部分,因为它必须产生一个值;即当条件为假时,必须有一个表达式来产生这种情况下的结果。

当你想要的只是一个正确的if 语句时,不要使用条件表达式:

if args.lock and args.unlock: help() 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 2017-12-05
    • 2020-06-09
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多