python中f字符串以及其常見用法總結(jié)
前言
有個小伙伴看到之前寫的Faker庫相關(guān)文章中出現(xiàn)了f'{}' 這個東東,他問我是啥意思?
實際上,這個是使用到了 f-string 作為格式化的方法,為此簡單羅列了一下 f-string 及其常見用法,給小伙伴們作為參考。
一、f-string是什么?
Python f-string 是執(zhí)行字符串格式化的最新 Python 語法。自 Python 3.6 起可用。
Python f 字符串提供了一種更快,更易讀,更簡明且不易出錯的在 Python 中格式化字符串的方式。f 字符串的前綴為f,并使用{}括號評估值。在冒號后指定用于類型,填充或?qū)R的格式說明符。例如:f'{price:.3f}',其中price是變量名, .3f 表明精度(保留三位小數(shù))。
二、格式化常見用法
Python中常見的格式化方法有三種,分別是:
1. % 符號+格式指定符
2. format()函數(shù)
3. f-string
下面舉個例子,結(jié)果都是“【張三】今年【18】歲”,但是使用了不同的格式化方法:
name = "張三"
age = 18
# 最原始提供的字符串替換方法,使用了 % 運算符和經(jīng)典字符串格式指定,如 %s %d 等
print("【%s】今年【%d】歲" % (name, age)) # 【張三】今年【18】歲
# Python 3.0 新增了 format() 函數(shù),可以提供高級的格式化選項
print("【{}】今年【{}】歲".format(name, age)) # 【張三】今年【18】歲
# Python 3.6 f-string出現(xiàn),使得格式化方法更加靈活,字符串前綴為 f,并使用 {} 評估值
print(f"【{name}】今年【{age}】歲") # 【張三】今年【18】歲三、f-string常見用法匯總
下面分別舉例說明 f-string的一些常見用法
1. f-string 中接收表達式
num = 12
price = 6
# f-string 中可以接收表達式
print(f'【{num}】個蘋果,每個【{price}】元,一共要花【{num * price}】元')
# 【12】個蘋果,每個【6】元,一共要花【72】元2. f-string 可以對字典取值
user = {"name": "Ace", "job": "teacher"}
print(f'【{user["name"]}】的工作是【{user["job"]}】')
# 【Ace】的工作是【teacher】3. f-string 針對多行數(shù)據(jù)進行格式化
name = "李四"
age = 28
job = "碼農(nóng)"
msg = (
f'Name: {name}\n'
f'Age: {age}\n'
f'Job: {job}'
) # 注意 msg 使用了 () 進行包裹
print(msg)
# Name: 李四
# Age: 28
# Job: 碼農(nóng)4. f-string 中調(diào)用函數(shù)
def my_max(x, y):
"""
三目運算比較兩個數(shù)字大小
:param x: int x
:param y: int y
:return: x 和 y 中較大的數(shù)字
"""
return x if x > y else y
a = 3
b = 4
print(f'【{a}】和【】中較大的是【{my_max(a, b)}】')
# 【3】和【4】中較大的是【4】5. f-string 轉(zhuǎn)義用法
print(f"Python 使用 {{}} 來計算f-string中的變量")
# Python 使用 {} 來計算f-string中的變量
print(f'你真的很\'厲害\'') # 注意:單引號中想繼續(xù)使用單引號,那就需要進行轉(zhuǎn)義
# 你真的很'厲害'6. f-string 格式化浮點數(shù)
val = 11
# 通過 : 后跟 浮點數(shù)標(biāo)識 ,可以實現(xiàn)格式化浮點數(shù)
print(f'{val:.3f}') # 11.000
print(f'{val:.4f}') # 11.00007. f-string 格式化寬度
for i in range(1, 11):
print(f'{i:02} {i * i:3} {i * i * i:4}')
# 01 1 1
# 02 4 8
# 03 9 27
# 04 16 64
# 05 25 125
# 06 36 216
# 07 49 343
# 08 64 512
# 09 81 729
# 10 100 10008. f-string 對齊字符串
s1 = 'a'
s2 = 'ab'
s3 = 'abc'
s4 = 'abcd'
# 將輸出的寬度設(shè)置為十個字符。 使用 > 符號,讓輸出結(jié)果右對齊。
print(f'{s1:>10}')
print(f'{s2:>10}')
print(f'{s3:>10}')
print(f'{s4:>10}')
# a
# ab
# abc
# abcd
# 實際上,只要大于最大的字符串長度,就可以實現(xiàn)右對齊,感興趣可以試下小于最大字符串長度會有什么表現(xiàn)9. f-string 格式化時間
import datetime
now = datetime.datetime.now()
print(f'{now:%Y-%m-%d %H:%M}')
# 2023-04-02 21:0710. f-string 接收對象 ,注意:對象必須定義了__str__()或__repr__()函數(shù)
class User:
def __init__(self, name, job):
self.name = name
self.job = job
def __repr__(self):
return f"{self.name} is a {self.job}"
u = User('Ace', 'teacher')
print(f'{u}')
# Ace is a teacher以上就是 f-string 常見的一些用法,使用f-string格式化數(shù)據(jù)可以更加靈活,滿足多樣化的需求,但注意,一定要Python3.6以上的版本才支持!
注意:Python3.6以上的版本才支持!
注意:Python3.6以上的版本才支持!
注意:Python3.6以上的版本才支持!
總結(jié)
到此這篇關(guān)于python中f字符串以及其常見用法總結(jié)的文章就介紹到這了,更多相關(guān)python中f字符串用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中MySQLdb和torndb模塊對MySQL的斷連問題處理
這篇文章主要介紹了Python中MySQLdb和torndb模塊對MySQL的斷連問題處理,torndb使用起來相對更加簡潔一些,需要的朋友可以參考下2015-11-11
在Lighttpd服務(wù)器中運行Django應(yīng)用的方法
這篇文章主要介紹了在Lighttpd服務(wù)器中運行Django應(yīng)用的方法,本文所采用的是最流行的FastCGI模塊,包括同時運行多個Django應(yīng)用的方法,需要的朋友可以參考下2015-07-07
Python time模塊詳解(常用函數(shù)實例講解,非常好)
在平常的代碼中,我們常常需要與時間打交道。在Python中,與時間處理有關(guān)的模塊就包括:time,datetime以及calendar。這篇文章,主要講解time模塊。2014-04-04
Django使用redis緩存服務(wù)器的實現(xiàn)代碼示例
這篇文章主要介紹了Django使用redis緩存服務(wù)器的實現(xiàn)代碼示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Python+OpenCV檢測燈光亮點的實現(xiàn)方法
這篇文章主要介紹了Python+OpenCV檢測燈光亮點的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
python下的opencv畫矩形和文字注釋的實現(xiàn)方法
今天小編就為大家分享一篇python下的opencv畫矩形和文字注釋的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python操作SQLite數(shù)據(jù)庫的方法詳解
這篇文章主要介紹了Python操作SQLite數(shù)據(jù)庫的方法,較為詳細(xì)的分析了Python安裝sqlite數(shù)據(jù)庫模塊及針對sqlite數(shù)據(jù)庫的常用操作技巧,需要的朋友可以參考下2017-06-06

