- 除算演算子
- print関数
- Unicode
- xrange
- エラー処理
- _future_module
除算演算子
コードを移植したり、python 3.xのコードをpython 2.xで実行したりする場合、整数の除算の変更に気づかないと危険です。xのコードをpython 2.xで実行する場合、整数の割り算の変更が気づかれないと危険です(エラーが発生しないため)。 コードを移植する際に期待される結果を得るためには、浮動小数点数(7.0/5や7/5.0など)を使用することが好ましいです。
print
7
/
5
print
-
7
/
5
div
プリント機能
これは最もよく知られている変更点です。最もよく知られている変更点です。 しかし、Python2ではprintキーワードの後にスペースを入れても、インタプリタはそれを式として評価するため、括弧が機能します。
print
'Hello, Geeks'
print
(
'Hope You like these facts'
)
見ての通りです。 python 2.xで括弧を使用した場合は問題ありません。しかし、python 3.xで括弧を使用しない場合、SyntaxErrorが発生します。
Unicode:
Python 2では、暗黙のstr型はASCIIです。 しかし、Python 3.x では、暗黙の str 型は Unicode です。
print
(
type
(
'default string '
))
print
(
type
(b
'string with b '
))
Python 2.xはUnicodeにも対応しています
print
(
type
(
'default string '
))
print
(
type
(u
'string with b '
))
xrange:
Python2のxrange()です。Python 2.xでは、rangeはrange(3)のようにリストを返すのに対し、xrangeはxrangeオブジェクトを返します。 xrange(3)はJavaのイテレータに似た動作をするイテレータオブジェクトを返し、必要に応じて数値を生成します。
同じシーケンスを何度も反復する必要がある場合は、rangeが静的なリストを提供するので、range()の方が好ましいです。xrange()はシーケンスを毎回再構築します。 xrange()の利点は、タスクが大きな範囲を反復するときにメモリを節約できることです。
Python 3.xでは、range関数がPython 2.xでxrangeが行っていたことを行うようになったので、コードの移植性を保つために、代わりにrangeを使用することに固執したいかもしれません。 つまり、Python 3.xのrange関数は、Python 2.xのxrangeです。
for
x
in
xrange
(
1
,
5
):
print
(x),
for
div x
in
range
(
1
,
5
):
print
(x),
エラー処理です。
どちらのバージョンでも、エラー処理に小さな変更があります。 python 3.xでは’as’キーワードが必要です。
try
:
となります。
trying_to_check_error
except
NameError, err:
print
err,
'Error Caused'
try
:
trying_to_check_error
except
NameError as err:
print
(err,
'Error Caused'
)
__future__モジュールです。
これは基本的には2つのバージョンの違いではありませんが、ここで触れておくと便利なことがあります。 future__モジュールの考え方は、Python 3.xへの移行を助けることです。
もし私たちが2.xのコードでPython 3.xをサポートすることを計画しているのであれば、私たちのコードで_future_のインポートを使用することができます。
例えば、以下のPython 2.xのコードでは、__future__モジュールを使用してPython 3.xの整数分割の動作を使用しています。
from
__future__
import
division
print
7
/
5
print
-
7
/
5
アウトプット :
1.4 -1.4
Python2.xで括弧を使うもう一つの例です。xで__future__モジュールを使用する例です。
from
__future__
import
print_function
print
(
'GeeksforGeeks'
)
div
出力します。
GeeksforGeeks
__future__モジュールの詳細については、こちらを参照してください。
この記事はArpit Agarwalが寄稿しています。 GeeksforGeeksを気に入っていただき、貢献したいとお考えの方は、記事を書いて [email protected] に郵送することもできます。 あなたの記事がGeeksforGeeksのメインページに表示されるのを見て、他のGeeksを助けましょう。