回答編集履歴
2
追記
answer
CHANGED
@@ -11,5 +11,13 @@
|
|
11
11
|
|
12
12
|
python2のstr型は文字列型**ではなくて**バイト型です。printに直に指定されたらその**バイト列**をだしますが、リストやタプルの中にあったら`repr`関数に渡されて**ソースコードに書いたときに等価になる表現**に置き換えられます。
|
13
13
|
今見えている文字列は、そのバイト列と等価なリテラル表現でしょう。
|
14
|
+
このファイルがUTF-8で書かれていれば、"売"の文字はE5,A3,B2という3バイトで表現されているはずです。結果に`('\xe5\xa3\xb2……`と表示されいてますからこれが、この部分のバイト列としての表現であることが分かります。
|
14
15
|
|
15
|
-
以上から、python2で実行しているのだと確信できます。
|
16
|
+
以上から、python2で実行しているのだと確信できます。
|
17
|
+
|
18
|
+
----
|
19
|
+
|
20
|
+
コマンドラインで
|
21
|
+
`python -V` でpythonのバージョンが
|
22
|
+
`which python`でどこのpythonを起動しているかが
|
23
|
+
分かりますよ。
|
1
追記
answer
CHANGED
@@ -1,2 +1,15 @@
|
|
1
1
|
python3のコードをpython2で実行しています。(python2の正しい=仕様通りの動作です)
|
2
|
-
python2を使う理由はありません。ぜひpython3をインストールしましょう。
|
2
|
+
python2を使う理由はありません。ぜひpython3をインストールしましょう。
|
3
|
+
|
4
|
+
----
|
5
|
+
|
6
|
+
`print`はpython3では関数ですが、python2では**文**です。
|
7
|
+
|
8
|
+
`print("売上の値を変更します。")` の括弧は関数呼び出しの括弧ではなくて、結合優先順の指定に思われていて、`print "売上の値を変更します。"`と同じ動作をしています。
|
9
|
+
|
10
|
+
`print("売上は",sale,"万円です。")`は、`("売上は",sale,"万円です。")`というタプルを表示しろ、という意味になっていて、実際タプルの形式で表示されています。
|
11
|
+
|
12
|
+
python2のstr型は文字列型**ではなくて**バイト型です。printに直に指定されたらその**バイト列**をだしますが、リストやタプルの中にあったら`repr`関数に渡されて**ソースコードに書いたときに等価になる表現**に置き換えられます。
|
13
|
+
今見えている文字列は、そのバイト列と等価なリテラル表現でしょう。
|
14
|
+
|
15
|
+
以上から、python2で実行しているのだと確信できます。
|