Python
 Computer >> コンピューター >  >> プログラミング >> Python

関数としてのPython標準演算子


プログラミングでは、演算子は通常、加算、減算、比較などの特定の操作を実行するために事前定義された記号(キー)です。Pythonには、さまざまな方法で分割された多数の組み込み操作があります。算術、比較、ビット単位、メンバーシップなどのカテゴリ

Pythonライブラリの演算子モジュールは、組み込みの演算子に対応する関数で構成されています。関数の名前は、対応する演算子のタイプに類似しています。たとえば、演算子モジュールのadd()関数は+演算子に対応します。

PythonのObjectクラスには、演算子シンボルに対応するdunder(名前の前後に二重アンダースコア)メソッドがあります。これらのdunderメソッドは、ユーザー定義クラスで適切にオーバーロードして、演算子のオーバーロードを実装できます。オペレータモジュールも、対応するdunder関数で構成されています。たとえば、add()と__add __()はどちらも、+記号の操作を実装します。

まず、演算子モジュールから関数をインポートしましょう

>>> from operator import *

算術演算子に対応する関数について学ぶために、2つの変数は次のように初期化されます

>>> a = 10
>>> b = 20

add()、sub()、およびmul()は、+、-、および*演算子に対応します。除算の/記号はtruediv()関数によって実装されます。

>>> add(a,b)
30
>>> a + b
30
>>> sub(a,b)
-10
>>> a - b
-10
>>> mul(a,b)
200
>>> a * b
200
>>> truediv(a,b)
0.5
>>> a / b
0.5

その他の算術演算子%、**、および//は、演算子モジュールのmod()、pow()、およびfloordiv()関数によって実装されます。

>>> a = 5
>>> b = 3
>>> a % b
2
>>> mod(a,b)
2
>>> a ** b
125
>>> pow(a,b)
125
>>> a // 2
2
>>> floordiv(a,b)

論理演算子<、<=、>、> =、==、および!=は、lt()、le()、gt()、ge()、eq()、およびne()によって実装されます。それぞれ機能します。

>>> a = 5
>>> b = 7
>>> a < b
True

>>> lt(a,b)
True

>>> a <= b
True

>>> le(a,b)
True

>>> a > b
False

>>> gt(a,b)
False

>>> a >= b
False

>>> ge(a,b)
False

>>> a == b
False

>>> eq(a,b)
False

>>> a != b
True

>>> ne(a,b)
True
シーケンスを操作する関数

Pythonの組み込み演算子in、+(連結)、およびdelは、それぞれcontains()、concat()、delitem()関数によって実装されます。インデックス付き代入演算子seq[x]=yの場合、setitem()関数が使用されます。 seq [x]の値を取得するには、getitem()関数を使用します。

>>> a = [1,2,3]
>>> b = ['a','b','c']
>>> a + b #sequence concatenation
[1, 2, 3, 'a', 'b', 'c']

>>> concat(a,b)
[1, 2, 3, 'a', 'b', 'c']

>>> contains(a,'2') #implements in operator
False

>>> contains(a,2)
True

>>> 2 in a
True

>>> b[1] = 'x' #index assignment implemented by setitem()

>>> b
['a', 'x', 'c']

>>> setitem(b,1,'b')
>>> b
['a', 'b', 'c']

>>> a[1] #fetching value at index – implemented by getitem()
2

>>> getitem(a,1)
2

>>> del b[2] #deleting element at index. Corresponding function is delitem()

>>> b
['a', 'b']

>>> delitem(a,2)
>>> a
[1, 2]

代入と計算を1つのステップで実行する演算子は、インプレース演算子と呼ばれます。 Pythonのインプレース演算子は、演算子モジュールの対応する関数によって実装されます。追加および割り当て操作を実行する+=演算子には、対応するiadd()関数があります。同様に、接頭辞「i」が付いた各演算子関数は、インプレースで同等のものを形成します。

インプレース追加

>>> a = 10
>>> b = 20
>>> a = iadd(a,b) #equivalent to a += b
>>> a
30
と同等

インプレース減算

>>> a = 10
>>> b = 20
>>> a = isub(a,b) #equivalent to a -= b
>>> a
-10
と同等

インプレース乗算

>>> a= 10
>>> b = 20
>>> a = imul(a,b) #equivalent to a *= b
>>> a
200
と同等

インプレース分割

>>> a = 10
>>> b = 4
>>> a = itruediv(a,b)
>>> a
2.5

演算子モジュールは、標準のビット演算子を実装する関数でも構成されています

>>> and_(10,2) #equivalent to 10 & 2
2
>>> or_(10,2) #equivalent to 10 | 2
10
>>> xor(10,2) #equivalent to 10 ^ 2
8
>>> lshift(10,2) #equivalent to 10 << 2
40
>>> rshift(10,2) #equivalent to 10 >> 2
2

  1. Pythonの演算子関数

    Pythonには、算術演算、論理演算、リレーショナル演算、ビット演算などの数学演算用の追加の標準ライブラリメソッドがいくつかあります。これらのメソッドは、演算子の下にあります。 モジュール。 最初に使用するには、オペレーター標準ライブラリモジュールをインポートする必要があります。 import operator このセクションでは、ビット演算とコンテナ演算の演算子関数をいくつか紹介します。 算術演算 最初に、算術演算関数を確認します。これらは以下のようなものです。 Sr.No 機能と説明 1 add(x、y) add()メソッドは、2つの数値xとyを追加する

  2. Pythonの10進関数

    Pythonには、Decimalと呼ばれるモジュールがあります。これは、10進浮動小数点関連のタスクを実行するために使用されます。このモジュールは、正しく丸められた浮動小数点演算を提供します。 最初に使用するには、Decimal標準ライブラリモジュールをインポートする必要があります。 import decimal このセクションでは、Decimalモジュールのいくつかの重要な機能について説明します。 平方根関数sqrt()および指数関数exp() sqrt()メソッドは、特定の10進型オブジェクトの平方根を計算するために使用されます。また、exp()メソッドは、指定されたxのe^x値