本篇內(nèi)容主要講解“Python3字符串的格式化方法怎么用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python3字符串的格式化方法怎么用”吧!
為麻山等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及麻山網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站建設、成都做網(wǎng)站、麻山網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
Tips:
1、盡量少使用 + 號進行字符串并接,大量使用會耗費系統(tǒng)資源(大量申請及清理內(nèi)存)
2、使用%并接時,盡量使用對應的數(shù)據(jù)類型,以提高代碼可讀性。
%百分號方式(定義與傳參都需要使用%進行標識)
定義:%[(name)] [flags] [width] [.precision] type
(name):指定字典的key
flags:
+:右對齊,正數(shù)前加正號
空格:右對齊,正數(shù)前無符號
0:右對齊,正數(shù)前加0
-:左對齊
width:占用寬度
.percision:字符串或浮點數(shù)保留多少位
type:(必須參數(shù))
s:傳入的值為字符類型
d:傳入的值為整數(shù)類型
f:傳入的值為浮點數(shù)
%%:輸出百分號字符
等等
format 方式
定義:{ [field_name] [ !conversion] [ :format_spec] }
field_name:class Person:
name = '' age = 22 def __init__(self, n): self.name = n el = Person('elsa') ka = Person('kate') print("I am {0.name}, my friend is {1.name}".format(el, ka)) # I am elsa, my friend is kate
print("I am {friend[0]}, my friend is {friend[1]}".format(friend=['elsa', 'kate'])) # I am elsa, my friend is kate
conversion:r | s | a
r:Calls repr() on the argument first。將變量的值轉換為str的定義格式。
s = '{name!r}'.format(name='elsa') print(s) # 'elsa' a = eval(a) # elsa
s:Calls str() on the argument first。將變量轉為字符串。
s = '{name!s}'.format(name=1234) print(s, type(s)) # 1234
a:Calls ascii() on the argument first。
format_spec:[ [ fill ] align ] [sign] [#] [0] [width] [grouping_option] [.precision] [type]
fill:空白處填充字符
align:對齊方式
<:內(nèi)容向左對齊
>:內(nèi)容向右對齊
=:對數(shù)字右對齊(符號+填充字符+數(shù)字)
^:內(nèi)容居中
sign:數(shù)值的符號顯示。(+ | - | 空格)
+:顯示所有正負符號
-:只顯示負數(shù)符號
空格:顯示所有正負符號,但正號被空格取代??梢岳斫鉃檎o@示的方式。
#:對于二進制、八進制、十六進制,如果加上#,會顯示 0b/0o/0x,否則不顯示
0:
width:占用寬度
grouping_option:
,| _:對數(shù)字的千分位分隔符
print("{:,}".format(123456.78)) # 123,456.78 print("{:_}".format(123456.78)) # 123_456.78
precision:小數(shù)點保留位數(shù)
type:格式化類型(與傳入?yún)?shù)的數(shù)據(jù)類型匹配)
s:字符串
無:默認字符串
d:整數(shù)
f:浮點
%:自動計算,并輸出百分號
等等
順序對應模式(定義的順序要與參數(shù)一致)
name = 'elsa li' age = 18 money = 98765.987654 meg = 'I am %s ' % name print(meg) # I am elsa li meg = 'I am %.4s , age is %d ,money is %015.2f' % (name, age, money) print(meg) # I am elsa , age is 18 ,money is 000000098765.99
字典模式
person = {'name': 'elsa li', 'age': 18, 'money': 98765.987654} meg = 'I am %(name)s ' % person print(meg) # I am elsa li meg = 'I am %(name).4s , age is %(age)d ,money is %(money) 15.2f' % person print(meg) # I am elsa , age is 18 ,money is 98765.9877
添加顏色
name = 'elsa' percent = 80.8867 meg = 'I am \033[45;3m%s\033[0m ,%.2f%% of work complated' %(name,percent) # \033[45;3m 定義背景顏色的開始位置,45為顏標,3為字體的粗細度。 # \033[0m 定義顏色的結束位置 # 顏色詳細的使用,可以參考 linux ps1(命令行提示符)的顏色內(nèi)容 print(meg) print('root','x','0','0',sep=':') meg = ['root', 'x', 0, 0] print(*meg, sep=':')
輸出:
I am elsa ,80.89% of work complated
root:x:0:0
常規(guī)方式
name='elsa' age=18 money=12345.678 meg='I am {},age is {!s}, money is {:0>-10,.2f}'.format(name,age,money) print(meg) # I am elsa,age is 18, money is 012,345.68
name = 'elsa' age = 18 money = 12345.678 meg = 'I am {0},age is {2}, money is {1}'.format(name, age, money) print(meg) # I am elsa,age is 12345.678, money is 18
meg = 'I am {0[1]},age is {1}, money is {2}'.format(*[['elsa', 'li'], 18, 12345.678]) print(meg) # I am li,age is 18, money is 12345.678
meg = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 1, 2, 3) print(meg) # numbers: 1111,17,15,f,F, 1587.623000%
字典方式
meg = 'I am {name},age is {age}, money is {money}'.format(name = 'elsa', age = 18, money=12345.678) print(meg) # I am elsa,age is 18, money is 12345.678
me = {'name': ['elsa','li'] , 'age': 18, 'money': '12345.678'} meg = 'I am {name[1]},age is {age}, money is {money}'.format(**me) print(meg) # I am li,age is 18, money is 12345.678
% | format | % | format | |
普通格式定義 | % | {} | 無下標則按順序,有下標則按索引 | |
字典格式定義 | %(字段) | {字段} | ||
普通方式 | √ | √ | '%s %d' %( 'elsa',20 ) | '{1} {0}'.format( 'elsa',20 ) |
賦值方式 | × | √ | '{name} {age}'.format( name='elsa',age=20 ) | |
列表方式 | × | √ | ‘{} {}'.format( *['elsa',20] ) '{1} {0}'.format( *['elsa',20] ) | |
字典方法 | √ | √ | '%(name)s %(age)d' %{'name':'elsa','age':18} | '{name} {age}'.format( **{'name':'elsa','age':20} ) |
下標方式 | × | √ | '{0[0]} {1[1]}'.format( ['elsa','tony'],[20,25] ) |
到此,相信大家對“Python3字符串的格式化方法怎么用”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!