《Python编程入门经典》--第一章:字符串

1.字符串概述

     字符串是Python语言的一种数据类型。数据类型是指某种特定类型的数据所适合的类别。输入到计算机中的数据会被划分为某种数据类型,不管它们是数值还是字母。定义数据类型使得计算机可以断定如何处理输入的数据。

     字符串示例:

      'hello world'

      '1+1'

      "I ate 4 bananas"

      "&*(&*()"

2.为什么需要引号

    当向Python输入一个字符串时,首先要输入一个引号。至于应该使用单引号('),双引号(")还是三个引号('''),要取决于想完成的目标。大多数情况下使用单引号。请记住,单引号和双引号以及三个引号是等价的。

    使用不用的引号输入字符串    

"This is a string using a double quote"
'This is a string using a single quote'
"""This is a string using a three quote"""

3.使用print()函数

  print()函数用来在屏幕上打印文本。在Python shell中输入

print("Hello world")

按下回车键,可得到如下输出:

Hello world

4.理解不同的引号  

1 print('This is a string using a single quote!')
2 print("This is  a string using a double quote!")
3 print("""This is a string using a three quote!""")

可以看到,在示例所示的这些情况中单引号(')和双引号(")是可以互换的。然而,若想使用缩写,例如don't,或者想引用某人的言论,观察会发生什么: 

print("I said,"Don't do it"")

当按下回车键时执行该函数时,会得到错误信息:SyntaxError:invalid syntax(<pyshell#10>,line 1)。

有一种简单的解决方法,叫做转义。再试一下前面的代码,在字符串中加入一个转义字符

print("I said,\"Don't do it")

见到反斜杠(\)时,也就是转义字符时,知道应当把双引号看作一个字符,而不是某种数据类型的指示符。但是这行还有个问题,丢失了最后一个双引号。所以:

print("I said,\"Don't do it\"")

最后,花点时间讨论一下三引号。利用三引号可以输入多行文本,在输入结束三引号之前这些文本不会被处理。这种技术在不想将大量数据打印到一行以及想在代码中换行时非常有用。示例:

print("""Roses are red
Violets are blue
I juse printed multiple lines
And you did too!""")

还可以利用换行(\n)转义字符在多行中打印文本,换行符是最常用到的转义字符。示例:

print("Roses are red \n Violets are blue \n I just printed multipe lines \n And you did too!")

5.串联两个字符串

第一种是数学方法:

"John"+"Everyman"

也可以不用加好,而采用下面这种方法

"John""Everyman"

从这些示例可以看出,字符串都被串联起来了;然而,Python逐字读这个语句,因而两个字符串之间没有空格(请记住,Python现在将他们看一个字符串,而不是两个!)。可以有两个解决方案

第一种是在第一个字符串后加入一个空格:

"John " "Everyman"

第二种方法是简单的使用一个分隔符:

"John"+" "+"Everyman"

请注意,可以使用任意的分隔符:

"John"+"."+"Everyman"

用print()函数链接字符串

默认情况下,当要在一句话中打印多个字符串时,print()函数会非常周全地插入空格。这里没有必要使用空格分隔符。相反,只需要用都想将不同的字符串隔开即可。

print("John","Everyman")

6.用不同的方法串联字符串

 另外一种指定字符串的方式是使用格式说明符。它通过插入一个特定的字符序列工作,这个字符序列被Python解释为占位符,并将由程序员提供的值替换。

使用格式说明符构成字符串

"John Q.%s" % ("public")

示例说明

%s是针对字符串的格式说明符。在字符串中,每个格式说明符都担当相应类型的占位符。字符串外面的%符号说明后面的所有值会被插入到字符串中相应的格式说明符处。

注意圆括号,他告诉字符串后面的序列号包含用于填充格式说明符的值。

一种简单的理解方式是%s是一个存储器,存放着圆括号中的值。如果想处理更多的值,只需要加入另外一个格式说明符即可,例如:

"John %s%s" % ("Every","man")

更多字符串格式

"%s %s %10s" % ("john","Every","Man")
"%-5s %s %10s" % ("john","Every","Man")

示例说明

在第一行代码中,单次Man出现时,离前面的单次很远,这是因为在最后一个格式说明符中添加了10,表示一个长度为10的字符串。如果字符串没有10个字符(它仅包含3个字符,即M-a-n),它就会在前一个单次与Man中间加入7个空格。

在输入第二行代码中,单词Every被空格隔开的方式与其他单次不同。原因与第一行代码相同,只不过这次空格是在左边,而不是在右边。将符号放在格式说明符的右边,这个格式会出现在单词的右边。如果使用了一个非负的数值,它出现在左边。

posted @ 2016-01-28 15:28  xiaomaow  阅读(206)  评论(0)    收藏  举报