質問するログイン新規登録

回答編集履歴

3

すこしだけ補足

2017/06/23 11:13

投稿

pashango2
pashango2

スコア930

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  まずPythonのオブジェクトが`print`に渡されたときに、そのオブジェクトの`__str__`メソッドが呼ばれます。
2
2
  `__str__`が存在しない場合は`__repr__`メソッドが呼ばれます。
3
- `__repr__`メソッドは、Pythonでそのオブジェクトを表現可能な文字列を返すためのメソッドです。
3
+ `__repr__`メソッドは、Pythonでそのオブジェクトを表現可能なPython式の文字列を返すためのメソッドです。
4
4
 
5
5
  > これはなぜでしょうか?
6
6
 

2

クラス→オブジェクト

2017/06/23 11:13

投稿

pashango2
pashango2

スコア930

answer CHANGED
@@ -1,4 +1,4 @@
1
- まずPythonのオブジェクトが`print`に渡されたときに、そのクラスの`__str__`メソッドが呼ばれます。
1
+ まずPythonのオブジェクトが`print`に渡されたときに、そのオブジェの`__str__`メソッドが呼ばれます。
2
2
  `__str__`が存在しない場合は`__repr__`メソッドが呼ばれます。
3
3
  `__repr__`メソッドは、Pythonでそのオブジェクトを表現可能な文字列を返すためのメソッドです。
4
4
 

1

追記

2017/06/23 11:11

投稿

pashango2
pashango2

スコア930

answer CHANGED
@@ -1,3 +1,7 @@
1
+ まずPythonのオブジェクトが`print`に渡されたときに、そのクラスの`__str__`メソッドが呼ばれます。
2
+ `__str__`が存在しない場合は`__repr__`メソッドが呼ばれます。
3
+ `__repr__`メソッドは、Pythonでそのオブジェクトを表現可能な文字列を返すためのメソッドです。
4
+
1
5
  > これはなぜでしょうか?
2
6
 
3
7
  `byte`クラスの`__str__`と`__repr__`メソッドが**ASCIIで表現できるコードはASCIIで表現する**といった仕様になっているためです。