2016-10-14 3 views
0
2と3の間に、これは別の持っている理由
In [1]: import sys 

In [2]: sys.version_info 
Out[2]: sys.version_info(major=3, minor=5, micro=2, releaselevel='final', serial=0) 

In [3]: b=set([10,20,40,32,67,40,20,89,300,400,15]) 

In [4]: b 
Out[4]: {10, 11, 15, 20, 32, 40, 67, 89, 111, 300, 400} 
In [1]: import sys 

In [2]: sys.version_info 
Out[2]: sys.version_info(major=2, minor=7, micro=12, releaselevel='final', serial=0) 

In [3]: b=set([10,20,40,32,67,40,20,89,300,400,15]) 

In [4]: b 
Out[4]: set([32, 67, 40, 10, 11, 300, 15, 400, 20, 89, 111]) 

ですか?タイプは__str__と印刷との違いを直接

答えて

4

{...}の構文wasn't introduced until Python 2.7と、それまでにset([...])repr()という形式がすでに確立されていたためです。

set([...])表現に依存していた可能性がある既存のPython 2コードを維持するために、repr()は2.xシリーズで変更されていません。 Python 3は最初からセットの表記が{...}でした。

関連する問題