python全栈开发《30.字符串格式化的常用格式符》

1.格式化符号

  • 格式化符号:用于对应各种数据类型的格式化符号。

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
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清菡软件测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值