1
  1. try:下面直接调用/引用的缩进行是什么?我听说过“身体try:”和“表达try:”。请澄清。(见用户 - poke 的 - 答案)

  2. try:,except:等指的是什么while:?喜欢TrueFalse被称为“陈述”。(见用户 - poke 的 - 答案)

  3. 是否有任何理由将function1更改为function2。它们之间的唯一区别是ValueError。这些函数只应该强制用户输入一个整数。(见用户 - poke 的 - 答案)

功能1

def get_integer(LIMIT_PROMPT):
    while True:
        try:
            return int(input(LIMIT_PROMPT))
        except:
            pass

我已经看到了很多,except statement:并且在正文/表达式中有一段代码可以在正文/表达式中发生错误时执行某些操作try:

我已经在两个程序中使用了这个特殊的功能并且没有遇到任何问题。

功能2

def get_integer(LIMIT_PROMPT):
    while True:
        try:
            return int(input(LIMIT_PROMPT))
        except ValueError:
            pass
4

1 回答 1

0

像 True 和 False 一样被称为“陈述”

True并且False都是引用该bool类型的单例值的变量。作为变量,它们是原子表达式

try,exceptwhile语句,或者更准确地说,复合语句,因为它们包含一组其他语句。通常你会将该组语句称为,因为在其他语言中它们被封装在块创建标记中(例如{})。在 Python 规范中,它们被称为套件

每个复合语句的套件并没有真正的特殊名称,所以我想您可以将它们称为“try suite”、“except suite”等,或者“try block”和“except block”。

有什么理由把这个函数改成这个(唯一的变化是ValueError)

通常,当您检查异常时,您应该尽可能具体。如果您知道在 try 块中执行的操作可能会引发 type 异常X,则仅捕获/排除异常X

不指定类型将使 except 捕获任何异常,包括那些您可能不知道它们可能被抛出的异常,因此您将在那里丢失有用的信息。有很多关于 SO 的问题已经处理了这个话题,所以我会带你去一个我刚刚找到的随机问题。异常管理与语言无关,因此您可以将阅读的内容应用到 Python。

于 2013-08-06T15:46:03.380 回答