python format 冒号_python之格式化输出
字符串格式化有兩種方式,%和format
先介紹下%號的方法
#%s的語法結構,叫做占位符,就是先占一個位置,然后我們用真實的要顯示的數據替換占位符即可
#最簡單的用法就是下面的方式,其實%s還有其他的功能
# s = '我的名字是%s,我的年齡是%d' %('alex',2)
# print(s)
# 我的名字是alex,我的年齡是2
#%[(name)][flags][width].[precision]typecode
#第一個參數[(name)],默認情況下%是按照順序進行格式化的,用了name,我們可以用name來進行字符串格式化,比如下面的例子,
#可以根據名字來做格式化
# s = '我的名字是%(name)s,我的年齡是%(age)d' %{'name':'alex','age':12}
# print(s)
# 我的名字是alex,我的年齡是12
#flags,可以是 + - 空格 0,這個一般和width配合起來使用,%沒有居中的功能
#+號,右對齊,正數前加+號,負數前加-號
# s = 'my age is %(age1)+10dDDDD,my brother age is%(age2)+10d' %{'age1':12,'age2':-12}
# print(s)
# my age is +12DDDD,my brother age is -12
#-號,左對齊,正數前無符號,負數前加-號
# s = 'my age is %(age1)-10dDDDD,my brother age is%(age2)-10d' %{'age1':12,'age2':-12}
# print(s)
# my age is 12 DDDD,my brother age is-12
#0 ,右對齊,正數前無符號,負數前加-號,用0填補空白處
#空格,右對齊,正數前加空格,負數前加-號
#width,占的位置的長度
#precision 小數點后顯示多少位,這里會做四舍五入
# s = 'my age is %(age1)-10fDDDD,my brother age is%(age2)-10d' %{'age1':12.1234445,'age2':-12}
# print(s)
# my age is 12.123444 DDDD,my brother age is-12
# s = 'my age is %(age1)-10.4fDDDD,my brother age is%(age2)-10d' %{'age1':12.1234445,'age2':-12}
# print(s)
# my age is 12.1234 DDDD,my brother age is-12
# typecode
#s:是字符串
#o:將傳入的值轉換為八進制,然后把轉換后的值做字符串格式化
#x:將傳入的值轉換為16進制,然后在把轉換后的值做字符串格式化
#d,正數
#f,浮點數
# s = 'aaaaaadd %d------------%o----------%x' %(15,15,15)
# print(s)
# aaaaaadd 15------------17----------f
#e|E科學計數法,一個是顯示小寫的e,一個是大寫的E
# s = '%e--------------%E' %(100000000000000000000,100000000000000000)
# print(s)
# 1.000000e+20--------------1.000000E+17
#%
# s = 'football %'
# print(s)
# s = 'football %%'
# print(s)
# football %
# football %%
# s = 'name is %s,%' %('dddd')
# print(s)
#這樣會報錯的
# s = 'name is %s,%%' %('dddd')
# print(s)
# name is dddd,%
下面介紹下format的方法
# [(fill)align][sign][#][0][width][,][.precision][type]
#fill:【可選】空白處填充的字符,這里只能寫一個字符
#align,對齊方式,需要配合width使用
#
#>:內容左對齊
#=:
#^:內容居中
#sign 【可選】有無符合數字、
# + 正號加正,負數加負
#- 正號不變,負數加負
#空格,正號加空格,負數加負
# #號,【可選】對于二進制,八進制,16進制,如果加上#號,會顯示0b 0o 0x,如果不加,則不顯示前面的符號
#,號,如果比較大數字,可以每三位加一個逗號100,000,,000
#width,格式化位所占的寬度
#.precision,小數點的保留位
#type,格式化的類型
#b,將傳入的數字轉換成二進制
#format的常用的用法,這個是按照順序來格式化的
# s = 'aaaaaaaadd{0},dddd{0}----{1}' .format('AAA','BBBB')
# print(s)
# aaaaaaaaddAAA,ddddAAA----BBBB
#按照名字做字符串格式化
# s = '-------{name:s},-------{age:d}------{name:s}' .format(name = 'AAA',age = 23)
# print(s)
# -------AAA,-------23------AAA
#[(fill)align][sign][#][0][width][,][.precision][type],這些全部都要放在冒號后面,冒號前面只能有一個字段,就是name
# s = '-------------{:@^10s}-----------' .format('AAA')
# print(s)
# -------------@@@AAA@@@@-----------
# s = '-------------{name:@^10s}-----------' .format(name = 'AAA')
# print(s)
# -------------@@@AAA@@@@-----------
# s = '--------{:%}' .format(1.345566677)
# print(s)
# --------134.556668%
#format必須要掌握的幾種方式
# s = 'i am {},age {},{}' .format('foot',12,'boy')
# print(s)
# i am foot,age 12,boy
# s = 'i am {},age {},{}' .format(*['foot',12,'boy'])
# print(s)
# i am foot,age 12,boy
# s = 'i am {0},age {1},{1}' .format('foot',12)
# print(s)
# i am foot,age 12,12
# s = 'i am {0},age {1},{1}' .format(*['foot',12])
# print(s)
# i am foot,age 12,12
# s = 'i am {name},age is {age}' .format(name = 'foot',age = 12)
# print(s)
# i am foot,age is 12
# s = 'i am {name},age is {age}' .format(**{'name':'football','age':12})
# print(s)
# i am football,age is 12
# s = 'i am {name:s},age is {age:d}' .format(name = 'foot',age = 12)
# print(s)
# i am foot,age is 12
# s = '--{:b}--{:d}--{:x}--{:X}--{:%}' .format(15,15,15,15,15)
# print(s)
# --1111--15--f--F--1500.000000%
# s = '--{0:b}--{0:d}--{0:x}--{0:X}--{0:%}' .format(15)
# print(s)
# --1111--15--f--F--1500.000000%
s = '--{num:b}--{num:d}--{num:x}--{num:X}--{num:%}' .format(num = 15)
print(s)
# --1111--15--f--F--1500.000000%
總結
以上是生活随笔為你收集整理的python format 冒号_python之格式化输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 取多补少C语言,leetcode题目:
- 下一篇: 如何在python中打开文件_Pytho