2017-01-12 6 views
1

大括弧に関する簡単な質問。私は括弧が時々印刷される理由を知ることに興味を持ち、時には「目に見えない」ままになっていますか?このケースでは、私が意味することを示すコードと答えの例を挙げることができます。私が入れた場合絶対初心者のためのPython:第2章#Personal_Greeter

は:括弧のない

Larry 
('Hi', 'Larry') 
Enter to exit program 

ラリー、また単一引用符:

name = "Larry" 
print(name) 
print("Hi", name) 
raw_input("Enter to exit program") 

は、なぜ私はこの答えを得るのですか。しかし( 'Hi'、 'Larry')は大括弧と一重引用符で囲まれていますか?

何か起こっていることを誰かが指摘できますか?

+3

Python for Absolute Beginnersの最新版は、2010年1月に公開されたPython 3用の第3版です。Python 2.7を使用しています。 Python 2.7では 'print'は文であり、括弧は必要ありません。したがって、Python 2.7が 'print(" Hi "、name)'と見ると 'print'とタプル'( "Hi"、name) 'が見えます。 Python 3を使用していた場合、2つの引数を持つ関数呼び出しの一部としてかっこが解釈されます。あなたの問題に対する正しい解決策は、あなたの本が教えているものとしてPython 3を使うことです。 –

+1

Btw、米国英語の[]には大括弧が入ります。 –

答えて

2

大カッコ内の式は、特殊なデータ型のタプル(いくつかの値をまとめて収集するもの)として解釈されます。一重引用符と二重引用符は、文字列を表すためにPythonで代わりに使用できます。

print何かがあり、解釈の問題を引き起こす可能性がある場合は、Python 2.7では角括弧は不要です。それらを取り除き、何が起こるかを見てください。

は、このコードと比較する:一方

a = ('hello', 3) #a tuple 
print a 
print 'hello', 3 

を、パイソン3にブラケットが必要であろう。

1

Python for Absolute Beginnersの最新版は、2010年1月に公開されたPython 3用の第3版です。Python 2.7を使用しています。 Python 2.7でprintはステートメントであり、かっこは必要ありません。したがって、Python 2.7がprint("Hi", name)と表示された場合、printとタプル("Hi", name)が表示されます。 Python 3を使用していた場合、2つの引数を持つ関数呼び出しの一部としてかっこが解釈されます。あなたの問題に対する正しい解決策は、あなたの本が教えているものとしてPython 3を使うことです。

のPython 2.7:

>>> name = "Larry" 
>>> print(name) 
Larry 
>>> print("Hi", name) 
('Hi', 'Larry') 

のPython 3:

>>> name = "Larry" 
>>> print(name) 
Larry 
>>> print("Hi", name) 
Hi Larry 

それはfrom __future__ import print_functionを行うことでPythonの3のようにPythonの2.7の行為を行うことが可能ですが、あなたは他に実行されるように私はそれに対してお勧めしますあなたの本を通過する際の非互換性。

+0

よかった、ありがとう。補足的な質問ですが、Python 2.7とPython 3をコンピュータで(個別に)実行できますか?私が別の投稿で言及したように、私がやっているコースでは2.7が必要なので、必要に応じて2.7または3を呼び出すと便利です。 – user7409665

+0

@ user7409665はい、両方同時にインストールすることができます。 –

関連する問題