【Python学習中】 文字列1(概要とスライス)
今回から全3回にわたって文字列の扱い方について学習していきます。
◆目次◆
文字列とは
文字、文章のこと(文字列型:String)
登場する用語
文字列を扱うときのルール
Pythonで文字列を扱う際は、必ず「’」または「"」で囲む必要があります。
ただし、文字列内の「'」を表示させたい場合は、必ず文字列全体を「"」で囲む必要があります。
例
'Python'
"It's Wonderful World"
よくあるエラー
文字列を「’」または「"」で正しく囲んでいなかったら
こんなエラーが出ます。
print('Hello Python)
SyntaxError: EOL*1 while scanning string literal
構文エラー:文字列リテラルのスキャン中に行が終わってしまった
もしもこのエラーが出たら、文字列を「’」または「"」で正しく囲んでいるか確認します。
文字列のスライス
Pythonでは、文字列の範囲を指定して、区切ることができます。
スライスを使うときの考え方
インデックスが文字と文字の間 を指していると考えます。
例
「Python」という文字列では
最初の文字「P」は「0と1の間」、最後の文字「n」 は「5と6の間」考えます。
1行目の数字は、文字列の 0 から 6 までのインデックスの位置を指します。
2行目の数字は、対応する負のインデックスを指します。
+---+---+---+---+---+---+ | P | y | t | h | o | n | +---+---+---+---+---+---+ 0 1 2 3 4 5 6 -6 -5 -4 -3 -2 -1
- 文字列のスライス
変数[開始位置(インデックス):終了位置(インデックス):ステップ数]
例1
wordに文字列’Python'を代入する
wordに対してスライスの指定を
「開始位置・インデックス1」「終了位置・インデックス5」として出力する
wordに対してスライスの指定を「開始位置・インデックス1」として出力する
wordに対してスライスの指定を「終了位置・インデックス5」として出力する
wordに対してスライスの指定を
「開始位置・インデックス1」「終了位置・インデックス5」「ステップ数2」として
出力する
word = 'Python' print(word[1:5]) print(word[1:]) print(word[:5]) print(word[1:5:2]) # 出力結果 # ytho # ython # Pytho # yh
例2
wordに文字列’Python'を代入する
wordに対してスライスの指定を
「開始位置・インデックス-5」「終了位置・インデックス-1」として出力する
wordに対してスライスの指定を「開始位置・インデックス-1」として出力する
wordに対してスライスの指定を「終了位置・インデックス-5」として出力する
wordに対してスライスの指定を「ステップ数-1」として出力する
word = 'Python' print(word[-5:-1]) print(word[-1:]) print(word[:-5]) print(word[::-1]) # 出力結果 # ytho # n # P # nohtyP
今回は、文字列の概要とスライスについて学習しました。
次回も文字列の扱いについて、引き続き学習していきます。
【Python学習中】 文字列2(文字列の連結とエスケープシーケンス) - Kの備忘録(仮)
【Python学習中】 文字列3(フォーマット済み文字列とraw文字列) - Kの備忘録(仮)
*1:End Of Lineの略。「行の終わり」の意味