【Python初心者】文字列操作の方法 - 便利なメソッド① -

こんにちは!
ENHANCERのPengです!

今回は「文字列操作の方法」について学んでいきましょう!

今回も便利なGoogle Colaboratory を使っていきましょう!

Google Colaboratoryをインストールしていない方はこちら ↓

Google ColaboratoryでPythonを始めよう!

文字列

Pythonにおける文字列は、以下のようにダブルクォーテーション(”)で囲むことで認識されます。

"こんにちは!"

‘こんにちは!’

このダブルクォーテーションが実は結構重要で、これを付けないとエラーが表示されます。

#エラーが表示される
こんにちは!

SyntaxError: invalid character in identifier

文字列を入力するときはダブルクォーテーションで囲うこと忘れないでください。

複数行の文字列を書く

文字列を複数行書くにはどうすればいいでしょうか。
先ほどの例で示したようにダブルクォーテーションで囲んだ文字列でも複数行書けます。

"こんにちは!"
"僕の名前はPengです"

一応書けないことはありませんが、もう少しスタイリッシュに書きたいですよね。

そこで、ダブルクォーテーションを三つ使うことでまとめて文字列を書けます!

""" こんにちは!
    僕の名前はPengです
"""

こちらの方が文字列としていくらか見やすいと思います。

文字列から文字を抽出する

文字列から文字を抽出するためには、文字列の位置(インデックス)を指定する必要があります。

my_name = "Peng"

print(my_name[0])
print(my_name[1])
print(my_name[2])
print(my_name[3])

※一つだけであればprint()を使わなくても出力できます。

P
e
n
g

ここで注意するのは一文字目はインデックス0であるということです。
よってprint(my_name[0])を実行すると、一文字目 “P” が出力されます。

実は後ろから数えることもできます!

#後ろから数える
my_name = "Peng"

print(my_name[-4])
print(my_name[-3])
print(my_name[-2])
print(my_name[-1])

※一つだけであればprint()を使わなくても出力できます。

P
e
n
g

後ろから数える場合には、一番後ろの文字が ”-1” で選択できます!
ここでは “g”ですね。

文字列の足し算、掛け算

実は文字列の足し算や掛け算なんかもできます。

#文字列の足し算
"僕は" + "昨日" + "たくさん寝ました"

‘僕は昨日たくさん寝ました’

うらやましい文章に仕上がりましたね!

#文字列の掛け算
"北斗百裂拳" * 100

‘北斗百裂拳北斗百裂拳北斗百裂拳北斗百裂拳…………北斗百裂拳’

なんか中国語みたいですね。
このように、足し算、掛け算は横に文字列を追加していきます!

文字列を操るメソッド

ここからは文字列を自在に操るメソッドたちを紹介します。

メソッドは [○○.upper()] のように、変数や値の後に付けて呼び出すことができます。

大文字、小文字の変換

英語を書いていて、文字を大文字にしたり、小文字にしたりしたいと思ったことはありませんか?

その悩みにこたえるべく、さまざまなメソッドが用意されています!

upper() … 大文字に変換

lower() … 小文字に変換

capitalize() … 先頭の文字だけ大文字に変換

#大文字に変換
"I have a pen.".upper()

‘I HAVE A PEN.’

#小文字に変換
"PENGUIN".lower()

‘penguin’

#先頭の文字だけ大文字
"python".capitalize()

‘Python’

すばらしいですね!

文字列の一部を穴埋めする

format() を使うと、文字列の一部に穴埋めを行うことができます。

"こんにちは!、{}です!".format("あなたの名前")

‘こんにちは!、あなたの名前です!’

このように、文字列のなかの {} の部分に後から文字を追加することができるというわけです。

format() は変数も扱うことができます。

name = "あなたの名前"
"こんにちは!、{}です!".format(name)

‘こんにちは!、あなたの名前です!’

また、{}はいくつも重ねることができます。

"この{}は{}です".format("鳥", "ペンギン")

‘この鳥はペンギンです’

このformat() は例えば以下のようなプログラムを書くときに便利です。

names = input("あなたの名前は?")
birth = input("あなたの生まれた年は?")
age = input("あなたの年齢は?")

"私の名前は{}です。{}年に生まれました。私は今{}歳です。".format(names, birth, age)

これは自分が打ち込んだ文字を使って自己紹介文を作ってくれています!

文字列を分割する

文字列を分割してリストを作成したいときはありませんか?
そんなときは split() がおすすめです!

"最初に海に飛び込むペンギンは、ファーストペンギンと呼ばれる".split("、")

[‘最初に海に飛び込むペンギンは’, ‘ファーストペンギンと呼ばれる’]

ここでは “、” で文字列を分割し、リストにするように指示を出しています。

例えばこんな分け方もできます。

"最初に海に飛び込むペンギンは、ファーストペンギンと呼ばれる".split("に")

[‘最初’, ‘海’, ‘飛び込むペンギンは、ファーストペンギンと呼ばれる’]

ここでは ”に” で文章を分けています。

文字列の間に文字を入れたり、結合したりする

文字列の間に文字を入れたり、文字列を結合したりしたい場合は、join() を使うといいでしょう。

god = "トト"
veg = "マ".join(god)
veg

‘トマト’

fault = "マボドフ"
dish = "ー".join(fault)
dish

‘マーボードーフ’

このように、join() を使うと文字の間に文字を入れることができます!

また、文字の結合も可能です。

sent = ["僕は", "昨日", "カレーライスを", "食べたんだよ"]
per = "ね、".join(sent)
per

‘僕はね、昨日ね、カレーライスをね、食べたんだよ’

リストを指定した文字で結合することに成功しました!
join() は ” ” で空欄を指定することもできます。

練習問題

さあ、ここまでやってきた内容を活かして練習問題を解いてみましょう!

  1. 文字列 “Penguin” から “u” を出力しよう。
  2. 三つの文字列を足し算と掛け算両方使って”今日はルンルン気分”と出力しよう。
  3. 文字列の入力を受け取り、誰が、いつ、どこで、どうした、を文章として出力しよう。(※ヒント:format() を使おう。○は○に○で○)
  4. 好きな文字列を好きな文字で分割した後、”+”でそれぞれを結合しよう。

おわりに

文字列操作の方法-便利なメソッド①-はいかがだったでしょうか。

他にも非常に便利なメソッドが多数存在しているので、ぜひ調べてみてください!
今回使ったコード、問題の解答例はGitHubにアップしてありますので、以下のリンクからそちらもあわせてご確認ください。

【Python初心者】文字列操作の方法 -便利なメソッド①-

 

GitHubについては場合はこちらの記事にまとめてあります!
何かわからない場合は確認してみるといいかもしれません。

【プログラミング初心者向け】GitHubって何?

 

またはこちら!

30秒クッキング~一瞬でPythonを始める裏技~

それではまた次回の記事でお会いしましょう!
お疲れ様でした!!

 

ENHANCER Peng

 

“【Python初心者】文字列操作の方法 - 便利なメソッド① -” への3件の返信

コメントを残す

メールアドレスが公開されることはありません。