拙著『VBAユーザーのためのPython超入門』は、VBAを使ったことのある方を対象に、Pythonの基本の基本だけをお伝えすることを目的としています。
そのため、ページ数をできるだけ減らし、価格もできるだけ抑えることを心掛けました。こちらのレビューに書いていただいたとおり、(実習を後回しにした場合)2時間以内で読めるボリュームを目標にしていました。
映画ならば、長いなぁとは感じないくらいの時間で、読めるイメージです。
三重引用符・トリプルクォートは拙著で削除
そのため、削った項目もたくさんあります。
VBAより便利に感じてもらえそうな項目は、削除するのをかなり迷いました。そのような躊躇しつつ削除した項目のひとつが、三重引用符・トリプルクォートを使った文字列です。
三重引用符・トリプルクォートを使った文字列とは、シングルクォーテーション「'」を3つまたはダブルクォーテーション「"」を3つで括った文字列です。
シングルクォーテーション「'」による三重引用符・トリプルクォート「'''」は、以下のように使えます。
>>> msg = '''abcde'''
>>> print(msg)
abcde
ダブルクォーテーション「"」による三重引用符・トリプルクォート「"""」も、同じように以下のとおり使えます。
>>> msg = """abcde"""
>>> print(msg)
abcde
三重引用符・トリプルクォートを使えば改行を含む文字列が簡単
こういった三重引用符・トリプルクォートを使うと、改行を含む文字列を簡単に作れます。
VBAで改行を含む文字列を作るには
VBAで改行を含む文字列を作るには、定数等を演算子「&」を使って連結します。
msg = "一行目" & vbNewLine & "二行目"
以上のように代入したmsgを、イミディエイトウィンドウに出力すると、以下のようになります。
? msg
一行目
二行目
Pythonでは三重引用符・トリプルクォートを使えば簡単
Pythonの場合「\n」を使った方法が可能ですが、三重引用符・トリプルクォートを使うと、入力したときの改行をそのまま代入できます。
>>> msg = '''一行目
二行目'''
と変数msgに代入しておいて、printすると以下のように代入したときと同じように改行されます。
>>> print(msg)
一行目
二行目
最初と最後の改行を削除するには
これがわかると、>>> msg = '''
一行目
二行目
'''
のように代入したくなります。
この場合「一行目」の前と、「二行目」の後ろに改行が入った状態でmsgに代入され、printすると以下のように出力されます。
>>> print(msg)一行目
>>>
二行目
「一行目」の前と、「二行目」の後ろに改行が入った状態で出力されています。
str.stripメソッド
この最初と最後の改行を削除した状態でprintするには、str.stripメソッドを使うのが便利です。
>>> print(msg.strip())
一行目
二行目
>>>
「\」で改行をエスケープする
トリプルクォートを使った文字列の代入時にエスケープ文字「\」を使って、先頭と最後の改行を含まないように代入する方法もあります。
>>> msg = '''\
一行目
二行目\
'''
以上のように、最初の改行の前と、最後の改行の前に「\」を入れておくと、以下のように出力できます。
>>> print(msg)
一行目
二行目
>>>
……といった内容を『VBAユーザーのためのPython超入門』で、当初は入れる予定でいたのですが、ボリュームを抑えるために最終的に削除しました。
最終更新日時:2020-07-25 15:35
- Newer:PythonでMarkdown記法の表をHTMLに
- Older:Kidle本のAmazonカテゴリーを変更する方法
Home » 電子書籍 » VBAユーザーのためのPython超入門 » Pythonでは改行を含む文字列がVBAより簡単ー三重引用符・トリプルクォート