习题10:那是什么?

发布时间:2017-11-07 23:20:28编辑:Run阅读(3778)

    练习代码

    # coding: utf-8
    __author__ = 'www.py3study.com'
    tabby_cat = "\tI'm tabbed in."
    persian_cat = "I'm split\non a line."
    backslash_cat = "I'm \\ a \\ cat."

    fat_cat = """
    I'll do a list:
    \t* Cat food
    \t* Fishies
    \t* Catnip\n\t* Grass
    """

    print(tabby_cat)
    print(persian_cat)
    print(backslash_cat)
    print(fat_cat)

    应该看到的结果

        I'm tabbed in.
    I'm split
    on a line.
    I'm \ a \ cat.

    I'll do a list:
        * Cat food
        * Fishies
        * Catnip
        * Grass


    常见问题

    \\和别的符号相比有什么特别之处?

    并无特别,这样只是为了输出一个反斜杠\,有的时候可能需要打印这样的符号,就需要用到这种方法

    // 和 /n怎么不行?

    因为你用了斜杠/,而不是反斜杠\,它们是不一样的字符,功能也完全不一样

    使用了%r后转义序列都不能用了?

    因为%r打印出的是你写到代码里的原始字符串,其中会包含原始的转义字符,始终记住%r用作debug,%s,%d用作显示


    转义序列

    下面列出了python支持的转义序列,很多你也许不会用到,不过还是要记住它们的格式和功能,试着在字符串中应用它们,看看它们的功能


    转义符        功能
    \\               反斜杠
    \'                单引号
    \"               双引号
    \a               响铃符
    \b              退格符
    \f               进纸符
    \n              换行符
    \N{name}  unicode数据库中的字符名,其中name就是它的名字
    \r               回车符
    \t               水平制表符
    \uxxxx        值为16位十六进制值xxxx的字符
    \Uxxxxxxxx 值为32位十六进制值xxxx的字符
    \v               垂直制表符
    \ooo          值为八进制值ooo的字符
    \xhh          值为十六进制数hh的字符


    试着运行下面一段代码看看结果:

    while True:
        for i in ['/','-','|','\\','|']:
            print("{}".format(i))

    结果无限循环输出:

    图片.png


关键字