1.格式化符号
格式化符号:用于对应各种数据类型的格式化符号。
![eebb9302ff88b5beebc72af26f03d7f9.png](https://img-blog.csdnimg.cn/img_convert/eebb9302ff88b5beebc72af26f03d7f9.png)
%c:它会将数字或字符(这里的字符指的是长度为1的字符串)转成字符类型。
%u:python解释它为无符号整型(正整型)。实际上,也是支持负整型的。
2.%c
并不是所有的数字都会通过 %c转换成一个字符:
例1:
# coding:utf-8
print('%c' % 12)
运行结果:为空(没有相应的数值)。
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format2.py
进程已结束,退出代码为 0
字符串中只能有一个字符,长度超过1的字符串:
例2:
# coding:utf-8
print('%c' % 12)
print('%c' % 'ba')
运行结果:报错。
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format2.py
Traceback (most recent call last):
File "/Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format2.py", line 4, in <module>
print('%c' % 'ba')
TypeError: %c requires int or char
进程已结束,退出代码为 1
char类型就是只有一个字符的字符串。
最大能支持到7位数的数字,达到8位数的数字时候就会报错了:
例3:
# coding:utf-8
print('%c' % 1020)
# print('%c' % 'ba')
print('%c' % 10000000)
运行结果:
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format2.py
ϼ
Traceback (most recent call last):
File "/Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format2.py", line 5, in <module>
print('%c' % 10000000)
OverflowError: %c arg not in range(0x110000)
进程已结束,退出代码为 1
成功打印出字符:
例4:
# coding:utf-8
print('%c' % 1020)
# print('%c' % 'ba')
print('%c' % 999999)
运行结果:
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format2.py
ϼ
进程已结束,退出代码为 0
3.%u
例1:
print('%u' % 1)
运行结果:1
例2:
print('%u' % -1)
运行结果:-1
4.%f
有小数点,小数点后面保留6位。
print('%f' % 1.2)
print('%f' % 3.14)
print('%f' % 12)
运行结果:
1.200000
3.140000
12.000000
5.%d
print('%d' % 10)
print('%d' % -10)
print('%d' % 1.2)
运行结果:
10
-10
1
6.%s
所有的数据类型,它都支持。
print('%s' % '123')
print('%s' % 123)
运行结果:
123
123
7.错误用法举例
不符合%f的格式要求,就会报错:
print('%f' % '1.2')
运行结果:
Traceback (most recent call last):
File "/Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format2.py", line 19, in <module>
print('%f' % '1.2')
TypeError: must be real number, not str