Python中格式化字符串目前有兩種方法:%和formathtml
Python2.6引入了format這個格式化字符串的方法ide
%code
# 定義一個座標值 c = (250, 250) # 使用%醜陋的格式化... s1 = "敵人座標:%s" % (c,) # 由於c是一個元祖,因此%格式化時後面不能只寫一個c
formatorm
# 定義一個座標值 c = (250, 250) # 使用format格式化 s2 = "敵人座標:{}".format(c)
name = "DZM" age = 18 f"My name is {name}.I'm {age}" # "My name is DZM.I'm 18"
print('{0},{1},{0}'.format('dzm', 18)) # dzm,18,dzm
不依賴位置htm
print('my name is {x},my age is {y}'.format(x='dzm',y=18)) # my name is dzm,my age is 18 # 或者 data = {"name": "DZM", "age": 18} print("Name:{name}, Age:{age}".format(**data)) # 'Name:DZM, Age:18'
class Person(): def __init__(self, name, age): self.name = name self.age = age def __str__(self): return "{self.name} is {self.age} years old.".format(self=self) dzm = Person("dzm", 18) print(dzm) # dzm is 18 years old.
data = [11, 22] print("{0[0]} ----- {0[1]}".format(data)) # 11 ----- 22
填充常跟對齊一塊兒使用
^、<、>分別是居中、左對齊、右對齊,後面帶寬度
:號後面帶填充的字符,只能是一個字符,不指定的話默認是用空格填充。對象
# 18前面用10個空格填充 print("{:>10}".format('18')) ' 18'
# 18前面用10個0填充 "{:0>10}".format('18')
zfill()方法
Python zfill()方法返回指定長度的字符串,原字符串右對齊,前面填充0。
zfill()方法語法:str.zfill(width)
參數width指定字符串的長度。原字符串右對齊,前面填充0。
返回指定長度的字符串。blog
"18".zfill(10) # '0000000018'
其中.4表示長度爲4的精度,f表示float類型。字符串
print("{:.4f}".format(3.1415926)) # 3.1416
其餘進制
b、d、o、x分別是二進制、十進制、八進制、十六進制get
{:b}".format(18) '10010'
"{:,}".format(1234567890) '1,234,567,890'
參考文章:http://www.javashuo.com/article/p-vmziylwo-cd.htmlstring