lzb1001 发表于 2022-3-7 10:09:11

为何不可执行返回错误提示?

>>> a = "%s张飞、%s关羽、%s刘备、%s赵云" % (1,2,3,4) # 可以执行
>>> a
'1张飞、2关羽、3刘备、4赵云'

>>> a = '%1、%2、%3' % ('lzb', 'tina', 'leslie')#不可执行并返回错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: unsupported format character '?' (0x3001) at index 2

isdkz 发表于 2022-3-7 10:11:01

用百分号格式化字符串不能用数字

elven08 发表于 2022-3-7 10:17:36

是想干什么,我觉得你可能需要这个

lzb1001 发表于 2022-3-7 10:18:11

isdkz 发表于 2022-3-7 10:11
用百分号格式化字符串不能用数字

不用数字换成其他也不能执行
>>> a = "%-1、%-2、%-3" % ('lzb', 'tina', 'leslie')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: unsupported format character '?' (0x3001) at index 3
>>> a = "%A、%B、%C" % ('lzb', 'tina', 'leslie')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: unsupported format character 'A' (0x41) at index 1

lzb1001 发表于 2022-3-7 10:22:34

是我搞错了,不好意思,代码中遗漏了小写字母s!

isdkz 发表于 2022-3-7 10:29:35

lzb1001 发表于 2022-3-7 10:18
不用数字换成其他也不能执行
>>> a = "%-1、%-2、%-3" % ('lzb', 'tina', 'leslie')
Traceback (most ...

用 C 语言格式的格式化字符串也得模板支持才可以的

isdkz 发表于 2022-3-7 11:10:17

用 百分号 做字符串格式化的方式来源于 C语言,

你可以在网上搜 C语言格式化字符串:
https://blog.csdn.net/qq_20817327/article/details/107884804
页: [1]
查看完整版本: 为何不可执行返回错误提示?