溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python中f字符串以及其常見(jiàn)用法介紹

發(fā)布時(shí)間:2023-06-26 15:14:26 來(lái)源:億速云 閱讀:171 作者:栢白 欄目:開(kāi)發(fā)技術(shù)

本篇文章和大家了解一下python中f字符串以及其常見(jiàn)用法介紹。有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)大家有所幫助。

前言

有個(gè)小伙伴看到之前寫(xiě)的Faker庫(kù)相關(guān)文章中出現(xiàn)了f'{}' 這個(gè)東東,他問(wèn)我是啥意思?

實(shí)際上,這個(gè)是使用到了 f-string 作為格式化的方法,為此簡(jiǎn)單羅列了一下 f-string 及其常見(jiàn)用法,給小伙伴們作為參考。

一、f-string是什么?

Python f-string 是執(zhí)行字符串格式化的最新 Python 語(yǔ)法。自 Python 3.6 起可用。

Python f 字符串提供了一種更快,更易讀,更簡(jiǎn)明且不易出錯(cuò)的在 Python 中格式化字符串的方式。f 字符串的前綴為f,并使用{}括號(hào)評(píng)估值。在冒號(hào)后指定用于類(lèi)型,填充或?qū)R的格式說(shuō)明符。例如:f'{price:.3f}',其中price是變量名, .3f 表明精度(保留三位小數(shù))。

二、格式化常見(jiàn)用法

Python中常見(jiàn)的格式化方法有三種,分別是:

1. % 符號(hào)+格式指定符

2. format()函數(shù)

3. f-string

下面舉個(gè)例子,結(jié)果都是“【張三】今年【18】歲”,但是使用了不同的格式化方法:

name = "張三"
age = 18
# 最原始提供的字符串替換方法,使用了 % 運(yùn)算符和經(jīng)典字符串格式指定,如 %s %d 等
print("【%s】今年【%d】歲" % (name, age))  # 【張三】今年【18】歲
# Python 3.0 新增了 format() 函數(shù),可以提供高級(jí)的格式化選項(xiàng)
print("【{}】今年【{}】歲".format(name, age))  # 【張三】今年【18】歲
# Python 3.6 f-string出現(xiàn),使得格式化方法更加靈活,字符串前綴為 f,并使用 {} 評(píng)估值
print(f"【{name}】今年【{age}】歲")  # 【張三】今年【18】歲

三、f-string常見(jiàn)用法匯總

下面分別舉例說(shuō)明 f-string的一些常見(jiàn)用法

1. f-string 中接收表達(dá)式

num = 12
price = 6
# f-string 中可以接收表達(dá)式
print(f'【{num}】個(gè)蘋(píng)果,每個(gè)【{price}】元,一共要花【{num * price}】元')
# 【12】個(gè)蘋(píng)果,每個(gè)【6】元,一共要花【72】元

2. f-string 可以對(duì)字典取值

user = {"name": "Ace", "job": "teacher"}
print(f'【{user["name"]}】的工作是【{user["job"]}】')
# 【Ace】的工作是【teacher】

3. f-string 針對(duì)多行數(shù)據(jù)進(jìn)行格式化

name = "李四"
age = 28
job = "碼農(nóng)"
msg = (
    f'Name: {name}\n'
    f'Age: {age}\n'
    f'Job: {job}'
)  # 注意 msg 使用了 () 進(jìn)行包裹
print(msg)
# Name: 李四
# Age: 28
# Job: 碼農(nóng)

4. f-string 中調(diào)用函數(shù)

def my_max(x, y):
    """
    三目運(yùn)算比較兩個(gè)數(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 使用 {{}} 來(lái)計(jì)算f-string中的變量")
# Python 使用 {} 來(lái)計(jì)算f-string中的變量
print(f'你真的很\'厲害\'')  # 注意:?jiǎn)我?hào)中想繼續(xù)使用單引號(hào),那就需要進(jìn)行轉(zhuǎn)義
# 你真的很'厲害'

6. f-string 格式化浮點(diǎn)數(shù)

val = 11
# 通過(guò) : 后跟 浮點(diǎn)數(shù)標(biāo)識(shí) ,可以實(shí)現(xiàn)格式化浮點(diǎn)數(shù)
print(f'{val:.3f}')  # 11.000
print(f'{val:.4f}')  # 11.0000

7. 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 1000

8. f-string 對(duì)齊字符串

s1 = 'a'
s2 = 'ab'
s3 = 'abc'
s4 = 'abcd'
# 將輸出的寬度設(shè)置為十個(gè)字符。 使用 > 符號(hào),讓輸出結(jié)果右對(duì)齊。
print(f'{s1:>10}')
print(f'{s2:>10}')
print(f'{s3:>10}')
print(f'{s4:>10}')
#          a
#         ab
#        abc
#       abcd
# 實(shí)際上,只要大于最大的字符串長(zhǎng)度,就可以實(shí)現(xiàn)右對(duì)齊,感興趣可以試下小于最大字符串長(zhǎng)度會(huì)有什么表現(xiàn)

9. f-string 格式化時(shí)間

import datetime
now = datetime.datetime.now()
print(f'{now:%Y-%m-%d %H:%M}')
# 2023-04-02 21:07

10. f-string 接收對(duì)象 ,注意:對(duì)象必須定義了__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 常見(jiàn)的一些用法,使用f-string格式化數(shù)據(jù)可以更加靈活,滿(mǎn)足多樣化的需求,但注意,一定要Python3.6以上的版本才支持!

注意:Python3.6以上的版本才支持!

注意:Python3.6以上的版本才支持!

注意:Python3.6以上的版本才支持!

以上就是python中f字符串以及其常見(jiàn)用法介紹的簡(jiǎn)略介紹,當(dāng)然詳細(xì)使用上面的不同還得要大家自己使用過(guò)才領(lǐng)會(huì)。如果想了解更多,歡迎關(guān)注億速云行業(yè)資訊頻道哦!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI