1 格式化符号
格式符号 | 转换 |
---|---|
%s | 字符串 |
%d | 有符号的十进制整数 |
%f | 浮点数 |
%c | 字符 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写ox) |
%X | 十六进制整数(大写OX) |
%e | 科学计数法(小写’e’) |
%E | 科学计数法(大写’E’) |
%g | %f和%e的简写 |
%G | %f和%E的简写 |
技巧,查看疯狂python讲义(P29)
- %06d,表示输出的整数显示位数,不足以0补全,超出当前位数则原样输出
- %.2f,表示小数点后显示的小数位数。
- ‘-‘或‘<‘表示左对齐
- ‘>’右对齐
- ‘+‘表示数值总要带着符号(正数带“+”,负数带“-”)
2 体验
格式化字符串除了%s,还可以写为f'{表达式}'
age = 18
name = 'TOM'
weight = 75.5
student_id = 1
# 我的名字是TOM
print('我的名字是%s' % name)
# 我的学号是0001
print('我的学号是%4d' % student_id)
# 我的体重是75.50公斤
print('我的体重是%.2f公斤' % weight)
# 我的名字是TOM,今年18岁了
print('我的名字是%s,今年%d岁了' % (name, age))
# 我的名字是TOM,明年19岁了
print('我的名字是%s,明年%d岁了' % (name, age + 1))
# 我的名字是TOM,明年19岁了
print(f'我的名字是{name}, 明年{age + 1:d}岁了')
f-格式化字符串是Python3.6中新增的格式化方法,该方法更简单易读。
3 转义字符
\n
:换行。\t
:制表符,一个tab键(4个空格)的距离。
4 结束符
想一想,为什么两个print会换行输出?
print('输出的内容', end="\n")
在Python中,print(), 默认自带
end="\n"
这个换行结束符,所以导致每两个
5 print巧用
python基础===* 解包,格式化输出和print的一点知识
#print格式如下所示,sep是打印多个变量时会直接用空格隔开,可以自己改变。
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
#打印占5个字符宽度,向右对齐,不打印回车
print(f'{number:>5d}', end='')
>>> print(f'area = {area:.2f}') #打印2位小数浮点数
>>> print('%-10.3f' % pi) #左对齐
3.142
>>> print('%+f' % pi) #显示正负号
+3.141593
#*将arg的每一项分配给了func函数,而这个过程中*的作用就是解包。
>>> str = "abcdefg"
>>> print(*str, sep='|')
a|b|c|d|e|f|g
转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\表示的字符就是\,可以在Python的交互式命令行用print()打印字符串看看:
>>> print('I\'m ok.')
I'm ok.
>>> print('I\'m learning\nPython.')
I'm learning
Python.
>>> print('\\\n\\')
\
\
如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r’‘表示’'内部的字符串默认不转义,可以自己试试:
>>> print('\\\t\\')
\ \
>>> print(r'\\\t\\')
\\\t\\
如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用’’’…’’'的格式表示多行内容,可以自己试试:
>>> print('''line1
... line2
... line3''')
line1
line2
line3