最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python的f-string使用技巧

 更新時(shí)間:2024年01月29日 09:51:17   作者:python慕遙  
Python很早就引入了一種稱為 f-string 的字符串格式化方法,它代表格式化字符串字面值,本文主要介紹了Python的f-string使用技巧,具有一定的參考價(jià)值,感興趣的可以了解一下

Python很早就引入了一種稱為 f-string 的字符串格式化方法,它代表格式化字符串字面值。多年過去了,f-string 也成為了python 中應(yīng)用最廣泛的字符串格式化方法。這比其他字符串格式化方法更快,更易讀、易用,下面將介紹相關(guān)使用技巧。

1. 調(diào)試模式

首先就是 f-string 的調(diào)試功能,這可以讓我們使用{variable = }代替編寫"variable = ",如下面代碼所示。這樣可以節(jié)省大量時(shí)間和精力,并使代碼看起來更整潔。

在 f-string 的調(diào)試中,還可以執(zhí)行數(shù)學(xué)運(yùn)算,就像在最后一行中看到的那樣。

x = 10
y = 20

print(f"x = {x}, y = {y}") # 原方式
print(f"{x = }, {y = }")   # 調(diào)試模式

# math operations
print(f"{x * y = }")

輸出:

x = 10, y = 20
x = 10, y = 20
x * y = 200

可以看到使用調(diào)試模式減少了代碼量,同時(shí)輸出的內(nèi)容是一致的。

2.格式化數(shù)字

可以用數(shù)字進(jìn)行各種格式化/轉(zhuǎn)換,下面是一些示例:

  • 設(shè)置小數(shù)位數(shù)(精度):使用:.nf,其中n是小數(shù)位數(shù)

  • 十六進(jìn)制轉(zhuǎn)換

  • 二進(jìn)制轉(zhuǎn)換

  • 八進(jìn)制轉(zhuǎn)換

  • 科學(xué)計(jì)數(shù)法

  • 使用前導(dǎo)零填充數(shù)字:使用:0n,其中n是總字符數(shù)

number = 420

# decimal places
# 設(shè)置精度
print(f"number: {number:.2f}")

# hex conversion
# 十六進(jìn)制轉(zhuǎn)換
print(f"hex: {number:#0x}")

# binary conversion
# 二進(jìn)制轉(zhuǎn)換
print(f"binary: {number:b}")

# octal conversion
# 八進(jìn)制轉(zhuǎn)換
print(f"octal: {number:o}")

# scientific notation
# 科學(xué)計(jì)數(shù)法
print(f"scientific: {number:e}") 

# total number of characters
# 填充前導(dǎo)0
print(f"Number: {number:09}") 

number: 420.00
hex: 0x1a4
binary: 110100100
octal: 644
scientific: 4.200000e+02
Number: 000000420

假設(shè)有一個(gè)像蘋果市值那樣大的數(shù)字,你可以使用:,,這里的逗號(hào),就是分隔符。或者想讓 f-string 打印出一個(gè)百分比值,可以使用:.2%告訴 Python 設(shè)置 2 位小數(shù)并在字符串末尾添加一個(gè)百分號(hào)。

apple_marketcap = 2.626 * 10e12

print(f"{apple_marketcap = :,}") # comma separator

percentage = 10.394394

print(f"{percentage = :.2%}") # percentage

輸出:

apple_marketcap = 26,260,000,000,000.0
percentage = 1039.44%

3.日期格式化

如果想格式化日期,可以創(chuàng)建一個(gè)示例日期時(shí)間值。就像在應(yīng)用程序中格式化日期一樣,可以在 f-string 中定義你想要的格式,例如:<date_format>

下面將一個(gè) UTC 日期時(shí)間格式化為:

  • 沒有微秒

  • 僅日期

  • 僅時(shí)間

  • 帶上午/下午的時(shí)間

  • 24 小時(shí)格式

import datetime

today = datetime.datetime.utcnow()
print(f"datetime : {today}\n")

print(f"date time: {today:%m/%d/%Y %H:%M:%S}") # 沒有微秒
print(f"date: {today:%m/%d/%Y}") # 僅日期
print(f"time: {today:%H:%M:%S.%f}") # 僅時(shí)間
print(f"time: {today:%H:%M:%S %p}") # 時(shí)間帶上上午/下午
print(f"time: {today:%H:%M}") # 24小時(shí)制時(shí)間

輸出:

datetime : 2022-09-13 05:44:17.546036
 
