Co oznacza zapis a | b | c i jaki ma typ?
>>> a = 7
>>> b= 8
>>> c =99
>>> a | b | c
111
>>> type(a | b | c)
<class 'int'>
Co oznacza zapis a | b | c i jaki ma typ?
>>> a = 7
>>> b= 8
>>> c =99
>>> a | b | c
111
>>> type(a | b | c)
<class 'int'>
| porównuje liczby w bitach gdzie dla 0 i 0 zwracane jest 0, a dla innych kombinacji 1. Wynik jest zmieniany z systemu binarnego na 10:
7 => 111
8 => 1000
99 => 1100011
111
1000
1100011
-------
1101111
1101111 z systemu binarnego na 10 to 111.
Dzięki!
Często flagi tak zapisują, np.: is_sold | is_new | is_last.