美文网首页Python学习
笔记 | python中如何输出\

笔记 | python中如何输出\

作者: Quora文选 | 来源:发表于2019-03-28 13:13 被阅读3次

    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输出结果\就是\
    • 联想1
    >>> print('我们的\马达')
    我们的\马达
    >>> print('我们的\\马达')
    我们的\马达
    >>> print('我们的\\\马达')
    我们的\\马达
    >>> print('我们的\\\\马达')
    我们的\\马达
    >>> print('我们的\\\\\马达')
    我们的\\\马达
    >>> print('我们的\\\\\\马达')
    我们的\\\马达
    >>> print('我们的\\\\\\\马达')
    我们的\\\\马达
    >>> print('我们的\\\\\\\\马达')
    我们的\\\\马达
    

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


    • 联想2
    >>> '我们的\马达'
    '我们的\\马达'
    >>> '我们的\\马达'
    '我们的\\马达'
    >>> '我们的\\\马达'
    '我们的\\\\马达'
    >>> '我们的\\\\马达'
    '我们的\\\\马达'
    >>> '我们的\\\\\马达'
    '我们的\\\\\\马达'
    >>> '我们的\\\\\\马达'
    '我们的\\\\\\马达'
    

    相关文章

      网友评论

        本文标题:笔记 | python中如何输出\

        本文链接:https://www.haomeiwen.com/subject/ubrqbqtx.html