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系统中才能使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值