文字列

“Hello”などの文字が並んだものを文字列と表現します。

文字列リテラルの指定方法

文字列リテラルは以下のように記述できます(文字列リテラルとは、プログラム中に直接書かれた文字列のことです)。

  • 引用符としてシングルクォート(')で囲む。
  • 引用符としてダブルクォート(")で囲む。
  • 三重引用符(’‘‘3つのシングルクォート’‘’, “”“3つのダブルクォート”“”)で囲む。この場合は複数行に分けることができる。
hello = 'Hello, World!'
greeting = "Good morning!"
information = '''こんにちわ世界。
さあ、Pythonを学びましょう。
'''
print(hello)
print(greeting)
print(information)

インデックス指定とスライス

[位置]を用いて、指定した位置の文字列一文字を取得できます。これをインデックス指定と呼びます。負の数を指定すると、後ろから数えます。たとえば、-1は最後の文字、-2は最後から2番めの文字になります。 また、[位置1:位置2]を用いて、文字列の一部を抽出できます。これをスライスと呼びます。位置1を省略すると先頭からになります。位置2を省略すると最後までになります。

a = 'Hello, World'
print(a[0])  # 1番目の文字 

1番目の文字

print(a[7:])  # 8文字目から最後まで

8文字目から最後まで

print(a[2:4])  # 3文字目から4文字目まで

3文字目から4文字目まで

print(a[:5])  # 最初から5文字目まで

最初から5文字目まで

print(a[-1])  # 最後の文字

最後の文字

print(a[:-3])  # 最初から末尾3文字目の直前まで

最初から末尾3文字目の直前まで

ファイル名の拡張子(最後の3文字)だけ取り出す。ファイル名から拡張子を取り除くなどに使われます。

file_name = 'hello.exe'

# 拡張子
print(file_name[-3:])  # exe
# 拡張子を除く
print(file_name[:-4])  # hello

特殊文字

改行は、他のプログラミング言語と同じように、\nを使います。また\tはタブとして使えます。 以下のように、\はエスケープ文字で、次に続く文字を特殊文字とみなしません。

  • \\はバックスラッシュそのものになります。
  • '\''はシングルクォーテーションです。"'"のようにエスケープなしでも書けます。
  • "\""はダブルクォーテーションです。'"'のようにエスケープなしでも書けます。

raw文字列

r'...'r"..."のように引用符の前にrをつけた文字列をraw文字列といいます。raw文字列は、\がエスケープ文字になりません。すなわち、単独の\でバックスラッシュを表します。 たとえば、r'\n''\\n'と同じです。

フォーマット済み文字列リテラル

Python3.6から、フォーマット済み文字列リテラル( formatted string literal )またはf-stringsが追加されました。 文字列リテラルの引用符の前に f または F をつけます。 引用符の中に変数などを {変数} と指定します。 変数に代入されている値が展開されて表示されます。

var1 = "Hello"
var2 = 100

print(f'{var1} World')
# 「Hello World」 と表示

print(f'{var2} 歳')
# 「100 歳」 と表示

fruits = ['もも', 'りんご', 'なし']
print(f'今日の果物: {fruits[1]}')
# 「今日の果物: りんご」 と表示

公式ドキュメント

さらに詳しく学ぶには、string — 一般的な文字列操作を参照ください。