鍍金池/ 問(wèn)答/Python/ python中 | 符號(hào)的含義

python中 | 符號(hào)的含義

 self._impl.register(fd, events | self.ERROR)

就比如這個(gè),傳參的時(shí)候出現(xiàn)了 | ,是什么意思,我記得 js 里面有它,表示如果 events 非空,返回 events,如果 events 為空,返回 self.ERROR,不知道 python 里面是不是也是這樣的

回答
編輯回答
朕略傻

'|'就是按位取或運(yùn)算,看看下面的代碼能不能幫助你理解:

print(0b000111 | 0b111000, 0b111111)

SYS_ERROR = 0b0010
OS_ERROR =  0b0001
event =     0b0000

# some code
if True:
    event = event | SYS_ERROR

# some code
if True:
    event = event | OS_ERROR

# Handle Error
if event & SYS_ERROR:
    print("System Error occurred")

if event & OS_ERROR:
    print("OS Error occurred")
    

你問(wèn)題里描述的那種行為,應(yīng)該這么寫(xiě):

event = []
something = [1,2,3]

rc = event if event else something
print(rc)

但是對(duì)于非此即彼的問(wèn)題,你的說(shuō)法和實(shí)際效果是等價(jià)的:

event = 0b0
something = 0b1

rc = event if event else something
print(rc, event|something)
2017年12月8日 19:56