Pythonでは、通常は型変換を実行するためにstr()、int()、float()などの関数が使用されます。ただし、これらは開発時にどのタイプに変換するかを知る必要があります。Pythonのリフレクションと型変換
foo
とbar
という2つの変数を指定した場合、タイプはfoo
であることがわかります。 (これは一般的なコードなので、開発時には分かりません)。次にbar
を任意のタイプのfoo
に変換しようとします。これができない場合は、例外をスローします。
たとえば、これを行う関数を呼び出すとします。conv
。 foo
の種類を取得するために
result = conv(3.14, "2.718") # result is now 2.718, as a float.
印象的です。私はそれが信じられないほど簡単だろうとは決して考えなかったでしょう。また、驚くべきことに(私はPythonを初めて使い、金属言語に近づくために使用しました)、組み込み関数で動作することです。 – dsimcha
部分的に間違っています。 fooが新しいスタイルのオブジェクトである場合、foo .__ class__はfooの型だけです。そうでなければ、それはクラスだけです。 –
クラスがもっと正確になると私は 'タイプ'と言っただけで間違っています。しかし、彼はこの変換のためにクラスを必要とします。そして、Python 3では、その違いはとにかくあります。 – oefe