Kの備忘録(仮)

Python、VBA、Excelを中心に記事を投稿

【Python学習中】 文字列3(フォーマット済み文字列とraw文字列)

前回に引き続き、文字列の表示方法について学習してきます。

今回は、文字列と数値を一緒に出力できる書式方法「フォーマット済み文字列」と
フォルダパスを出力するときに便利な書式方法「raw文字列」について書いていきます。

◆目次◆

フォーマット済み文字列

前回の記事で「型が異なる変数を連結することはできません。」と記載しましたが
「フォーマット済み文字列」 という書式方法を使うと、型が異なる変数を使っても連結が可能になります。

フォーマット済み文字列の書き方は、文字列リテラルの前に「f」と書いて、変数や式をを{}で囲みます。

month = 6
print(f'今日は{month}月です。' )
# 出力結果
# 今日は6月です。

これで文字列と数値を一緒に出力できるようになりました。

raw文字列

たとえばフォルダパスを出力したい場合、今までの方法だと、バックスラッシュを出力したいときは以下のように「\\」と入力する必要がありました。

print('C:\\Users\\ユーザー名\\Desktop')
# 出力結果
# C:\Users\ユーザー名\Desktop

しかし、この方法だとフォルダパスが長い場合は正直面倒です。
そんなときは、「raw文字列」を使うと、そのままフォルダパスをコピーして貼り付けるだけで、正しいパスが出力できます。

raw文字列の書き方は、文字列リテラル(今回の場合はフォルダパス)の前に「r」と書くだけです。

print(r'C:\Users\ユーザー名\Desktop')
# 出力結果
# C:\Users\ユーザー名\Desktop

これで長いパスでも簡単に正しく出力することができました。


基本的な文字列の出力についての学習は、以上とします。
他にも、組み込み関数を使って、文字列のことを調べたり、操作することは可能ですが
それは今後、リストについて学習する際に一緒に紹介したいと思います。

最後に、実際にメッセージボックスにフォーマット済み文字列とraw文字列を使って、文字列の表示をしてみたいと思います。

メッセージボックスに文字列を表示させる

メッセージボックスを表示させるにあたり、今回はtkinterモジュールを使います。
tkinterとは、Pythonに標準搭載されているGUIアプリケーションモジュールです。

tkinterの様々な使い方については、別の機会で学習したいと思います。
(あくまで、今回はメッセージボックスを使うのみです)

例 「6月17日」というタイトルのメッセージボックスにフォルダパスを表示させる

#tkinterモジュールをインポートしてtkとする 
import tkinter as tk

# tkと書かれた小窓を非表示にする
root = tk.Tk()
root.withdraw()

# 変数に月、日、フォルダパスを格納する
month = 6
day = 17
folder_path = r'C:\Users\ユーザー名\Desktop\work\2106'

# メッセージボックスに変数を含んだ文字列を表示させる
messagebox.showinfo(f'{month}月{day }日', f'フォルダ「{folder_path}」に\n入っているファイルを更新してください')

出力結果
f:id:lbibouroku:20210619231414p:plain

フォーマット済み文字列とraw文字列を使って正しくメッセージボックスに表示できました。


以上で文字列の学習を(一旦)完了とします。

【Python学習中】 文字列1(概要とスライス) - Kの備忘録(仮)
【Python学習中】 文字列2(文字列の連結とエスケープシーケンス) - Kの備忘録(仮)