当前位置: 首页 > 面试题库 >

Python:单行中的try语句

林子石
2023-03-14
问题内容

python中有没有办法将try / except变成一行?

就像是…

b = 'some variable'
a = c | b #try statement goes here

哪里b是声明的变量,c而不是…所以c会引发错误并a变成b


问题答案:

在Python中无法将try/except块压缩到一行上。

另外,不知道变量是否像在其他动态语言中一样,在Python中是否存在也是一件坏事。比较安全的方法(和流行的样式)是将所有变量设置为某种值。如果他们可能就不会置,将其设置为None第一(或0''或如果它是更适用的东西。)

如果 确实要 分配所有您感兴趣的名称,则可以选择。

  • 最好的选择是if语句。

    c = None
    

    b = [1, 2]

    if c is None:
    a = b
    else:
    a = c


  • 单线选项是一个条件表达式。

    c = None
    

    b = [1, 2]
    a = c if c is not None else b

  • 有些人滥用or这样做的短路行为。 这容易出错, 所以我从不使用它。

    c = None
    

    b = [1, 2]
    a = c or b

考虑以下情况:

    c = []
b = [1, 2]
a = c or b

在这种情况下,a可能 应该[],但这是[1, 2]因为[]在布尔上下文中为false。因为有很多可能为假的值,所以我不使用or技巧。(这是人们在表达if foo:自己的意思时遇到的相同问题if foo is not None:。)



 类似资料:
  • 问题内容: 有没有更好的方法来执行以下操作: 看起来很讨厌,我不想这样做: 保持最高效率。 问题答案: 也许您可以尝试这样的事情: 您可以这样称呼它: 这将尝试按它们在列表中的顺序调用这些方法。如果您想传递任何参数,可以像下面这样在列表之后传递它们:

  • 问题内容: 这是将python“ with”语句与try-except块结合使用的正确方法吗? 如果是这样,请考虑使用旧的处理方式: 这里的“ with”语句的主要好处是我们可以摆脱三行代码吗? 对于这个用例,这 似乎并不吸引我(尽管我知道“ with”语句还有其他用途)。 编辑:以上两个代码块的功能是否相同? EDIT2:前几个答案大体上谈及使用“ with”的好处,但是这里似乎没有什么好处。我

  • 在此Java程序示例中: 当在静态方法example()的正文中抛出OutOfMemoryError错误时,在终止静态方法example()之前,连接“con”和语句“stmt”是否会自动关闭,尽管没有任何“cat”捕获这些错误,因此在main()的其余代码中,是否确定这两个对象已关闭? 谢谢

  • 问题内容: 我想知道将 return 语句放在 try-with-resources 块中是否会阻止资源自动关闭。 如果我这样写, 连接 会关闭吗?在Oracle文档中指出: try-with-resources语句可确保在语句末尾关闭每个资源。 如果由于return语句而从未到达该语句的末尾,该怎么办? 问题答案: 根据Oracle的教程,“无论try语句正常完成还是突然完成,[[资源]都将关闭

  • 本文向大家介绍简单谈谈python中的语句和语法,包括了简单谈谈python中的语句和语法的使用技巧和注意事项,需要的朋友参考一下 python程序结构 python“一切皆对象”,这是接触python听到最多的总结了。在python中最基层的单位应该就是对象了,对象需要靠表达式建立处理,而表达式往往存在于语句中,多条语句组成代码块,多个代码块再组成一整个程序。python的核心其实是由语句和表达

  • 问题内容: 语句的可选子句的预期用途是什么? 问题答案: 如果执行没有超出-如果没有异常,则执行块中的语句。老实说,我从来没有发现需要。 但是,“处理异常”指出: 使用else子句比向try子句添加其他代码更好,因为它避免了意外捕获try … except语句保护的代码未引发的异常。 所以,如果你有一个方法可以,例如,抛出了,你想抓住它会引发异常,但有你想,如果第一个操作成功做其它的事情,你 不要