Python勉強7日目

Python_f文字列のオプション Python

本日もおつかれさまでした。少し日付空いちゃったけど、ちゃんと生きてます。

仕事はぼちぼちです。頑張りすぎるのをやめた感はあります。

あ、でも最近すごくお腹が出てきたので、ダイエットしはじめました。笑

そんな感じで今日は復習のf文字列に〜オプションというものがあるらしく。

新しく見るようなのばっかりで戸惑ってますが早く慣れたいですなーん!

Python基礎文法その6|f文字列のオプションを解説!

Pythonを書いていると、こんなコードを見たことはない?

name = "Taro"

print(f"こんにちは {name}")

これは f文字列(f-string) という機能!

f文字列を使うと、

  • 文字を見やすくできる
  • 数字を整えられる
  • 小数点をそろえられる
  • カンマ区切りにできる

こんな便利なことができる!

・・・前回すこしだけやってるね。。。復習・・・これは私の復習・・・。

今回は

  • f文字列の基本
  • オプションの使い方
  • よくあるミス
  • 実践的な使い方

を解説していく!


f文字列って何?

f文字列は、文字の中に変数を埋め込める機能!

基本形

name = "Yamada"

print(f"こんにちは {name}")

実行結果

こんにちは Yamada

{} の中に変数を書くと、その値が表示される!

かなり便利!


f文字列のオプションとは?

f文字列は、表示の形を変更できる!

基本形はこれ!

f"{値:オプション}"

例えばこんな感じ!

price = 1000000

print(f"{price:,}")

実行結果

1,000,000

カンマ区切りになった!


よく使うオプション一覧

オプション内容
:,カンマ区切り
.2f小数点以下2桁
>10右寄せ
<10左寄せ
^10中央寄せ
0>50埋め
%パーセント表示

ここから1つずつ見ていこう!


カンマ区切り :,

コード

money = 5000000

print(f"{money:,}")

実行結果

5,000,000

数字がかなり見やすくなる!

お金を表示するときによく使う!


小数点以下をそろえる .2f

コード

pi = 3.141592

print(f"{pi:.2f}")

実行結果

3.14

.2f は、

  • 小数点以下2桁
  • float形式

という意味になる!


なぜ .2f になるの?

分解するとこう!

記号意味
.2小数点以下2桁
ffloat型として表示

だから 3.1415923.14 になる!


inputを使った利子計算で学ぼう!

ここが初心者にかなり大事!

input() は、入力した値が 文字列 になる!

だから、そのまま計算するとエラーになる!


まずは間違ったコード

コード

money = input("預金額を入力してください: ")

interest = money * 0.05

print(interest)

実行結果

TypeError

なぜエラーになるの?

input() で入力した値は文字列だから!

例えば、

"1000"

これは数字っぽく見えるけど、実は文字!

だから、

"1000" * 0.05

は計算できない!


正しい書き方

int() で数字に変換しよう!

コード

money = int(input("預金額を入力してください: "))

interest = money * 0.05

print(interest)

実行結果

預金額を入力してください: 100000
5000.0

これで計算できた!


カンマ区切りにしてみよう!

コード

money = int(input("預金額を入力してください: "))

interest = money * 0.05

print(f"利子は {interest:,} 円")

実行結果

預金額を入力してください: 1000000
利子は 50,000.0 円

かなり見やすくなった!


小数点以下もそろえよう!

コード

money = int(input("預金額を入力してください: "))

interest = money * 0.05

print(f"利子は {interest:,.2f} 円")

実行結果

預金額を入力してください: 1000000
利子は 50,000.00 円

:,.2f の意味

これは超よく使う!

記号意味
:オプション開始
,カンマ区切り
.2f小数点以下2桁

つまり、

50,000.00

みたいに整った表示になる!


右寄せ >

コード

name = "Python"

print(f"{name:>10}")

実行結果

    Python

右側に寄る!


左寄せ <

コード

name = "Python"

print(f"{name:<10}")

実行結果

Python

左側に寄る!


中央寄せ ^

コード

name = "Python"

print(f"{name:^10}")

実行結果

  Python  

真ん中に表示される!


0埋め 0>

コード

num = 25

print(f"{num:0>5}")

実行結果

00025

桁数をそろえる時によく使う!


よくあるエラー

エラー例1:fを忘れる

コード

name = "Taro"

print("{name}")

実行結果

{name}

変数が展開されない!


なぜこうなるの?

f文字列は、先頭に f が必要!

正しくはこれ!

name = "Taro"

print(f"{name}")

エラー例2:コロン : を忘れる

コード

price = 1234.567

print(f"{price,.2f}")

実行結果

SyntaxError

なぜエラーになるの?

オプションを書く前には : が必要!

正しくはこれ!

price = 1234.567

print(f"{price:,.2f}")

エラー例3:文字列に .2f

コード

name = "Python"

print(f"{name:.2f}")

実行結果

ValueError

なぜエラーになるの?

.2f は数字専用だから!

文字列には使えない!


実際の開発ではどう使う?

かなり使う!(AIが言うに)(私はまだよくわかってないです)

例えば:

  • 金額表示
  • 売上データ
  • レポート
  • ログ出力
  • CSV確認
  • 表示の整形

など!

特に、

f"{price:,.2f}"

は実務で超よく見る!


おすすめの書き方

金額表示

price = 3980

print(f"料金: {price:,}円")

実行結果

料金: 3,980円

小数点をそろえる

score = 93.456

print(f"点数: {score:.1f}")

実行結果

点数: 93.5

表っぽく表示する

コード

name = "Taro"
score = 95

print(f"{name:<10} {score:>5}")

実行結果

Taro          95

かなり見やすい!


便利な知識

= を使うとデバッグできる!

Python3.8以降で使える!

コード

name = "Python"
age = 20

print(f"{name=}")
print(f"{age=}")

実行結果

name='Python'
age=20

変数確認に超便利!


まとめ

  • f文字列は文字の中に変数を入れられる
  • : を使うと表示オプションを書ける
  • :, でカンマ区切り
  • .2f で小数点以下2桁
  • :,.2f は実務で超よく使う
  • input() の値は文字列なので int() が必要
  • > < ^ で位置調整できる
  • 0> で0埋めできる
  • f の付け忘れは初心者あるある
  • 型が合わないとエラーになる

f文字列を使えるようになると、Pythonコードがかなり読みやすくなる!

ぜひ色々試してみよう!

・・・とのことです。少しずつ実践向きになってきた気がする・・・(まだまだ)

はやくシステムを描きたい気持ちもありますが、時間が足りん〜!!!

あ、そいや、先週の土日、油田に行くって言ったじゃないですか。

高速道路でエンジンの振動が激しくなってJAF読んでイグニッションコイル交換の対応でした・・・。

土日のプランが泡のようになくなっていきました・・・。

また今度いきたいな。

今週は浜名湖でボートレースSGがあるのでそっちにも顔を出したいんだけど・・・。

ん〜〜〜混んでそう・・・。まだ迷ってます。んんんん〜〜〜笑

そんな感じで、本日もお疲れ様でした!また明日も頑張ろう!

おやすみなさ〜い!

コメント

タイトルとURLをコピーしました