%って書き方を見かけて、初見じゃ解読できずちょっと調べてみましたので、備忘録をつけていきます。
>>> # 参考例
>>> print 'My name is %s %s.' % ('python', 'qiita')
My name is python qiita.
こんな感じ。
で、どうやら、文字列の置き換え
って言うらしい
上の例なら、
My name is %s %s
この、%
に当たる部分を置き換えることが出来る
置き換え方は後半に書いてある、
% ('python', 'qiita')
この部分。
%の後に、カンマ区切りで前者と後者を書いていく。
print 'My name is %s %s.' % ('python', 'qiita')
この場合の出力結果は、
My name is python qiita.
正直、可読性低いなって思います…
普通に文字列でかけば良くないか?
どうしても置き換えたいなら、変数に入れてくれた方がいい気がするんですけどね…
ってのが私の意見です。
そう思ってもう少し調査。
Pythonの文字列フォーマット(formatメソッドの使い方) | ガンマソフト株式会社
こちらの記事によると、Python3ではformatメソッドを使った書き方が一般的らしいですね。
# 参考例
from datetime import datetime
# 今日の日付(例:20210303)
today = datetime.now().strftime("%Y%m%d")
# formatメソッドを使用
file_1 = "file_{}.txt".format(today)
# 出力結果
#file_20210303.txt
こっちの方が %
を使った置き換えより可読性高いかな?って印象です。
置き換え部分が{}
ってなってるから直感的でわかりやすいです。
format()メソッドの使い方
line = "{0}さんの身長は{1}cm、体重は{2}kgです。".format("みっつ", 170, 65)
print(line)
# 実行結果
# みっつさんの身長は170cm、体重は65kgです。
こんな感じで書くらしいです。
うむ、見やすい…(気がします)
置き換え部分はインデックス対応らしいので、インデックスを使い回すって書き方もできそうですね!
所感
Pythonは色んな記法があるから面白いですよね。
調べるたびに新しい発見あります。
3D界隈(Mayaメイン)の私からすると、MELと違って、OSにアクセス出来るってのがステキですね。
エクスプローラー経由で色々できるから、データの保持とかに重宝してます。
あと、配列操作も強い。
MELじゃできないことがPythonならできちゃう。
そこがおもしろいから研究しがいがありますよね。
これからの備忘録はQiitaにつけていこうかしら?
以上