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