【Python】print関数で日本語を使う

この記事では、Pythonののprint関数を用いて日本語を表示する方法をソースコード付きで解説します。

【Python3】print関数で日本語表示

Python3ではprint関数を使ってコンソール画面に日本語を出力します。
使い方は簡単で「print(‘表示させたい文字列’)」を書くだけです。

# -*- coding: utf-8 -*-

print("こんにちは") # 「こんにちは」と表示

【Python2】日本語の扱い方

Python2.xでは、UTF-8、Shift-JIS、 EUC-JPなどの文字コードとは別にUnicode文字列というものが存在します。
PythonではUnicode文字列を使って日本語を扱うことが出来ます。

Unicode文字列の使った日本語の扱い方はいくつかあります。

# -*- coding: utf-8 -*-

data1 = u"にゃんぱす"
data2 = unicode("にゃんぱす", "utf-8")

1行目は、ソースコード中に日本語文字を書く場合に使います。
2行目は、ファイルなどから読み込んだ文字列を変換する場合に使います。
また、UnicodeからUTF-8, Shift-JIS, EUC-JPへ変換するには以下のようにします。

# -*- coding: utf-8 -*-

data = u"にゃんぱす"
data.encode("utf-8")
data.encode("shift-jis")
data.encode("euc-jp")

逆にUTF-8, Shift-JIS, EUC-JPからUnicodeへ変換するには以下のようにします。

# -*- coding: utf-8 -*-

data = "にゃんぱす"
unicode(data, "utf-8")
おすすめ記事
1 【Python2】日本語の扱い方(Unicode、UTF-8、Shift-JIS、 EUC-JP)
2 Python入門 サンプル集
関連記事

コメント

  1. 兵藤 釧八 より:

    お世話になります。
    # -*- coding: utf-8 -*-

    print(“こんにちは”) # 「こんにちは」と表示
    上記をVscode にコピーすると、中国文字が表示されます。なにが悪いのですか?

    • 管理人 より:

      ※兵藤 釧八様
      コメントありがとうございます。
      日本語が文字化けしているのですね。
      お使いのPC環境とPythonのバージョンを教えていただけますでしょうか。