Python学习

笔记 | python中如何输出\

2019-03-28  本文已影响3人  Quora文选

python 、thonny

这是今天海哥给出的一道习题:
如何输出'我们\马达'中的\

如下是我的一些尝试:

>>> re.findall('\\','我们的\马达')
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
  File "D:\Program Files\Thonny\lib\re.py", line 223, in findall
    return _compile(pattern, flags).findall(string)
  File "D:\Program Files\Thonny\lib\re.py", line 286, in _compile
    p = sre_compile.compile(pattern, flags)
  File "D:\Program Files\Thonny\lib\sre_compile.py", line 764, in compile
    p = sre_parse.parse(p, flags)
  File "D:\Program Files\Thonny\lib\sre_parse.py", line 922, in parse
    source = Tokenizer(str)
  File "D:\Program Files\Thonny\lib\sre_parse.py", line 232, in __init__
    self.__next()
  File "D:\Program Files\Thonny\lib\sre_parse.py", line 246, in __next
    self.string, len(self.string) - 1) from None
re.error: bad escape (end of pattern) at position 0
>>> re.findall(r'\\','我们的\马达')
['\\']

>>> re.findall('\W','我们的\马达')
['\\']
>>> print('\\')
\
>>> print(re.findall('\W','我们的\马达'))
['\\']
>>> print(re.search('\W','我们的\马达'))
<re.Match object; span=(3, 4), match='\\'>
>>> a = ['\\']
>>> b = [r'\\']

>>> print(a)
['\\']
>>> print(b)
['\\\\']

>>> print(a[0])
\
>>> print(a[1])
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
IndexError: list index out of range

>>> print(b[0])
\\
>>> print(b[1])
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
IndexError: list index out of range

注意:

  1. 在列表里必须用\\才表示\
  2. print输出结果\就是\
>>> print('我们的\马达')
我们的\马达
>>> print('我们的\\马达')
我们的\马达
>>> print('我们的\\\马达')
我们的\\马达
>>> print('我们的\\\\马达')
我们的\\马达
>>> print('我们的\\\\\马达')
我们的\\\马达
>>> print('我们的\\\\\\马达')
我们的\\\马达
>>> print('我们的\\\\\\\马达')
我们的\\\\马达
>>> print('我们的\\\\\\\\马达')
我们的\\\\马达

其中的\默认会先进行转义,主要看print(),它才代表输出!!


>>> '我们的\马达'
'我们的\\马达'
>>> '我们的\\马达'
'我们的\\马达'
>>> '我们的\\\马达'
'我们的\\\\马达'
>>> '我们的\\\\马达'
'我们的\\\\马达'
>>> '我们的\\\\\马达'
'我们的\\\\\\马达'
>>> '我们的\\\\\\马达'
'我们的\\\\\\马达'
上一篇 下一篇

猜你喜欢

热点阅读