Python勉強30分 計3時間30分
本日もおつかれさまでした。少し日付空いちゃったけど、ちゃんと生きてます。
仕事はぼちぼちです。頑張りすぎるのをやめた感はあります。
あ、でも最近すごくお腹が出てきたので、ダイエットしはじめました。笑
そんな感じで今日は復習の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>5 | 0埋め |
% | パーセント表示 |
ここから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桁 |
f | float型として表示 |
だから 3.141592 → 3.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があるのでそっちにも顔を出したいんだけど・・・。
ん〜〜〜混んでそう・・・。まだ迷ってます。んんんん〜〜〜笑
そんな感じで、本日もお疲れ様でした!また明日も頑張ろう!
おやすみなさ〜い!


コメント