下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
论坛 >编程语言 >Python 字符串的格式化(一)

Python 字符串的格式化(一)

希尔瓦娜斯发布于 2017-10-11 09:58查看:943回复:1

        相信很多人在格式化字符串的时候都用"%s" % v的语法,PEP 3101 提出一种更先进的格式化方法 str.format() 并成为 Python 3 的标准用来替换旧的 %s 格式化语法,CPython 从 2.6 开始已经实现了这一方法(其它解释器未考证)。

   format()

        新的 format() 方法其实更像是一个简略版的模板引起(Template Engine),功能非常丰富,官方文档对其语法的描述如下:

image.png


我将其准换成铁路图的形式,(可能)更直观一些:

image.png


        模板中替换变量用 {} 包围,且由 : 分为两部分,其中后半部分 format_spec 在后面会单独讨论。前半部分有三种用法:

      1,空

      2,代表位置的数字

      3,代表keyword的标识符

        这与函数调用的参数类别是一致的:

image.png

image.png


        除此之外,就像在0x05 函数参数与解包中提到的一样,format() 中也可以直接使用解包操作:

image.png

image.png

        

        在模板中还可以通过 .identifier 和 [key] 的方式获取变量内的属性或值(需要注意的是 "{}{}" 相当于 "{0}{1}"):

image.png

image.png


        强制转换

        可以通过 ! + r|s|a 的方式对替换的变量进行强制转换:

          "{!r}" 对变量调用 repr()

          "{!s}" 对变量调用 str()

          "{!a}" 对变量调用 ascii()


收藏(0)0
查看评分情况

全部评分

此主贴暂时没有点赞评分

总计:0

回复分享

版主推荐

    共有1条评论

    • 课课家运营团队
    • 酸酸~甜甜
    • Mr ken
    • YUI
    • cappuccino
    • mr jack
    • IT宅男
    • Mright
    • 课课家技术团队1
    • 选择版块:

    • 标题:

    • 内容

    • 验证码:

    • 标题:

    • 内容

    • 选择版块:

    移动帖子x

    移动到: