ちこり学習日記 5日目

前回の振り返り

前回は以下のことをしました。

実践力を身につける Pythonの教科書 に取り組む(Chapter 2-2 変数について まで)
シグマ基本問題集 英文法 を解く(1.文 の4番まで)


今日の取り組み

Chapter 2-3 文字列について に入ります。
前回も少し書きましたが、Python3で文字列の表記をする時には「"」か「'」で括ってあげます。

# シングルクォーテーションの場合
print('Hello World!')
# ダブルクォーテーションの場合
print("Hello World!")


出力結果はどちらも一緒です。
前回、「'」と「"」どちらで記述してあげた方がいいのか?という疑問が自分の中に出てきましたが、用途によって使い分けるといった感じでした。
例えば...

# シングルクォーテーションを文字列で使いたい場合
print("I'm Chico.")
# ダブルクォーテーションを文字列で使いたい場合
print('"Oh,no!"')


このように使い分けることが出来ます。
しかし、文字列の中にシングルクォーテーションとダブルクォーテーションが混在している時はどうしたらいいのでしょうか?
そういう時はエスケープシーケンスを使用します。エスケープシーケンスって何ぞや?ほら、「\n」こういうやつ。
もちろん「\n」だけではなく色々なエスケープシーケンスがあります。
本にもエスケープシーケンスはいくつか書かれているのですが、書かれていないのもあるので以下のサイトを見た方が早いです。
丁寧にまとめられていて私のような初心者にはとてもありがたいです...
エスケープシーケンス - 文字列 - Python入門
今回はシングルクォーテーションとダブルクォーテーションの話をしているので、その2つのエスケープシーケンスを使ってみます。

しっかり機能してくれました。今回はREPLでやったから見にくくてごめんね...

次は三重引用符を利用します。けど三重引用符ってなんだ。

複数行にわたって文字列を記述したい場合に、三重引用符を使うことができます。
三重引用符とは、ダブルクォート(あるいは、シングルクォート)を3つ連続で記述したものです。
クジラ飛行机『実践力を身につける Pythonの教科書』 44ページ(マイナビ出版・2016年)

記述の仕方は分かりましたが、どう使えばいいのかは分からないので試してみます。

str = """
るんるんるん
がおがおー
ぼぼー
どーん
"""

print(str)


見やすい!!
しかし文字列の前後に空行が入っています。なんで?

str = """\n
るんるんるん
がおがおー
ぼぼー
どーん\n
"""

print(str)

それは1行目と文字列の末尾に改行が入ってしまっているから。見やすいように「\n」を記述してみました。そういえば改行してたね。
空行をなくす為に「\」という改行を無視するエスケープシーケンスがあるので使ってみます。そういえばさっきのリンク先「\」の説明なかったかな...?今書いたしいいよね

エスケープシーケンスすごーい!空行をなくすことが出来ました。
少し短めですが今日のPythonはここまで。


紀伊国屋書店に行ったら、ド定番の Essential Grammar in Use があり購入してみました。
実はこの本10年くらい前に少し触れたことがあるのですが、豊富なイラストに問題ととても親切でそこが購入の決め手でした。
まあ当時はイヤイヤ英語を勉強していて全然やらなかったのですが。もったいないことしたよお前...
シグマ基本問題集 英文法はしばらく寝かせておこうと思います。