本文共 1350 字,大约阅读时间需要 4 分钟。
本节书摘来自异步社区《Python参考手册(第4版•修订版)》一书中的第1章,第1.5节,作者David M. Beazley,更多章节内容可以访问云栖社区“异步社区”公众号查看。
要创建一个字符串字面量,将字符串放在单引号、双引号或三引号中即可,如下所示:
a = "Hello World"b = 'Python is groovy'c = """Computer says 'No'"""
字符串前后使用的引号必须是对应匹配的。两个三引号之间出现的所有文本都视为字符串的内容,而使用单引号和双引号指定的字符串必须在一个逻辑行上。当字符串字面量的内容需放在多个文本行上时,三引号字符串就很有用,如下所示:
print '''Content-type: text/htmlHello World
Click here.'''
字符串存储在一个字符序列中,这个字符序列使用整数作为索引,索引从0开始。要提取其中的一个字符,可以使用索引运算符s[i],如下所示:
a = "Hello World"b = a[4] # b = 'o'
要提取一个子字符串,可以使用切片运算符s[i:j]。这会提取字符串s中索引位置k处的所有字符,其中索引k的范围是i<=k
c = a[:5] # c = "Hello"d = a[6:] # d = "World"e = a[3:8] # e = "lo Wo"
可以使用加(+)运算符连接两个字符串:
g = a + " This is a test"
Python不会把字符串的内容隐式地解释为数值数据(Perl或PHP等语言中会这样解释)。例如,+运算符始终会连接字符串:
x = "37"y = "42"z = x + y # z = "3742"(字符串连接)
要执行数学计算,首先要使用int()或float()等函数将字符串转换为数值,例如:
z = int(x) + int(y) # z = 79(整数求和)
使用str()、repr()或format()函数可将非字符串值转换为字符串表示形式,例如:
s = "The value of x is " + str(x)s = "The value of x is " + repr(x)s = "The value of x is " + format(x,"4d")
尽管str()和repr()都可以创建字符串,但它们的输出通常存在细微的差别。str()生成的输出与使用print语句得到的输出相同,而用repr()创建的字符串可表示程序中某个对象的精确值,例如:
>>> x = 3.4>>> str(x)'3.4'>>> repr(x)'3.3999999999999999'>>>
上例中3.4的不精确表示并非是Python中的一个bug。这是双精度浮点数的一个特点,因为从设计上说,底层计算机硬件无法精确地表示十进制小数。
format()函数可将值转换成特定格式等字符串,例如:
>>> format(x,"0.5f")'3.40000'>>>
转载地址:http://inssx.baihongyu.com/