有哪些方法可以过早退出if
子句?
有时候,我在编写代码时希望将一条break
语句放在if
子句中,只是要记住,这些语句只能用于循环。
让我们以以下代码为例:
if some_condition:
...
if condition_a:
# do something
# and then exit the outer if block
...
if condition_b:
# do something
# and then exit the outer if block
# more code here
我可以想到一种方法:假设退出情况发生在嵌套的if语句内,请将剩余的代码包装在一个大的else块中。例:
if some_condition:
...
if condition_a:
# do something
# and then exit the outer if block
else:
...
if condition_b:
# do something
# and then exit the outer if block
else:
# more code here
问题是更多的退出位置意味着更多的嵌套/缩进代码。
另外,我可以编写我的代码以使if
子句尽可能小,并且不需要任何退出。
有人知道退出if
子句的好/更好的方法吗?
如果存在任何关联的else-if和else子句,我认为退出将跳过它们。
(此方法适用于if
s,多个嵌套循环和您break
不易使用的其他构造。)
将代码包装在自己的函数中。代替break
使用return
。
例:
def some_function():
if condition_a:
# do something and return early
...
return
...
if condition_b:
# do something else and return early
...
return
...
return
if outer_condition:
...
some_function()
...
为了响应特定的输出,检查if语句中的退出状态的最佳方法是什么? 我在想 我还有一个问题,退出语句位于if语句之前,因为它必须有退出代码。而且,我知道我做错了什么,因为退出显然会退出程序。
假设您有一个二进制文件,其中包含类型为int或double的数字。您不知道文件中数字的顺序,但它们的顺序记录在文件开头的字符串中。字符串由表示int的字母i和表示double的字母d组成,按后续数字类型的顺序排列。字符串是使用writeUTF方法写入的。 例如,字符串“iddiiddd”表示该文件包含八个值,如下所示:一个整数,后跟两个双精度,后跟两个整数,后跟三个双精度。 我的问题是,如果字符串
问题内容: 我正在使用ProcessBuilder启动子进程,并且如果父进程确实需要退出子进程。在正常情况下,我的代码可以正确阻止孩子。但是,如果我导致操作系统杀死父进程,则子进程将继续运行。 有什么方法可以将子进程“绑定”到父进程,以便在父进程被杀死时退出? 问题答案: 子进程与其父进程之间没有联系。他们可能彼此知道进程ID,但是它们之间没有硬连接。您在谈论孤立过程。这是操作系统级别的问题。意味
问题内容: 对于子进程,和函数可用于暂停当前进程的执行,直到子进程退出。但是此功能不能用于非子进程。 是否有另一个函数可以等待任何进程的退出? 问题答案: 什么都不等于。通常的做法是使用轮询,寻找返回值-1和的,表明进程已经一去不复返了。
我被卡住了,无法逃脱。它说: 但当我键入时,它只会出现在对象体中。