• Python合集之Python字符串常用操作(五)


         在上一节的合集中,我们了解了Python字符串间一些常用操作的相关知识,本节我们将进一步了解一下Python字符串的格式化问题的相关知识。

    格式化字符串是指先制定一个模板,在这个模板中预留几个空位,然后再根据需要填上相应的内容。这些空位需要通过制定的符号标记,而这些符号还不会显示出来。在PYthon中格式化字符串有以下2中方法。

    1.使用%操作符

    在Python中,要实现格式化字符串,可以使用 % 操作符,语法格式如下:

    '%[-][+][0][m][.n]格式化字符'%exp
    参数说明:
    -:可选参数,用于指定左对齐,正数前方无符号,负数前方有负号。
    +:可选参数,用于指定右对齐,正数前方加正号,负数前方加负号。
    0:可选参数,表示右对齐,正数前方无符号,负数前方加负号,用0填充空白处(一般与m参数一起使用)
    m:可选参数,表示占有宽度
    .n:可选参数,表示小数点后保留的位数
    格式化字符:用于指定类型。其值如下表:
    exp:要转换的项,如果要指定的项有多个,需要通过元组的形式进行指定,但不能使用列表。
    格式化字符 说明 格式化字符 说明
    %s 字符串(采用str()显示) %r 字符串(采用repr()显示)
    %c 单个字符 %o 八进制整数
    %d或者%i 十进制整数 %e 指数(基底写为e)
    %x 十六进制整数 %E 指数(基底写为E)
    %f 或者 %F 浮点数 %% 字符%

    例如:

    template='编号:%09d	 公司名称: %s 	 官网:http://www.%s.com'
    context1=(7,'百度','baidu')
    context2=(8,'明日学院','mingrisoft')
    print(template%context1)
    print(template%context2)

    注:由于使用%操作符是早期Python中提供的方法,自从Python2.6版本开始,字符串对象提供了format()方法对字符串进行格式化。

    2.使用字符串对象format()方法。

    字符串对象format()方法用于进行字符串格式化,语法格式如下:

    str.format(args)
    参数说明:
    str:用于指定字符串的显示样式。
    arges:用于指定要转换的项,如果有多项,则用逗号隔开。
    {[index][:[[fill]align][sign][#][width][.precision][type]]}
    参数说明:
    index:可选参数,用于指定要设置格式对象在参数列表中的索引位置,索引值从0开始。如果省略,则根据值得先后顺序自动分配。
    fill:可选参数:用于指定空白处填充的字符。
    align:可选参数,用于指定对齐方式(值为 < 时表示内容左对齐,值为>时表示内容右对齐,值为 = 表示内容右对齐,只对数字类型有效。 值为 ^ 时表示内容居中)需要配合width一起使用。
    sign:可选参数,用于指定有无符号数(值为 + 表示正数加正号,负数加负号 值为 - 表示正数不变,负数加负号,值为空格表示正数加空格,负数加负号)
    #:可选参数,对于二进制,八进制和十六进制,如果加上#,表示会显示0b/0o/0x前缀,否则不显示前缀。
    width:可选参数,用于指定所占宽度
    .precision:可选参数,用于指定保留的小数位数
    type:可选参数,用于指定类型
    格式化字符 说明 格式化字符 说明
    s 对字符串类型格式化 b 将十进制整数自动转换为二进制表示再格式化
    d 十进制整数 o 将十进制整数自动转换为八进制表示再格式化
    c 将十进制整数自动转换为对应的Unicode字符 xX 将十进制整数自动转换为十六进制表示再格式化
    eE 转换为科学计数表示再格式化 fF 转换为浮点数(默认小数点后保留6位)再格式化
    gG 自动在e和f或者E和F中切换 % 显示百分比(默认显示小数点后6位)

    注:当一个模板中,出现多个占位符时,指定索引位置的规范需统一,即全部采用手动指定,或者全部采用自动。

    例如:

    template='编号:{:0>9s}	 公司名称:{:s} 	 官网: http://www.{:s}.com'
    context1=template.format('7','百度','baidu')
    context2=template.format('8','明日学院','mingrisoft')
    print(context1)
    print(context2)

    花絮:

    本期的Python 字符串常用操作就分享到这里,下期我们将继续分享Python字符串编码的相关知识,感兴趣的朋友可以关注我。

    同时也可以关注下我的个人 微信订阅号,园子里面的文章也会第一时间在订阅号里面进行推送跟更新。

  • 相关阅读:
    erlang开发环境(IDE)搭建
    Mono for android,Xamarin点击事件的多种写法
    .NET C#中处理Url中文编码问题
    第一天正式学习,定一个学习目标吧。
    想转行做开发了!
    Java JMS 程序基础 与 ActiveMQ 安装(一)
    JDBC 基础
    Linux 6.4 设置yum 为centOS源
    C++ 简单实现 依赖注入(IOC)
    安卓项目
  • 原文地址:https://www.cnblogs.com/a-mumu/p/14449403.html
Copyright © 2020-2023  润新知