实战IT培训机构_IT培训班选大学生IT技术培训中心_中公优就业

400-650-7353
您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎知識】使用format()方法格式化字符串

【Python基礎知識】使用format()方法格式化字符串

  • 發(fā)布: python培訓
  • 來源:python干貨資料
  • 2020-08-14 16:24:33
  • 閱讀()
  • 分享
  • 手機端入口

Python 3引入了一種新的方式來格式化字符串,這種方式也反向移植到了Python 2.7中。“新式”格式化字符串廢除了%操作符這種特殊語法,使得格式化字符串更常規(guī)。通過在字符串對象上調(diào)用format()方法來格式化字符串。

format()方法要求字符串中待格式化的字符串用花括號“{}”占位:

  1. >>> score = 59 
  2. >>> name = 'Ming' 
  3. >>> # format()方法將score和name按順序格式化,即score和name按順序“填充” 
  4. >>> '{} {}'.format(score, name) 
  5. '59 Ming' 

1、格式化數(shù)字

格式化數(shù)字時,如果不使用任何說明符,那么“{}”僅起到占位的作用,不會改變原本的數(shù)字:

  1. >>> '我的幸運數(shù)字是{}'.format(7
  2. '我的幸運數(shù)字是7' 
  3. >>> '圓周率約等于{}'.format(3.14
  4. '圓周率約等于3.14' 

“:d”說明符用于將數(shù)字轉(zhuǎn)換成整數(shù),如果提供的數(shù)字無法轉(zhuǎn)換成整數(shù)(如浮點數(shù)),Python解釋器將會報錯:

  1. >>> '{:d}'.format(7
  2. '7' 
  3. >>> '{:d}'.format(3.14
  4. Traceback (most recent call last): 
  5.   File "<stdin>", line 1in <module> 
  6. ValueError: Unknown format code 'd' for object of type 'float' 

“:f”說明符用于將數(shù)字轉(zhuǎn)換成浮點數(shù),“新式”格式化字符串的方式也可以指定浮點數(shù)位數(shù):

  1. >>> '{:f}'.format(3.14)   # 默認位數(shù)為小數(shù)點后6位 
  2. '3.140000' 
  3. >>> '{:.2f}'.format(3)   # 指定為小數(shù)點后2位 
  4. '3.00' 

當小數(shù)位數(shù)超出指定的位數(shù)時,會以四舍五入的形式舍棄后面的小數(shù):

  1. >>> '{:.5f}'.format(3.1415926)   # 保留小數(shù)點后5位 
  2. '3.14159' 
  3. >>> '{:f}'.format(3.1415926)   # 默認保留小數(shù)點后6位 
  4. '3.141593' 

可以使用正號“+”來顯式指出數(shù)字為正,當數(shù)字為負數(shù)時,不需要使用多余的符號:

  1. >>> '{:+d}'.format(7
  2. '+7' 
  3. >>> '{:d}'.format(-7
  4. '-7' 

使用“:,”進行格式化,會將數(shù)字的每三位加一個逗號:

  1. >>> '{:,}'.format(123456789
  2. '123,456,789' 

2、格式化字符串

當需要格式化多個字符串時,format()方法的參數(shù)需要用逗號隔開:

  1. >>> '{}  {}  {}'.format(7'Ming'3.14
  2. '7  Ming  3.14' 

它們本質(zhì)上是元組數(shù)據(jù)類型,并且元組中包含的每個項都可以通過其索引號(索引號從0開始)進行調(diào)用?梢詫⑦@些索引號傳遞到用作原始字符串中占位符的“{}”中:

  1. >>> '{0} {1} {2}'.format(7'Ming'3.14)   # 0 1 2 為默認順序 
  2. '7 Ming 3.14' 
  3. >>> '{2} {1} {0}'.format(7'Ming'3.14)   # 將順序調(diào)整為2 1 0 
  4. '3.14 Ming 7' 
  5. >>> '{2} {0} {1}'.format(7'Ming'3.14)   # 將順序調(diào)整為2 0 1 
  6. '3.14 7 Ming' 

3、使用字符串名稱

可以在占位符的“{}”中填入待格式化的字符串名稱,這樣可以使原始字符串看起來更加清晰:

  1. >>> '{name}的分數(shù)是{score}'.format(name='Ming', score=88
  2. 'Ming的分數(shù)是88' 

4、填充和對齊

可以通過附加參數(shù)增加字符串長度來填充字符串,或者在字符串周圍創(chuàng)造“空間”。當需要可視化地組織大量數(shù)據(jù)時,這會很有用,下面是一些例子:

  1. >>> '{:10}'.format('Ming')   # 10代表字符串一共占用10個字符 
  2. 'Ming      ' 
  3. >>> '{:>10}'.format('Ming')   # >使字符串右對齊,一共占用10個字符 
  4. '      Ming' 
  5. >>> '{:^10}'.format('Ming')   # ^使字符串居中,一共占用10個字符 
  6. '   Ming   ' 

除了用空格填充字符串外,還可以用其他字符來填充字符串:

  1. >>>  
  2. >>> '{:_<10}'.format('Ming')   # 使用_填充字符串,<使字符串左對齊 
  3. 'Ming______' 
  4. >>> '{:s<10}'.format('Ming')   # 使用s填充字符串,<使字符串左對齊 
  5. 'Mingssssss' 
  6. >>> '{:_>10}'.format('Ming')   # 使用_填充字符串,>使字符串右對齊 
  7. '______Ming' 
  8. >>> '{:_^10}'.format('Ming')   # 使用_填充字符串,^使字符串居中 
  9. '___Ming___' 

在格式化數(shù)字時,也可以填充字符串:

  1. >>> '{:10d}'.format(59
  2. '        59' 
  3. >>> # 6代表一共占用6個字符,0代表使用0填充,2代表保留小數(shù)點后2位 
  4. >>> '{:06.2f}'.format(3.14159265
  5. '003.14' 

5、截斷長字符串

“.”用于將字符串截斷成指定長度:

  1. >>> '{:.4}'.format('Xiao Ming')   # 截斷成4位字符串 
  2. 'Xiao' 
  3. >>> '{:8.4}'.format('Xiao Ming')   # 截斷成4位字符串,一共占用8個字符 
  4. 'Xiao    ' 

 

文章“【Python基礎知識】使用format()方法格式化字符串”已幫助

>>本文地址:http://www.jecan.cn/zhuanye/2020/52149.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

獲取測試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營銷互聯(lián)網(wǎng)營銷
  • JavaJava
  • Linux云計算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運營全域電商運營
  • 軟件測試軟件測試
  • 室內(nèi)設計室內(nèi)設計
  • 平面設計平面設計
  • 電商設計電商設計
  • 網(wǎng)頁設計網(wǎng)頁設計
  • 全鏈路UI/UE設計UI設計
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡安全網(wǎng)絡安全
  • 新媒體與短視頻運營新媒體
  • 直播帶貨直播帶貨
  • 智能機器人軟件開發(fā)智能機器人
 

快速通道fast track

近期開班時間TIME

主站蜘蛛池模板: 航拍_专业的无人机航拍摄影门户社区网站_航拍网 | 播音主持培训-中影人教育播音主持学苑「官网」-中国艺考界的贵族学校 | 我车网|我关心的汽车资讯_汽车图片_汽车生活! | 上海阳光泵业制造有限公司 -【官方网站】 | loft装修,上海嘉定酒店式公寓装修公司—曼城装饰 | 蔬菜清洗机_环速洗菜机_异物去除清洗机_蔬菜清洗机_商用洗菜机 - 环速科技有限公司 | 短信通106短信接口验证码接口群发平台_国际短信接口验证码接口群发平台-速度网络有限公司 | 东莞压铸厂_精密压铸_锌合金压铸_铝合金压铸_压铸件加工_东莞祥宇金属制品 | 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 网络推广公司_网络营销方案策划_企业网络推广外包平台-上海澜推网络 | 施工围挡-施工PVC围挡-工程围挡-深圳市旭东钢构技术开发有限公司 | 工业铝型材生产厂家_铝合金型材配件批发精加工定制厂商 - 上海岐易铝业 | 深圳公司注册-工商注册代理-注册公司流程和费用_护航财税 | 硬度计,金相磨抛机_厂家-莱州华煜众信试验仪器有限公司 | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | 不锈钢复合板|钛复合板|金属复合板|南钢集团安徽金元素复合材料有限公司-官网 | 刑事律师_深圳著名刑事辩护律师_王平聚【清华博士|刑法教授】 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 123悬赏网_发布悬赏任务_广告任务平台 | 脱硝喷枪-氨水喷枪-尿素喷枪-河北思凯淋环保科技有限公司 | 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 【星耀裂变】_企微SCRM_任务宝_视频号分销裂变_企业微信裂变增长_私域流量_裂变营销 | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 阜阳在线-阜阳综合门户 | 计算机毕业设计源码网| 宝鸡市人民医院| 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 恒温振荡混匀器-微孔板振荡器厂家-多管涡旋混匀器厂家-合肥艾本森(www.17world.net) | 合肥弱电工程_安徽安防工程_智能化工程公司-合肥雷润 | 宁波普瑞思邻苯二甲酸盐检测仪,ROHS2.0检测设备,ROHS2.0测试仪厂家 | 合肥角钢_合肥槽钢_安徽镀锌管厂家-昆瑟商贸有限公司 | 顺景erp系统_erp软件_erp软件系统_企业erp管理系统-广东顺景软件科技有限公司 | 对辊式破碎机-对辊制砂机-双辊-双齿辊破碎机-巩义市裕顺机械制造有限公司 | 皮带机_移动皮带机_大倾角皮带机_皮带机厂家 - 新乡市国盛机械设备有限公司 | 复合土工膜厂家|hdpe防渗土工膜|复合防渗土工布|玻璃纤维|双向塑料土工格栅-安徽路建新材料有限公司 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 国产离子色谱仪,红外分光测油仪,自动烟尘烟气测试仪-青岛埃仑通用科技有限公司 | 郑州外墙清洗_郑州玻璃幕墙清洗_郑州开荒保洁-河南三恒清洗服务有限公司 | 北京中航时代-耐电压击穿试验仪厂家-电压击穿试验机 | 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 仓储笼_仓储货架_南京货架_仓储货架厂家_南京货架价格低-南京一品仓储设备制造公司 |