Python面试题(1)怎么样才能让 if 和else中的语句都执行

会编程的人都知道,if-else语句是相斥执行的,如果满足了if中的条件,就不能执行else中的内容;如果执行了else中的内容,一定不会满足if条件,所以ifelse是不会同时执行的。
语句pid=os.fork(),会为当前进程产生一个子进程并返回两个值,为父进程返回子进程的进程ID,为子进程返回0。
想要ifelse都执行,就可以使用os模块的fork方法。把if 条件设定为fork方法返回的值是否为0,如果设置为等于0,那么就会出现主程序不满足if条件,执行else中代码块,子进程满足if条件,执行if中代码块的情况,这样ifelse中的代码块就都会执行。

通过下面这个小案例证明上述描述:

import os


pid = os.fork()
print(pid)
if pid == 0:
    # os.getid()获取当前进程ID
    print(os.getpid())
    print('hello')
else:
    print(os.getpid())
    print('goodbye')

执行结果:

1938  # 主进程中fork返回的值:子进程ID
1937  # 主进程ID
goodbye
0  # 子进程中fork返回的值:0
1938  # 子进程ID
hello

注意:os.fork()方法只在Linux、Mac、Unix系统中才能使用。

你可能感兴趣的:(Python面试题(1)怎么样才能让 if 和else中的语句都执行)