文字列¶
"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番目の文字
print(a[7:]) # 8文字目から最後まで
print(a[2:4]) # 3文字目から4文字目まで
print(a[:5]) # 最初から5文字目まで
print(a[-1]) # 最後の文字
print(a[:-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 — 一般的な文字列操作を参照ください。