Python では Ruby のようにすべてがオブジェクトですか? 質問する

Python では Ruby のようにすべてがオブジェクトですか? 質問する

Stack Overflow の別の質問で、Python は「すべてがオブジェクトである」という点で Ruby とまったく同じであり、Python のすべてが Ruby と同様にオブジェクトであると読みました。

これは本当ですか? Ruby のように、Python ではすべてがオブジェクトですか?

この点において、この 2 つはどのように異なるのでしょうか、それとも実際には同じなのでしょうか? たとえば、数値を取得して、次のような Ruby の処理を​​行うことはできますか。

y = 5.plus 6

Python でも同じようにできますか?

ベストアンサー1

DiveIntoPython - すべてがオブジェクトである

Python のすべてはオブジェクトであり、ほとんどすべてに属性とメソッドがあります。すべての関数には組み込み属性 があり__doc__doc string関数のソース コードで定義された を返します。sysモジュール は、(他の属性の中でも) と呼ばれる属性を持つオブジェクトですpath。などなど。

それでも、疑問が湧いてきます。オブジェクトとは何でしょうか?プログラミング言語によって「オブジェクト」の定義は異なります。いくつかの言語では、それは全てオブジェクトしなければならないオブジェクトには属性とメソッドがあります。また、すべてのオブジェクトがサブクラス化可能であるという意味もあります。Python では定義が緩やかで、属性もメソッドもないオブジェクトもあります (第 3 章で詳しく説明)。また、すべてのオブジェクトがサブクラス化可能というわけではありません (第 5 章で詳しく説明)。ただし、変数に代入したり、関数に引数として渡したりできるという意味では、すべてがオブジェクトです (第 4 章で詳しく説明)。

Ruby ドキュメント - Python から Ruby へ

Pythonと同様に、Rubyでは...すべてがオブジェクトです

Ruby の Web サイトには次のように書かれています。Python ではすべてがオブジェクトです。

おすすめ記事