(7)基本对象类型--字符串转义、格式化、多行输出(P3)

1. 基本对象类型(python里面一切皆是对象)

(接前文)

1.4.5 制表符和换行符

        添加制表符,可使用字符组合\t;中添加换行符,可使用字符组合\n。示例:

        >>>print("Languages:\n\tPython\n\tJava\n\tJavaScript")

        输出:

        Languages:

        Python

        Java

        JavaScript


1.4.6 常用转义符

        \(在行尾时) 续行符

        \\ 反斜杠符号

        \' 单引号

        \" 双引号

        \n 换行

        \t 横向制表符

        \r 回车


1.4.7 字符串中包含引号处理

        用单引号包含字符串时,若字符串内容中含有单引号,就会出现语法错误。可以改为双引号包含字符串,反之亦然。示例:message = "One of Python's strengths is its diverse community."

最好的方法是用转义符,如message = 'One of Python\'s strengths is its diverse community.'


1.4.8 字符串格式化

1.4.8.1 传统字符串格式化

     符号 描述

          %c 格式化字符及其ASCII码

          %s 格式化字符串

          %d 格式化整数

          %u 格式化无符号整型

          %o 格式化无符号八进制数

          %x 格式化无符号十六进制数

          %X 格式化无符号十六进制数(大写)

          %f     格式化浮点数字,可指定小数点后的精度

          %e 用科学计数法格式化浮点数

          %E 作用同%e,用科学计数法格式化浮点数

          %g %f和%e的简写

          %G %f 和 %E 的简写

          %p 用十六进制数格式化变量的地址

        示例(Python 3.0+):

            print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

            输出结果:我叫 小明 今年 10 岁!

         符号     功能

        * 定义宽度或者小数点精度

        - 用做左对齐

        + 在正数前面显示加号( + )

        <sp> 在正数前面显示空格

        # 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')

        0 显示的数字前面填充'0'而不是默认的空格

        % '%%'输出一个单一的'%'

        (var) 映射变量(字典参数)

        m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)


1.4.8.2 str.format(),增强字符串格式化

        Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。可替代上面的格式化方式。


1.4.8.3 f-string字面量格式化字符串

        f-string 是 python3.6 之后版本添加的格式化字符串语法

        f-string 格式化字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去。

        示例:

        >>> name = 'Runoob'

        >>> 'Hello %s' % name 传统格式化,输出'Hello Runoob'

        >>> f'Hello {name}'  f’格式化,  输出 'Hello Runoob'

        >>> w = {'name': 'connie', 'age': 19}

        >>> print(f'My name is {w["name"]},age is {w["age"]}')

        输出 My name is connie,age is 19。用这种方式,不用再去判断使用 %s,还是 %d。


1.4.8.4 使用= 符号来拼接运算表达式与结果

        Python 3.8 的版本中可以使用 = 符号来拼接运算表达式与结果

        示例:

        >>> x = 1

        >>> print(f'{x+1=}')  # Python 3.8

        'x+1=2'


1.4.9 多行字符串

     使用一对三个单引号进行定义。多行字符串可以使用制表符,三引号让程序员从引号和特殊字符串的泥潭里面解脱出来。一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。

        示例:

        >>> para_str = """这是一个多行字符串的实例

        多行字符串可以使用制表符

        TAB ( \t )。

        也可以使用换行符 [ \n ]。

        """

        >>> para_str

        '这是一个多行字符串的实例\n多行字符串可以使用制表符\nTAB ( \t )。\n也可以使用换行符 [ \n ]。\n'

         多行字符串可以使用制表符

        三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。

        一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。

        示例:

            >>>errHTML = '''

        <HTML><HEAD><TITLE>

        Friends CGI Demo</TITLE></HEAD>

        <BODY><H3>ERROR</H3>

        <B>%s</B><P>

        <FORM><INPUT TYPE=button VALUE=Back

        ONCLICK="window.history.back()"></FORM>

        </BODY></HTML>

        '''

        >>>cursor.execute('''

        CREATE TABLE users ( 

        login VARCHAR(8),

        uid INTEGER,

        prid INTEGER)

        ''')


1.4.10 原始字符串

        在字符串前加’r’,定义原始字符串,字符串中的内容都是原始含义,没有转义功能。

        >>>dos = r"c:\news"

        >>>print(dos) #输出c:\news

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容