はじめに

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) 文字列の途中で次の行に継続する

 

今回の文字列の話はここまでです。次回は数字の取り扱いについて紹介します。