[python]格式化字符串的幾種方式


python中有以下幾種方法可以格式化字符串

方式一:C風格%操作符

這種方法偏C語言風格,C語言中的printf選項都可以當成Python的格式說明符來用,例如%s%x%f

# 示例代碼00x00:
name = 'zhangsan'
salary = 12345.67
print("name is %s, salary is %.2f" %(name,salary))
# name is zhangsan, salary is 12345.67

這種方法也可以將元組換成字典,避免%操作符兩側的順序不匹配的問題。

# 示例代碼00x01:
print("name is %(name)s, salary is %(salary).2f" %{'name':name, 'salary':salary})
# name is zhangsan, salary is 12345.67

方式二:內置的format函數與str類的format方法

python3添加了高級字符串格式化機制,其表達能力比C風格要強一些,且不需要使用%操作符。

在傳給format函數的格式里,逗號表示顯示千位分隔符,^表示居中對齊。

# 示例代碼01x00:
print("name is "+ format(name,'^20s') + ", salary is " + format(salary,'^20,.2f'))
# name is       zhangsan      , salary is      12,345.67      

也可以在{}內寫冒號,把格式化說明符寫在冒號右邊。

# 示例代碼01x01:
print("name is {:<10}, salary is {:^20.2f}".format(name,salary))
# name is zhangsan  , salary is       12345.67      

調用str.format方法的時候,也可以給str{}里面寫上數字,用來指代format方法在這個位置所接收到的參數值位置索引

方式三:插值格式字符串

PYthon3.6添加了一種新的特性,叫做插值格式字符串,即f-string。新語法特性要求在格式字符串的前面加上字母f作為前綴。編寫和閱讀都更簡潔一些。

# 示例代碼02x00:
print(f"name is {name}, salary is {salary}")
print(f"name is {name:^10}, salary is {salary:^13.2f}")
# name is zhangsan, salary is 12345.67
# name is  zhangsan , salary is   12345.67 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM