位置指定フォーマット

Pythonで学ぶ正規表現

Maria Eugenia Inzaugarat

Data scientist

文字列フォーマットとは?

  • 文字列補間

  • 定型文に任意の文字列や変数を挿入する:

custom_string = "String formatting"
print(f"{custom_string} is a powerful technique")
String formatting is a powerful technique
  • 用途:
    • グラフのタイトル
    • メッセージやエラーの表示
    • 関数への文の受け渡し
Pythonで学ぶ正規表現

フォーマット方法

  • 位置指定フォーマット
  • フォーマット済み文字列リテラル
  • テンプレート方式
Pythonで学ぶ正規表現

位置指定フォーマット

  • プレースホルダーを値で置換

  • str.format()

 

print("Machine learning provides {} the ability to learn {}".format("systems", "automatically"))
Machine learning provides systems the ability to learn automatically
Pythonで学ぶ正規表現

位置指定フォーマット

  • 文字列本体と値の両方に変数を使う
my_string = "{} rely on {} datasets"
method = "Supervised algorithms"
condition = "labeled"
print(my_string.format(method, condition))
Supervised algorithms rely on labeled datasets
Pythonで学ぶ正規表現

値の並べ替え

  • プレースホルダーにインデックス番号を入れると値の順序を変更できる
print("{} has a friend called {} and a sister called {}".format("Betty", "Linda", "Daisy"))
Betty has a friend called Linda and a sister called Daisy

 

print("{2} has a friend called {0} and a sister called {1}".format("Betty", "Linda", "Daisy"))
Daisy has a friend called Betty and a sister called Linda
Pythonで学ぶ正規表現

名前付きプレースホルダー

  • プレースホルダーに名前を付ける
tool="Unsupervised algorithms"
goal="patterns"
print("{title} try to find {aim} in the dataset".format(title=tool, aim=goal))
Unsupervised algorithms try to find patterns in the dataset
Pythonで学ぶ正規表現

名前付きプレースホルダー

my_methods = {"tool": "Unsupervised algorithms", "goal": "patterns"}
print('{data[tool]} try to find {data[goal]} in the dataset'.format(data=my_methods))
Unsupervised algorithms try to find patterns in the dataset
Pythonで学ぶ正規表現

フォーマット指定子

  • 使用するデータ型を指定: {index:specifier}
print("Only {0:f}% of the {1} produced worldwide is {2}!".format(0.5155675, "data", "analyzed"))
Only 0.515568% of the data produced worldwide is analyzed!

 

print("Only {0:.2f}% of the {1} produced worldwide is {2}!".format(0.5155675, "data", "analyzed"))
Only 0.52% of the data produced worldwide is analyzed!
Pythonで学ぶ正規表現

datetime の書式化

 

from datetime import datetime
print(datetime.now())
datetime.datetime(2019, 4, 11, 20, 19, 22, 58582)

 

print("Today's date is {:%Y-%m-%d %H:%M}".format(datetime.now()))
Today's date is 2019-04-11 20:20
Pythonで学ぶ正規表現

練習しましょう!

Pythonで学ぶ正規表現

Preparing Video For Download...