Python 文字列型 string
Publish date: 2021-02-21
Pythonの文字列型について説明します。
文字列の定義
単引用符'
あるいは二重引用符"
で文字を囲むことで文字列を表現できます。
円マーク(バックスラッシュ)\
は特殊な記号で、エスケープや特定の文字を表現できます。
'文字列A' # => 文字列A
'文字列"B"' # => 文字列"B"
'文字列\'C\'' # => 文字列'C'
"文字列1" # => 文字列1
"文字列\"2\"" # => 文字列"2"
"文字列'3'" # => 文字列'3'
print("改\n行\r\nやタブ\t、円マーク\\含む文字列")
## =>
# 改
# 行
# やタブ 、円マーク\含む文字列
円マーク(バックスラッシュ)\
を特殊文字として解釈させたくない場合は先頭にrをつけてraw stringsが使える。
print(r'c:\some\ttt\nnn\path')
## => c:\some\ttt\nnn\path
三連引用符("""、または、''')で複数行の文字列を扱える。
print('''A
B
C''')
# =>
# A
# B
# C
各行の末尾に円マーク(バックスラッシュ)\
を置くと改行が行われないようになる。
print("""A\
B\
C""")
# => ABC
+
で文字列の結合、*
で繰り返しを行える。
文字列がリテラル(引用符で囲まれた文字)の場合 連続して並べることで自動で結合される。
"A" + "B" + "C" # => ABC
"A" "B" "C" # => ABC
"py" * 2 # => pypy
文字列のインデックス
先頭0とした0起算のインデックスの他に、末尾を-1とした後ろからのインデックス指定で、 特定位置の文字を取り出すことができます。
str[0] # => a 先頭の文字
str[1] # => b 先頭から数えて1番目(0起算)の文字
str[2] # => c 先頭から数えて1番目(0起算)の文字
str[-1] # => j 末尾の文字 (str[len(str)-1]と同じ)
str[-2] # => i 末尾から数えて1番目の文字 (str[len(str) - 2]と同じ)
str[-3] # => h 末尾から数えて2番目の文字 (str[len(str) - 3]と同じ)
文字列のスライス
コロン(colon):
で指定した範囲のインデックスで部分文字列を取得できます。
str[0:3] # => abc インデックス0~2の部分文字列
str[5:9] # => fghi インデックス5~8の部分文字列
省略した場合、開始は0、終了は文字列長が指定されます。
str[5:] # => fghij インデックス5以降の部分文字列 (str[5:len(str)]と同じ)
str[:3] # => abc インデックス3より前の部分文字列 (str[0:3]と同じ)
str[1:] # => bcdefghij 先頭だけ取り除いた文字列
マイナスの添字も指定可能です。
str[-5:-2] # => fgh インデックス-5~-3の部分文字列
str[:-1] # => abcdefghi 末尾だけ取り除いた文字列
文字列の長さ
str = "abcdefghij"
len(str) # => 10