Python2 と Python3 の print の違い

大家讲道理
大家讲道理オリジナル
2016-11-07 10:28:311287ブラウズ

情報を出力する print() メソッドは Python2 と Python3 の両方で提供されていますが、2 つのバージョン間の出力は若干異なります

主に次の点に反映されます:

1. Python3 の Print は組み込み関数です。多くのパラメータがあり、Python2 の print は文法的な構造です。

2. Python2 は括弧なしで出力できます: print 'hello world'、Python3 では括弧が必要です print("hello world")

3。入力文字列は引用符で囲む必要があります。文字列以外の型を読み取るときに発生するいくつかの動作を回避するには、input() の代わりに raw_input() を使用する必要があります

1 では、おそらく開発者は print に 2 つの関数があると感じているでしょう。同時に、アイデンティティは少し不快だったので、関数のアイデンティティだけを保持しました:

>>> print 'pythontab.com'
SyntaxError: Missing parentheses in call to 'print'

したがって、これは関数であるため、Python3 では print に括弧を使用する必要があります。

2. Python3 の print 関数には複数のパラメーターがあります。 関数プロトタイプは次のとおりです。

print(value1, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

上記のメソッド プロトタイプからわかるように、print は複数のパラメーターをサポートし、複数の文字列の出力をサポートします。同時に (そのうち... は任意の数の文字列を意味します);

2. sep は複数の文字列を接続するために使用される文字を意味します。このパラメータを改行なしで指定することで、Python 2 での print ステートメントを簡単に設定できます。ただし、Python 3.x では、print() が組み込み関数になり、「,」を追加する古い方法は機能しなくなります。

>>> print("python", "tab", ".com", sep='')
pythontab.com
 
>>> print("python", "tab", ".com", sep='', end='') #就可以实现打印出来不换行
pythontab.com

3. Python2の入力の落とし穴

print ("what do you like")
a = input("Enter any content:")
print ("i like",a)

文字列を入力するとエラーが報告されますが、Python3ではこの問題はうまく解決されています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。