2016-12-19 12 views
0
print ("Hello" , "World") 

出力は( 'Hello'、 'World')です。なぜこんにちはワールドだけではないのですか?この出力を説明してください。

('hello', 'world') 
('hello', 'world') 
hello , world 

印刷文です:私たちは

出力持ちのpython 2.7で (私はpythonのに非常に新しいです3週間前に学び始めた。。)

+0

タプルを印刷しています。 – DejaVuSansMono

+0

print( "hello"、 "world")は 'hello、world'を出力します。しかしprint( 'hello'、 'world')は実際にタプルを印刷しています。 '( 'hello'、 'world')' –

+2

@VikashSinghいいえ。どういたしまして。 –

答えて

2

。それはちょうどそのようなパラメータを渡します。したがって、括弧の中に1つのオブジェクトがあれば、それはうまく動作します。しかし、括弧の中に複数のオブジェクトがある場合、それらはタプルオブジェクトとして渡されます。タプルはタプルのように印刷されます。

基本的に

print('a', 'b') 

a = ('a', 'b') 
print(a) 
# or 
print a 

# output : ('a', 'b') 

と同じであり、それはあなたが期待するものです。

一方、python 3では、Printは関数です。だからあなたはそれを呼び出さなければなりません。 基本的に 'hello'、 'world'はタプルではありません。むしろ複数の引数が別々にprint関数に渡されます。

print('hello', 'world') 

出力:

hello world 

同じ効果を達成するために、我々はこの

print(('hello', 'world')) 

出力行う必要があります3.5:

('hello', 'world') 

をあなたはより多くを読むことができますここ:http://sebastianraschka.com/Articles/2014_python_2_3_key_diff.html

+0

この基本的な質問に完全に答えたいのであれば、少なくとも、print文とprint関数の違いを説明することができます。 –

-3

python 2.7でprintを使用しようとしているので、pythontはタプルを印刷するように求めています。あなたがたやPython 3を使用して代わりにする場合

print "Hello", "World" # without the parentheses! 

それとも

print "%s %s" % ("Hello", "World") 

あるいは

from __future__ import print_function 
print("Hello", "World") 

:出力へのpython 2.7でちょうどHello Worldの、あなたのような何かを行うことができますPython 2では、特別なインポートをしなくてもすでに印刷機能を利用できます。タプルについて詳しく知りたい場合は、この中でタプルを見ることをお勧めします。link

+0

OPの質問のために実際に動作するコードを投稿してください。そうすれば、答えはより重要になります。 – Bek

4

これは、Python3とPython2の間のいくつかの後方互換性のない変更の1つです。

Python2では、printが声明でした。 Python3では、関数呼び出しに変換されました。Pythonでのステートメントは、このようなものです:

x = 3 
import this 
from math import pi 

関数呼び出しは次のようになります。

some_list.sort() 
counter.most_common() 

括弧()「この事を呼んで」を意味するものです。

あなたは、Python、あなたshould learn with Python3を学んでいるが、あなたはそれをインストールすることはできませんか、何らかの理由にしたくない場合は、__future__インポートをPython2でこの動作を得ることができる場合:

Python 2.7.10 (default, Oct 23 2015, 19:19:21) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from __future__ import print_function 
>>> print('the future', 'looks better') 
the future looks better 

Pythonスクリプトの場合は、ファイル内の最初の非コメント行でなければなりませんが、repl(対話インタプリタ、プロンプトが>>>のもの)では、いつでもインポートを実行できます。

関連する問題