date time: 09/13/2022 05:44:17
date: 09/13/2022
time: 05:44:17.546036
time: 05:44:17 AM
time: 05:44

還可以使用格式化選項(xiàng)做更多事情,下面是如何從日期中獲取星期幾和一年中的第幾天,還有計(jì)算已經(jīng)過了一年的多少天。

# Locale's appropriate date and time representation
print(f"locale appropriate: {today:%c}")

# weekday
print(f"weekday: {today:%A}") # 獲取當(dāng)前日期是星期幾

# day of the year
print(f"day of year: {today:%j}") # 獲取當(dāng)前日期是一年中的第幾天

# how far are we into the year?
day_of_year = f"{today:%j}" # 獲取本年度已過去時(shí)間(百分比)
print(f"progress % year: {int(day_of_year)/365 * 100:.2f}%")

輸出:

locale appropriate: Tue Sep 13 05:44:17 2022
weekday: Tuesday
day of year: 256
progress % year: 70.14%

4.對(duì)齊

如果你希望將變量打印在特定位置,可以使用對(duì)齊方式!

number = 4
print(f"number is {number:4}") # width of 10

# numbers
for number in range(1, 5):
    print(f"the number is {number:{number}}")

left = "left text"
center = "center text!"
right = "right text"

print(f"{left:>20}") # left align
print(f"{center:^20}") # center align
print(f"{right:<20}") # right align

print(f"{left : <20}{center : ^20}{right : >20}")

輸出:

number is    4
the number is 1
the number is  2
the number is   3
the number is    4
           left text
   center text!    
right text          
left text               center text!              right text

注意第一個(gè) print 中的number:n。這里的n表示從單詞 “is” 開始打印變量number的寬度(包括數(shù)字本身的寬度),還可以選擇進(jìn)行左對(duì)齊、居中對(duì)齊或右對(duì)齊。

left:>20中,打印結(jié)果共占用 20 字符,字符串靠右打印,左側(cè)填充空格。

center:^20中,打印結(jié)果共占用 20 字符,且字符串位于中間。由于字符串 "center text!" 有 12 個(gè)字符,左右兩側(cè)各填充 4 個(gè)空白字符。

如果將三個(gè)字符串及其格式化選項(xiàng)放在一起,將有一個(gè)寬度為60的空間來放置左、中、右字符串變量。

5.f-string中引號(hào)使用存在的問題

① f-string大括號(hào)內(nèi)使用的引號(hào)不能和大括號(hào)外的引號(hào)定界符引號(hào)沖突,需根據(jù)情況靈活切換使用單引號(hào)、雙引號(hào)、單三引號(hào)、雙三引號(hào)。

>>> f'I am {"Huang Wei"}'
'I am Huang Wei'

>>> f'''I am {'Huang Wei'}'''
'I am Huang Wei'

>>> f"""I am {'Huang Wei'}"""
'I am Huang Wei'

>>> f"""I am {"Huang Wei"}"""
'I am Huang Wei'

>>> f'I am {'Huang Wei'}'
  File "<stdin>", line 1
    f'I am {'Huang Wei'}'
                 ^
SyntaxError: invalid syntax

注意:只要大括號(hào)內(nèi)外的引號(hào)不同,就沒有問題。但是大括號(hào)中只能是但引號(hào)和 雙引號(hào) ,大括號(hào)外的引號(hào)定界符引號(hào)可以使用單引號(hào)、雙引號(hào)、單三引號(hào)、雙三引號(hào)。

② 大括號(hào)外的引號(hào)還可以使用\轉(zhuǎn)義,但大括號(hào)內(nèi)不能使用\轉(zhuǎn)義。

>>> f"he\'ll go to {'shang hai'}"
"he'll go to shang hai"

>>> f"""he introduces himself {"I\'m Tom"}"""
  File "<stdin>", line 1
SyntaxError: f-string expression part cannot include a backslash

>>> f"""he introduces himself {"I'm Tom"}"""
"he introduces himself I'm Tom"

 f-string中大括號(hào)使用存在的問題

① f-string大括號(hào)外如果需要顯示大括號(hào),則應(yīng)輸入連續(xù)兩個(gè)大括號(hào){{ }};大括號(hào)內(nèi)需要引號(hào),使用引號(hào)即可。

>>> f"5{'{apples}'}"
'5{apples}'

>>> f"{{5}}{'apples'}"
'{5}apples'

