首頁  >  文章  >  後端開發  >  簡單剖析Python的format的用法

簡單剖析Python的format的用法

WBOY
WBOY轉載
2022-02-28 17:30:434578瀏覽

本篇文章為大家帶來了python的相關知識,其中主要介紹了format的用法,fotmat作為Python的的格式字串函數,主要透過字串中的花括號{} ,來辨識替換字段,從而完成字串的格式化,希望對大家有幫助。

簡單剖析Python的format的用法

 推薦學習:python學習教學

#format的詳細講解

一.基礎用法

  1. format術語說明
    fotmat作為Python的的格式字串函數,主要透過字串中的花括號{},來識別替換字段,從而完成字串的格式化。
print("我叫{},今年{}岁。".format("小蜜",18))#我叫小蜜,今年18岁。#花括号的个数决定了,参数的个数。但是花括号的个数可以少于参数。print("我喜欢{}和{}"format("乒乓球","羽毛球","敲代码"))#我喜欢乒乓球和羽毛球。"""
花括号多于参数的个数,则会报错。
"""

2.透過數字參數傳入位置參數
傳入參數注意下列事項

  • 數字必須是大於0的整數
  • 帶數字的替換欄位可以重複
  • 數字形式的簡單欄位名稱相當於把欄位當成一個序列形式。透過索引的形式進行一一取值
#通过数字索引传入参数print("名字{0},家住{1}").format("橙留香","水果村")
#带数字的替换1字段可以重复"pythonprint("我爱{0}。\n他爱{1}。\n{0}爱{1}".format("灰太狼","红太狼")"""
我爱灰太狼
他爱红太狼
灰太狼爱红太狼
""""""
数字形式的简单字段名相当于把字段当成一个序列形式。通过索引的形式进行一一取值
"""print("小明喜欢{1},{2}和{0}".foramt("海绵宝宝","机器猫","海贼王","火影忍者","龙珠"))
#小明喜欢机器猫,海贼王,和海绵宝宝

3.用關鍵字傳遞

print("我今年{age}岁,我在读{college}".format(age=18","college="大学"))
#我今年18岁,我今年20岁#关键字可以随便放置print("我今年{age}岁,我在读{college}".format("college="大学",age=18"))

4.關鍵字和數字的混合使用
注意以下事項

  • 數字和關鍵欄位可以混合使用傳遞參數
  • #關鍵字參數必須位於位置參數之後。
  • 混合使用時,可以省略數字
  • 省略欄位名稱{}不能和數字形式的欄位名稱同時使用
#混合使用传递参数print("我是要当{0},他是要当{1},这个世界只有一个{truth}".format("海贼王","火影",truth="真理"))
#我要当海贼王,他要当火影,这个世界只有一个真理
#数字也可以省略print("我是要当{},他是要当{},这个世界只有一个{truth}".format("海贼王","火影",truth="真理"))
#如果关建字位于位置参数之前则会发生'''
SyntaxError: unexpected indent
![簡單剖析Python的format的用法](https://img-blog.csdnimg.cn/20210321105132614.png#pic_center)
'''

5.使用元組和字典傳參

  • format可以使用元組和字典傳參,兩個人可以混合使用
  • 多種混合使用的時候。位置參數要在關鍵字參數前面,元組要在字典前面
a=["鸣人","火影","雏田"]print("我是{},我是要当{}的男人".format(*a))"""
我是鸣人,我是要当火影的男人
"""print("我是{1},我是要当{2}的男人".format(*a))
#使用字典传参v={"name":"孙悟空","skill":"龟派气功"}print("我是{name},我的绝招是{skill}".format(**v))"""
我是孙悟空,我的绝招是龟派气功
"""#同时使用元组和字典传参name=["卡卡罗特","界王拳"]names={"nickname":"孙君","skill":"元气弹"}print("我是{0},我的绝招是{skill}".format(*name,**names))print("我是{nickname},我的绝招是{1}".format(*name,**names))#同时使用位置参数,元组,关键字参数,字典传参。#注意位置参数要在关键数参数前面a=["卡卡罗特"]dic={"name":"超级赛亚人"}print("我是{0},我也是{0},因为我是正义的战士,所以我变成了{name}".format("卡卡罗特",*a,**dic))"""
我是卡卡罗特,是孙悟空,但不可改变的是我是正义的战士。
"""

二.昇華講解

2.1複合字段名的使用
  • format使用數字和變數名稱兩種形式,這就是複合欄位
  • 複合欄位名稱支援兩個運算子
    - [] 方括號
    - . 點號
2.2 點號的使用
class Person:
	def __int__(self,name,addr):
		self.name=name
		self.addr=addr
p=Person("孙悟空","包子山")
#点号用法。传递位置参数。print("我是{0.name},家在{0.addr}".format(p))
#当只有一个字段的时候,就可以省略数字print("我是{.name}}".format(p))
#试一下传递文件对象的属性f=open("out.txt","w")print("文件名为:"{.name}.format(f))
#传递关键字print("我是{p.name},家在{p.addr}".format(p=p))print("我是{girl.name},家在{girl.addr}".format(girl=p))"""
我是孙悟空,家在包子山。
我是孙悟空,家在包子山。
"""

2.4方括號的用法

mylist=["陈道明","www.chendaoming.cc"]print("网站名:{0[0],地址{0[1]}}".format(my_list))

2.5對齊字串

  • #^ 劇中後面帶寬度
  • #右對齊後面帶寬度

  • :後面有填充的字符,只能是一個字符,不指定則是默認用空格填充
print("{:>5}".format(1))#宽度为5,右对齐print(":>5".format(10))print(":>5".format(100))print(":>5".format(1000))"""
输出结果为	
	1	 
	10
	100
	1000		 "
"""

簡單剖析Python的format的用法

#正号表示正数print("{:+2f}".format(3.14))#+3.140000print("{:-2f}".format(-1))
#-1.000000#不带小数的print("{:.0f}".format(3.23123131))
#3#以逗号为分隔符的print("{:,}".format(100000))
#100,000#表示一个百份比print("{:.2%}".format(0.25))
#25%

推薦學習:python視頻教程

以上是簡單剖析Python的format的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除