0_o 发表于 2021-1-29 14:55:17

如何让转义符对变量的内容转义?

本帖最后由 0_o 于 2021-1-29 14:57 编辑

当使用转义符“\”转义八进制的三位以内数字时会得到一些符号,例如:

>>> print('\77')
?

或者:

>>> print('\100')
@

因此我想看看0~777分别代表什么符号,然后就写了个程序:

for i in range(0, 8):
        print('\i')

但运行结果是这样的:

>>> for i in range(0, 8):
        print('\i')

\i
\i
\i
\i
\i
\i
\i
\i

可能是因为变量在引号里被当成了字符串,或者转义符把变量转义了。
但反复改都没法成功。
求助大佬们,这种情况要怎么解决呢?

昨非 发表于 2021-1-29 14:59:57

你要把i放到字符串的引号外才有效
for i in range(0, 100):
    print('%c'%i)
打印结果(也就是对应的ASCII码字符):


















!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c

0_o 发表于 2021-1-29 15:07:31

昨非 发表于 2021-1-29 14:59
你要把i放到字符串的引号外才有效

打印结果(也就是对应的ASCII码字符):

这里的百分号和%c分别是什么意思啊?
刚开始学python,啥也不知道,大佬见谅。{:10_266:}

昨非 发表于 2021-1-29 15:11:15

本帖最后由 昨非 于 2021-1-29 15:13 编辑

0_o 发表于 2021-1-29 15:07
这里的百分号和%c分别是什么意思啊?
刚开始学python,啥也不知道,大佬见谅。

就是print输出时的格式串,你可以理解为,“以字符的形式输出整数i”,也就是对应的ASCII码字符咯
看看这个:https://www.runoob.com/w3cnote/python3-print-func-b.html

0_o 发表于 2021-1-29 15:17:33

昨非 发表于 2021-1-29 15:11
就是print输出时的格式串,你可以理解为,“以字符的形式输出整数i”,也就是对应的ASCII码字符咯
看 ...

好的,谢谢大佬!{:10_340:}
页: [1]
查看完整版本: 如何让转义符对变量的内容转义?