Python中的位或運算符“|”,也稱為按位或運算符,是一種二進制運算符。它的作用是將兩個數的二進制碼進行“或”操作,返回一個新的二進制數。
例如,我們有兩個數10和5,它們的二進制分別為1010和0101, 按位或運算結果為1111(轉換成十進制為15)。 10 | 5 = 15
如果兩個二進制數的相同位都為1,則新的二進制數的該位也為1;否則,為0。使用位或運算符可以將多個標志位組合成一個二進制數,使代碼更簡潔,易讀。
例如,在一些API中,不同的參數都有自己的標志位,可以通過按位或運算組合起來,傳遞給函數。 FLAG_A = 0b0001 # 第一位表示A FLAG_B = 0b0010 # 第二位表示B FLAG_C = 0b0100 # 第三位表示C FLAG_D = 0b1000 # 第四位表示D # 組合標志位 flags = FLAG_A | FLAG_C print(bin(flags)) # 0b0101 # 判斷標志位 if flags & FLAG_A: print('FLAG A is set') if flags & FLAG_B: print('FLAG B is set') # not executed if flags & FLAG_C: print('FLAG C is set') if flags & FLAG_D: print('FLAG D is set') # not executed
需要注意的是,按位或運算符“|”是一個逐位運算符,如果對非整數類型(如字符串、列表等)使用該運算符將會引發TypeError異常。