【问题标题】:python string u"%(word)s"python 字符串 u"%(word)s"
【发布时间】:2011-06-26 16:22:25
【问题描述】:

我是Python的新用户,看代码的时候有些地方不知道。所以我在这里问。

cmd = u"sudo umount %(mountpoint)s >>%(log)s 2>&1"

我知道%(word) 是用来代替后来使用的词,例如cmd % {'word':'new word'},但我不明白为什么后面有s。而且我不知道字符串开头的“u”的含义。

【问题讨论】:

    标签: python string syntax


    【解决方案1】:

    开头的u 表示“Unicode”(即它是一个Unicode 字符串)。每个格式化代码后面的s 表示将值解释为字符串,而不是d 用于十进制等。

    有关所有详细信息,请参阅http://docs.python.org/library/stdtypes.html#string-formatting-operations 的文档。

    【讨论】:

      【解决方案2】:

      字符串开头的u表示是unicode字符串。

      结尾的 s 表示格式的那部分应该是字符串。如果它是 a a d 它将是一个整数,如果它是一个 f 它将是一个浮点数

      【讨论】:

        【解决方案3】:
        1. u 表示它是一个 unicode 字符串。
        2. s 代表字符串。

        【讨论】:

          【解决方案4】:

          s 是转换说明符,表示将其打印为字符串。

          参见string formatting,第 3 点:

          转换标志(可选),影响某些转换类型的结果。

          前导u 表示它是unicode 对象,而不是str

          请参阅Unicode in Python, Completely Demystified,详细了解两者之间的区别。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-06-13
            • 2013-10-31
            • 2016-04-18
            • 2014-03-27
            • 2017-05-28
            • 2015-05-13
            相关资源
            最近更新 更多