+
a=111
b="111"
print(a,b)
#print(a+b) int不能与str 相加,会报错!
print(str(a)+b)非常普通,初学者也会用。但是需要把type全部对齐str,不然会报错。写起来有点丑。
.format()
a=111
print("{}".format(a))没type烦恼,而且可以把变量和字符串分开,灵活。缺点是变量多了以后只用"{}"容易对歪
b="111"
print("{a}".format(a=b)): 表示后面开始写格式规则
{:.2f}保留小数
{:10}统一宽度
{:<10}左对齐
{:>10}右对齐
{:^10}居中
{:08}用0填充宽度
{:*^10}用*填充宽度,居中
{:8.2f}填充宽度,保留2位小数
{:08.2f}用0填充宽度,保留2位小数
{:,}千分位逗号
"{:,.2f}千分位逗号
{:.2%}百分比
进制自动转换
n = 255
print("{:b}".format(n)) # 11111111
print("{:o}".format(n)) # 377
print("{:x}".format(n)) # ff
print("{:X}".format(n)) # FF正负号自动处理
print("{:+}".format(12)) # +12
print("{:+}".format(-12)) # -12
print("{: }".format(12)) # 12
print("{: }".format(-12)) # -12用字典输入
d = {"a": 111, "b": "222"}
print("{0[a]},{0[b]}".format(d))
print("{a},{b}".format_map(d))
print("{a},{b}".format(**d))f-string
非常常用,非常方便,但如果{}内需要打引号,就必须与最外层string的引号不同。单引号-双引号
a=111
b="111"
print(f"{a},{b}"):写法与.format()完全对应
.join()
print(''.join(["1","2"]))优点是一列很清晰,缺点是必须str()
%
非常古典的字符串装配方法,C语言入门必学
%s:字符串
%d:整数
%f:浮点数
%x:十六进制
%o:八进制
- 保留小数
x = 3.1415926
print("%.2f" % x) # 3.14
print("%.3f" % x) # 3.142%.2f:保留 2 位小数
%.3f:保留 3 位小数
- 控制总宽度
x = 123
print("|%8d|" % x)输出:
| 123|
表示总宽度至少 8,默认右对齐。
- 宽度 + 小数位
x = 3.1415926
print("|%8.2f|" % x)输出:
| 3.14|
含义:
总宽度 8
小数 2 位
- 补零
x = 123
print("%08d" % x) # 00000123浮点数也行:
x = 3.14
print("%08.2f" % x) # 00003.14- 左对齐
print("|%-8d|" % 123)|123 |
- 表示左对齐。
- 字符串宽度控制
name = "Tom"
print("|%10s|" % name) # 右对齐
print("|%-10s|" % name) # 左对齐
x = 12345.678
print("%e" % x) # 1.234568e+04
print("%.2e" % x) # 1.23e+04
print("%.2f%%" % 12.34) # 12.34%字典写法
data = {"name": "Tom", "age": 18}
print("name=%(name)s, age=%(age)d" % data)
语法糖:隐式字符串字面量拼接
s = "abc" "def"
print(s) # abcdef
s = (
"hello "
"world"
)
print(s) # hello world 


































































































































