はじめに
Pythonの言語(文法や値などの取り扱い)の前に、まずは開発言語の定番である「Hello World」の表示と文字列の取り扱いをここでは紹介します。
まずは、Pythonを起動します。以下のようにコマンドプロンプトで「python」と入力し、Enterします。
C:\>python Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> |
Pythonの文字列の扱い
Pythonでは、文字列はシングルクォーテーション「'」かダブルクォーテーション「"」で囲んで定義することになっています。
まずはシングルクォーテーションを使用すると次のようになります。
>>> 'Hello World' 'Hello World' |
次にダブルクォーテーションを使用すると次のようになります。
>>> "Hello World" "Hello World" |
では、シングルクォーテーションが文字列中に含まれる場合どうすればよいか?というと、次のようにダブルクォーテーションで囲んで、その中でシングルクォーテーションを使用します。
>>> "I'm tomizo_no.2." "I'm tomizo_no.2." |
今度は、逆に、ダブルクォーテーションが文字列中に含まれる場合はどうすればよいか?というと、次のようにシングルクォーテーションで囲んで、その中でダブルクォーテーションを使用します。
>>> 'tomizo_no.2は"yun-craft.com"というサイトに訪れました。' 'tomizo_no.2は"yun-craft.com"というサイトに訪れました。' |
さらに言うと、ダブルクォーテーションとシングルクォーテーションが両方ある場合はどうすればよいか?というと、残念ながら都合よく両方の対応はできないようですので、その場合、どちらか一方はエスケープ文字「\」を直前につける必要があります。
例えば、次のように囲んだシングルクォーテーションまたはダブルクォーテーションの反対の文字の直前にエスケープ文字「\」を付与したエスケープシーケンスを使用します。
>>> 'tomizo_no.2は"yun-craft.com"というサイトの中で\'Python\'の記事にコメントしました。' 'tomizo_no.2は"yun-craft.com"というサイトの中で\'Python\'の記事にコメントしました。' |
出力文字列中に「\」が含まれていますが、エスケープシーケンスも含めて出力されているので、内部的には「'」として処理されています。
また、入力文字列が長い場合、「\」の直後で「Enter」をすると、次の行に続きが入力できます。
>>> 'Hello \ ... World' 'Hello World' |
さらに、改行文字を含んだ長い文字列の場合は、シングルクォーテーションかダブルクォーテーションを3つ続けて開始と終了のところで囲みます。
>>> '''Hello ... World! ... Hello ... World!'' "Hello World!\n Hello World" |
この場合、改行したところに改行文字「\n」が含まれています。
行末の改行コードの有無は、上記の行末に「\」「Enter」を入れるかどうかで改行有無を制御できます。
>>> '''Hello \ ... World! ... Hello \ ... World!''' 'Hello World! \nHello World!' |
参考:よく使うエスケープシーケンスの一覧
エスケープシーケンス | 意味 |
---|---|
\\ | 「\」文字そのもの |
\' | シングルクオーテーション |
\" | ダブルクオーテーション |
\r | キャリッジリターン |
\n | 改行 |
\t | 水平タブ |
\0 | NULL |
\(Enter) | 文字列の途中で次の行に継続する |
今回の文字列の話はここまでです。次回は数字の取り扱いについて紹介します。