python格式输出,代码加内容:
# 1.格式化字符串文本输出:
# 1.1将要输出的内容放在单引号或双引号内,然后通过f{}方式输出引号的内容
name = 'myun'
age = 21
str1 = f'我叫{name},今年{age}岁'
print(str1)
"""
我叫myun,今年21岁
"""
# 1.2另一种str.format(),使用变量替换标记位置的输出,并在{}中定义输出格式
number1 = 0.031415926
print('保留两位小数百分比{:.2%}'.format(number1)) # 3.14%
# str.format()设置格式
# (1)按位置访问参数:給出参数位置,起始位置是0,{参数顺序}.format(参数)
print('{0},{1},{2}'.format('a', 'b', 'c')) # 正序:a,b,c
print('{2},{1},{0}'.format('a', 'b', 'c')) # 倒序:c,b,a
print('{0},{2},{1}'.format('a', 'b', 'c')) # a,c,b
print('{2},{0},{1}'.format('0', '1', '2')) # 2,0,1
print('{1},{2},{1}'.format('a', 'b', 'c')) # b,c,b
# (2)按名称访问参数:
print('我爱吃{arg},不爱吃{arg1}'.format(arg='苹果', arg1='葡萄')) # 我爱吃苹果,不爱吃葡萄
# (3)访问参数的项:
str1 = [1, 2, 3, 4, 5, 6]
print('{0[1]}和{0[4]}'.format(str1)) # 2和5
# (4)repr和str替换:!r !s
print('repr()调用{!r},str()调用{!s}'.format('test1', 'test2'))
# (5)对齐文本并指定宽度
print('{:<30}'.format('左对齐,宽度为30'))
print('{:>30}'.format('右对齐,宽度为30'))
print('{:^30}'.format('居中对齐,宽度为30'))
print('{:*^30}'.format('居中对齐,宽度30,并用*填充'))
print('{:$>30}'.format('右对齐,宽度30,并用$填充'))
'''
左对齐,宽度为30
右对齐,宽度为30
居中对齐,宽度为30
*******居中对齐,宽度30,并用*填充********
$$$$$$$$$$$$$$$$右对齐,宽度30,并用$填充
'''
# (6)数字替换
print('{:f}'.format(3.14)) # 3.14
# (7)基数转换:%x %o
print('int:{0:d},hex:{0:x},oct:{0:o},bin:{0:b}'.format(25))
print('int:{0:d},hex:{0:#x},oct:{0:#o},bin:{0:#b}'.format(25))
'''
int:25,hex:19,oct:31,bin:11001
int:25,hex:0x19,oct:0o31,bin:0b11001
'''
# (8)使用逗号做为千分位分隔符,该输出只能用逗号分隔
print('{:,}'.format(1314520999))
# (9)表示百分比
points = 2
total = 9
print('2/9={:.2%}'.format(points / total)) # 2/9=22.22%
# (10)特殊类型格式
import datetime
d = datetime.datetime(2023, 3, 24, 17, 34, 28)
print('{:%Y-%m-%d %H:%M:%S}'.format(d)) # 023-03-24 17:34:28
# 2.手动格式化字符串
# 2.1 str.rjust()给定宽度,然后右对齐,左边用空格对齐
for x in range(1, 7):
print(repr(x).rjust(2), repr(x * x).rjust(3), repr(x * x * x).rjust(4))
"""
1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
6 36 216
"""
# 2.2 str.ljust()给定宽度,然后左对齐,右边用空格对齐
for x in range(3, 9):
print(repr(x).ljust(2), repr(x * x).ljust(3), repr(x * x * x).ljust(4))
'''
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
'''
# 2.3 str.center()给定宽度,中间对齐,两边用空格对齐
for x in range(3, 9):
print(repr(x).center(2), repr(x * x).center(3), repr(x * x * x).center(4))
"""
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
"""
# 2.4 str.zfill()给定位数,如果不够从左边用0填充
print('-13.14'.zfill(7))
print('3.14159'.zfill(10))
print('3.14159'.zfill(3))
'''
-013.14
0003.14159
3.14159
'''
# 3. 老式的字符串格式
'''
通过%将字符串格式话,例如:%3.2f 最小宽度为3,保存两位小数
'''
import math
print('圆周率是:%1.9f' % math.pi) # 不能用,分开
'''
圆周率是:3.141592654
'''