到此這篇關(guān)于Python的f-string使用技巧的文章就介紹到這了,更多相關(guān)Python f-string內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python (logging) 日志按日期、大小回滾的操作

    python (logging) 日志按日期、大小回滾的操作

    這篇文章主要介紹了python (logging) 日志按日期、大小回滾的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 快速掌握python權(quán)限功能設(shè)計(jì)實(shí)戰(zhàn)指南

    快速掌握python權(quán)限功能設(shè)計(jì)實(shí)戰(zhàn)指南

    在處理權(quán)限控制時(shí),裝飾器能幫助我們以一種統(tǒng)一且簡(jiǎn)潔的方式管理不同用戶對(duì)系統(tǒng)資源的訪問權(quán)限,本文將通過幾個(gè)簡(jiǎn)單的示例逐步展示如何利用Python裝飾器實(shí)現(xiàn)從基礎(chǔ)到復(fù)雜的權(quán)限控制功能
    2024-01-01
  • sklearn.metrics 中的f1-score簡(jiǎn)介

    sklearn.metrics 中的f1-score簡(jiǎn)介

    這篇文章主要介紹了sklearn.metrics 中的f1-score簡(jiǎn)介,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • 基于Python實(shí)現(xiàn)一個(gè)圖片拆分工具

    基于Python實(shí)現(xiàn)一個(gè)圖片拆分工具

    這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)一個(gè)圖片拆分工具,可以根據(jù)需要的行數(shù)和列數(shù)進(jìn)行拆分,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-07-07
  • Pycharm下載pyinstaller報(bào)錯(cuò):You?should?consider?upgrading?via?the?'python?-m?pip?install?--upgrade?pip'?command的解決方法

    Pycharm下載pyinstaller報(bào)錯(cuò):You?should?consider?upgrading?via

    這篇文章主要給大家介紹了關(guān)于Pycharm下載pyinstaller報(bào)錯(cuò):You?should?consider?upgrading?via?the?'python?-m?pip?install?--upgrade?pip'?command的解決方法,需要的朋友可以參考下
    2022-02-02
  • python對(duì)布爾值取反的說明和示例

    python對(duì)布爾值取反的說明和示例

    在Python中,對(duì)布爾值取反最直接的方法是使用邏輯運(yùn)算符not,下面通過示例代碼給大家說明python如何對(duì)布爾值取反,感興趣的朋友一起看看吧
    2026-02-02
  • Python模塊包中__init__.py文件功能分析

    Python模塊包中__init__.py文件功能分析

    這篇文章主要介紹了Python模塊包中__init__.py文件功能,簡(jiǎn)單分析了__init__.py在調(diào)入模塊和包的過程中的作用,需要的朋友可以參考下
    2016-06-06
  • win10下python2和python3共存問題解決方法

    win10下python2和python3共存問題解決方法

    在本篇文章里小編給大家整理了關(guān)于win10下python2和python3共存問題解決方法,有興趣的朋友們參考下。
    2019-12-12
  • 在PyCharm中接入和使用Codex的全面指南

    在PyCharm中接入和使用Codex的全面指南

    本指南全面介紹如何在 PyCharm 中接入和使用 Codex——OpenAI 推出的新一代 AI 編程智能體,本文將覆蓋從環(huán)境準(zhǔn)備、安裝配置、驗(yàn)證使用到常見問題排查的完整流程,需要的朋友可以參考下
    2026-05-05
  • Jmeter中JSR223設(shè)置變量方式

    Jmeter中JSR223設(shè)置變量方式

    本文主要介紹了JMeter的幾種常用變量設(shè)置方式,特別對(duì)JSR223設(shè)置變量進(jìn)行了詳細(xì)解釋,JSR223是Java規(guī)范請(qǐng)求,可以向Java平臺(tái)增添新的API和服務(wù),JSR223Sampler可以使用JSR223腳本代碼執(zhí)行創(chuàng)建/更新變量所需的示例或一些計(jì)算
    2024-10-10

最新評(píng)論

英德市| 荆门市| 阿拉善左旗| 庆元县| 大理市| 内丘县| 尼勒克县| 辛集市| 册亨县| 牙克石市| 遵化市| 长葛市| 嵩明县| 河津市| 泰宁县| 延寿县| 彰化县| 郸城县| 罗定市| 惠来县| 揭西县| 韩城市| 桐城市| 从江县| 汤阴县| 澎湖县| 年辖:市辖区| 临澧县| 大英县| 历史| 抚宁县| 绵竹市| 道真| 扎兰屯市| 建宁县| 鄢陵县| 黔东| 黄山市| 清原| 富源县| 翼城县|