Python 2.xとPython 3.xの違いとは?初心者にもわかる主な相違点を徹底解説
Pythonには大きく分けて「Python 2.x」と「Python 3.x」という2つの系列が存在します。結論から言えば、Python 2.xは過去の遺産(レガシー)であり、Python 3.xこそが現在、そして将来にわたって言語の主流となるバージョンです。
現在Pythonを学ぶのであれば、特別な理由がない限りPython 3.xを選択するのが基本です。ここでは、Python 3.xでのみ利用可能で、Python 2.xでは使えない主な機能を紹介します。
Python 3.xで新たに追加された主な機能
文字列がデフォルトでUnicode対応
Unicodeとバイト列(bytes)の明確な分離
例外のチェーン(例外連鎖)機能
関数アノテーション(型ヒントの基盤となる記法)
キーワード専用引数の構文
拡張されたタプルのアンパッキング
nonlocal宣言による非ローカル変数の扱い
Python 2.xとPython 3.xの主な違い
1. print文とprint関数
最も有名な違いがprintの扱いです。Python 2では「print」は関数ではなくステートメント(文)として扱われるため、出力したいテキストを括弧で囲む必要はありません(囲んでも動作します)。一方、Python 3ではprintは正式な関数となり、出力したい内容を必ず括弧の中に渡す必要があります。
# Python 2
print "Hello World"
# Python 3
print("Hello World")
2. リスト内包表記における変数の扱い
Python 2.xでは、リスト内包表記で繰り返し処理に使う変数名がグローバル変数と同じ名前だった場合、そのグローバル変数の値が意図せず書き換えられてしまうことがありました。Python 3.xではこの問題が解消され、内包表記内の変数は外部のスコープに影響を与えなくなっています。
3. 整数除算(int型同士の割り算)の挙動
Python 2では、小数点以下を伴わない数値はすべて整数(int型)として扱われるため、割り算を行うと予期しない結果になることがあります。
例えば「3 / 2」の計算結果を見てみましょう。
Python 3: 1.5(通常の除算として計算される)
Python 2: 1(小数点以下が切り捨てられる)
Python 3で整数除算を行いたい場合は「//」演算子を使用します。逆に、Python 2で小数点以下まで含めた除算(float除算)を行いたい場合は、式の中の数値に「.0」を付けて浮動小数点数として扱う必要があります。
# Python 3
3 / 2 # 結果: 1.5
3 // 2 # 結果: 1(整数除算)
# Python 2
3 / 2 # 結果: 1
3 / 2.0 # 結果: 1.5(float除算)
まとめ
Python 2からPython 3への移行に伴い、上記以外にも多くの仕様変更が行われました。2020年1月にはPython 2の公式サポートも終了しているため、これから新しく開発を始める方は迷わずPython 3.xを選びましょう。
Python 3の変更点についてより詳しく知りたい方は、公式ドキュメント「What's New in Python 3」が参考になります。
-
Wi-Fi 6と5Gの違いとは?特徴・速度・使い分けを徹底解説
5Gネットワークは、SNSなどでも頻繁に話題になる注目の技術です。同様に、Wi-Fi 6への期待も高まっていますが、これは5Gとはまったく異なる技術です。本記事では、Wi-Fi 6と5Gネットワークの違いをわかりやすく解説します。 Wi-Fi 6とは? Wi-Fi 6は、IEEE 802.11ax規格に基づく新しい認証プログラムです。従来のWi-Fi技術と異なる最大の特徴は、より遠い距離でも高速な接続を実現できる点にあります。複数のデバイスが同時に接続されていても安定したパフォーマンスを発揮し、電源環境に多少の問題があっても性能が低下しにくいという優れた特性を持っています。 Wi-Fi 6は
-
Windows 10とWindows 11の違いを徹底比較!アップグレードすべきか判断するポイント
Microsoft(マイクロソフト)は、数々の新機能と改善点を盛り込んだ最新OS「Windows 11」をリリースしました。一方で、これまで数多くのパッチやアップデートが適用されてきたWindows 10は、新しいWindows 11よりも安定したOSと言えます。Microsoftによると、Windows 10のサポートは2025年以降に終了する予定のため、Windows 11へアップグレードするか、Windows 10を使い続けるかを検討する時間は十分にあります。この記事では、Windows 10とWindows 11の性能・機能・改善点を比較し、新しいOSへ移行すべきか、それともWindo