-2

私は Java プログラミング出身で、Python は初めてです。整数、浮動小数点数、文字列リテラルも Python プログラミングのオブジェクトと見なす必要がありますか?

例: 2, 4.3,'stackoveflow'

4

4 に答える 4

3

Python ではすべてがオブジェクトです。偶数関数と単純な数値/ブール値。

オブジェクトは、データに対する Python の抽象化です。Python プログラムのすべてのデータはオブジェクトで表されます

これにはいくつかの利点があります。たとえば、 のような型を簡単にサブクラス化できます。デフォルトの動作を備えたカスタム型が必要なstr場合unicodeに、追加の機能が必要な場合 (テンプレート エンジンで文字列を HTML セーフとしてマークするためによく行われます)。
もう 1 つのより一般的なのは、join()文字列に対するメソッドです。ほとんどの言語には配列にそのようなメソッドがありますが、Python には、このように使用される文字列メソッドとしてそれがあり、任意のiterable/sequence をそれに渡すことができます。', '.join(some_iterable)

于 2012-05-17T09:02:05.427 に答える
1

すべての値は Python のオブジェクトです42"stackoverflow"、および(1,)はすべてオブジェクトであり、タイプは:

>>> (42).bit_length() # parentheses necessary for syntactic reasons
6
>>> "stackoverflow".upper()
'STACKOVERFLOW'
>>> type((1,))
<type 'tuple'>
于 2012-05-17T09:03:41.577 に答える
1

はい。実際、そうすることがいくつかの一般的なイディオム、特に文字列の書式設定の中心となっています。

>>> "Hello {}".format("name")
'Hello name'

シーケンスのアイテムを結合します。

>>> a = ['one', 'two', 'three']
>>> ' + '.join(a)
'one + two + three'

どちらもオブジェクトである文字列リテラルに依存しているため、それらのメソッドを呼び出すことができます。

于 2012-05-17T09:04:16.353 に答える
1

はい、すべての値は Python のオブジェクトです。例えば:

>>> dir(3)
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']
>>> (3).__str__()
'3'
于 2012-05-17T09:02:09.267 に答える