先举一个简单的例子说明:
name = 'Jack' answer = input('你好,%s '%(name) + '你认识 Sean 不, 输入 yes or no ') print('Sean 的回答是 %s'%(answer))
如果想在输入或者输出语句中输出变量,需要 ①在合适位置添加 %s 等变量说明符 ② 在字符串后通过 % (C语言是通过逗号) 添加具体的变量。
1.通过说明符输出
- %s 字符串
- %d 整形
- %c 单字符
- %f 浮点数。控制为数 %.2f 保留两位小数
- %x 十六进制
t = 16.2326 print('%10.2f'%(t)) #10-表示字宽10位,精度为2 print('%010.2f'%(t)) #010表示字宽10,不够用0填充 print('%+010.2f'%(t)) #添加加号表示显示正负号 print('%-10.2f'%(t)) #添加负号表示左对齐 s = 'l' print('%c'%(s)) print('快速增长%d%%'%(t)) #用 %% 表示 % r = 188 print('十六进制%x'%(r))
2. 通过 format 方式输出
形式不难,看看例子之后便能掌握。
name = 'Bob' age = 12 print('{} is {} years old'.format(name, age)) #括号除就是变量,同hibernate一致 print('{0} has {1} bros, {0} feels bad'.format(name, age)) #通过0,1 索引进行控制变量 print('name:{name}, age:{age}'.format(name='Bobbbb', age='12222')) #可以将变量写在format内
也可向 str.fromat()传递对象,插眼
数字格式化:
t = -12.532 print('{:+.2f}'.format(t)); #带符号精度保留两位 print('{:.0f}'.format(t)) #不带效数四舍五入 print('{:0>10.2f}'.format(t)) #0填充左边,一共十位 print('{:x<10.2f}'.format(t)) #x...右....... d = 126598.23659 print('{:,}'.format(d)) #三位用逗号分隔,国外计数 print('{:.4%}'.format(t)) #百分比,小数点后保留4位 k = 13 print('{:10d}'.format(k)) #占位10个,数字13右对齐 print('{{{}}}'.format(k)) #{13}。{{}}-->{}