Python で垂直バーは何を表しますか、Python で垂直バーは何を表しますか

みなさん、こんにちは。エディターが次の質問に答えます。Python で垂直バーは何を表すのか、Python で垂直バーは何を表すのか、今日は見てみましょう。

 

ウィキペディアのページが間違っていたので修正しました。| と & はブール演算子ではなく、熱心な演算子であっても、短絡演算子ではないことを意味します。ご存知のとおり、Python および and or 演算子は次のように動作します: >>> def talk(x):

... print "評価中: ", bool(x)

...x を返す

...

>>> talk(1 == 1) または talk(2 == 1) # 2 == 1 は評価されません

評価: True

真実

>>> トーク(1 == 1) とトーク(2 == 1)

評価: True

評価: False

間違い

>>> talk(1 == 2) と talk(1 == 3) # 1 == 3 は評価されません

評価: False

間違い

私の知る限り、Python には積極的なブール演算子はなく、明示的にコーディングする必要があります。例: >>> defeager_or(a, b):

... a または b を返します

...

>>>eager_or(トーク(1 == 1), トーク(2 == 1))

評価: True

評価: False

真実

現在、a と b は、短絡しているか、短絡しているにもかかわらず、関数が呼び出されたときに自動的に評価されます。

| と & の使用法に関しては、数値と一緒に使用すると二項演算子になります: >>> bin(0b11110000 & 0b10101010)

「0b10100000」

>>> ビン(0b11110000 | 0b10101010)

「0b11111010」

おそらくこの方法を使用して、wxWidgets のようなフラグを使用するライブラリに Python をバインドします: >>> Frame = wx.Frame(title="My Frame", style=wx.MAXIMIZE | wx.STAY_ON_TOP)

>>> bin(wx.MAXIMIZE)

「0b10000000000000」

>>> ビン(wx.STAY_ON_TOP)

「0b1000000000000000」

>>> bin(wx.MAXIMIZE | wx.STAY_ON_TOP)

「0b1010000000000000」

セットで使用すると、それぞれ交差演算と結合演算が実行されます: >>> set("abcd") & set("cdef")

set(['c', 'd'])

>>> set("abcd") | set("cdef")

set(['a', 'c', 'b', 'e', 'd', 'f'])

おすすめ

転載: blog.csdn.net/mynote/article/details/132185520