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

Python演算子のオーバーロードについてどのように説明しますか?


Pythonのすべてのクラスは、組み込みかユーザー定義かに関係なく、オブジェクトクラスから継承されます。オブジェクトクラスには、名前の前後に二重アンダースコア(__)が続くいくつかのプロパティがあります。これらの各プロパティは、同じ名前のメソッドのラッパーです。このようなメソッドは、特殊メソッドまたは魔法のメソッドと呼ばれます。

魔法のメソッド__lt__()、__ gt __()、__ eq __()、__ ne __()などは、クラス内でオーバーライドされ、それぞれ<、> ==、!=演算子をオーバーロードします。


  1. Python名前空間を簡単に説明しますか?

    名前空間は、スコープを実装する方法です。 Pythonでは、各パッケージ、モジュール、クラス、関数、およびメソッド関数は、変数名が解決される「名前空間」を所有しています。関数、モジュール、またはパッケージが評価される(つまり、実行が開始される)と、名前空間が作成されます。それを「評価コンテキスト」と考えてください。関数などの実行が終了すると、名前空間は削除されます。変数は削除されます。さらに、名前がローカル名前空間にない場合に使用されるグローバル名前空間があります。 各変数名はローカル名前空間(関数の本体、モジュールなど)でチェックされ、次にグローバル名前空間でチェックされます。 変数は通

  2. 例外がPythonのオブジェクトであることをどのように説明しますか?

    はい、指定されたコードでは「err」は例外オブジェクトです。 Pythonでは、すべてがオブジェクトです。そして、すべてのオブジェクトには属性とメソッドがあります。したがって、リスト、関数、タプルなどのような例外もオブジェクトです。したがって、例外にも他のオブジェクトと同様の属性があります。これらの属性は、次のように設定およびアクセスできます。基本クラスの例外があり、他のほとんどすべての例外はサブクラスです。 eが例外オブジェクトの場合、e.argsとe.messageがその属性です。 現在のPython実装では、例外はタイプ、値、トレースバックの3つの部分で構成されています。 sysモジ