zoukankan      html  css  js  c++  java
  • Python格式化字符串

    Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符  %s 的字符串中。上海python培训-上海尚学堂编辑写作。


    人工智能时代,Python先行!
     
     Python vs. C:  格式化 字符串
    在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。(大家还记得C语言中sprintf吗?不记得可以问百度)
     
    Example 1. 字符串的格式化
    >>> k = "uid"
    >>> v = "sa"
    >>> "%s=%s" % (k, v) (1)
    'uid=sa'
     
    (1) 整个表达式的值为一个字符串。第一个  %s 被变量  k 的值替换;第二个  %s被  v 的值替换。字符串中的所有其它字符 (在这个例子中,是等号) 按原样打印输出。
     
    注意  (k, v) 是一个 tuple。我说过它们对某些东西有用。您可能一直在想,做了这么多工作只不过是为了做简单的字符串连接。您想的不错,只不过字符串格式化不只是连接。它甚至不仅仅是格式化。它也是
    强制类型转换。
     
    Example 2. 字符串格式化与字符串连接的比较
     
    >>> uid = "sa"
    >>> pwd = "secret"
    >>> print pwd + " is not a good password for " + uid (1)
    secret is not a good password for sa
    >>> print "%s is not a good password for %s" % (pwd, uid) (2)
    secret is not a good password for sa
    >>> userCount = 6
    >>> print "Users connected: %d" % (userCount, ) (3) (4)
    Users connected: 6
    >>> print "Users connected: " + userCount (5)
    Traceback (innermost last):
    File "<interactive input>", line 1, in ?
    TypeError: cannot concatenate 'str' and 'int' objects
     
    (1)  + 是字符串连接操作符。
     
    (2) 在这个简单例子中,字符串格式化实现与连接一样的结果。
     
    (3)  (userCount, ) 是一个只包含一个元素的 tuple。是的,语法有一点奇怪,但是使用它的理由就是:显示地指出它是一个 tuple,而不是其他。实际上,当定义一个 list、tuple 或 dictionary 时,您可以总是在最后一个元素后面跟上一个逗号,但是当定义一个只包含一个元素的 tuple 时逗号是必须的。如果省略逗号,Python 不会知道  (userCount) 究竟是一个只包含一个元素的tuple 还是变量  userCount 的值。
     
    (4) 字符串格式化通过将  %s 替换成  %d 即可处理整数。
     
    (5) 试图将一个字符串同一个非字符串连接会引发一个异常。与字符串格式化不同,字符串连接只能在被连接的每一个都是字符串时起作用。如同  printf 在 C 中的作用,Python 中的字符串格式化是一把瑞士军刀。它有丰富的选项,不同的格式化格式符和可选的修正符可用于不同的数据类型。
     
    Example 3. 数值的格式化
     
    >>> print "Today's stock price: %f" % 50.4625 (1)
    50.462500
    >>> print "Today's stock price: %.2f" % 50.4625 (2)
    50.46
    >>> print "Change since yesterday: %+.2f" % 1.5 (3)
    +1.50
     
    (1)  %f 格式符选项对应一个十进制浮点数,不指定精度时打印 6 位小数。
     
    (2) 使用包含“.2”精度修正符的  %f 格式符选项将只打印 2 位小数。
     
    (3) 您甚至可以混合使用各种修正符。添加  + 修正符用于在数值之前显示一个正号或负号。注意“.2”精度修正符仍旧在它原来的位置,用于只打印 2 位小数。


    欢迎阅读上海python培训文章,获取更多内容推荐

    【上海python培训】在Python中一切皆对象

     《【上海python培训】笨办法学习Python系列之Python注释和#号

    Python函数声明以及与其他编程语言数据类型的比较

    【上海python培训】Python是什么样的?我适合学Python吗?

  • 相关阅读:
    反向迭代
    c++知识点
    LeetCode-Count Bits
    LeetCode-Perfect Rectangle
    LeetCode-Perfect Squares
    LeetCode-Lexicographical Numbers
    LeetCode-Find Median from Data Stream
    LeetCode-Maximal Square
    LeetCode-Number of Digit One
    LeetCode-Combination Sum IV
  • 原文地址:https://www.cnblogs.com/shsxt/p/9073923.html
Copyright © 2011-2022 走看看