输出函数基本使用方法
# -*- coding: utf-8 -*-
print "Mary had a little lamb."
print "Its fleece was white as %s." % 'snow'
print "And everywhere that Mary went."
print "." * 10 #这个输出是什么
end1 = "C"
end2 = "h"
end3 = "e"
end4 = "e"
end5 = "s"
end6 = "e"
end7 = "B"
end8 = "u"
end9 = "r"
end10 = "g"
end11 = "e"
end12 = "r"
# 注意一下最后的那个逗号,看把它删除后会有什么情况发生
print end1 + end2 + end3 + end4 + end5 + end6,
print end7 + end8 + end9 + end10 + end11 + end12
# 去掉逗号后的结果
print end1 + end2 + end3 + end4 + end5 + end6
print end7 + end8 + end9 + end10 + end11 + end12
得到的结果:
可以看到,我们首先使用了最简单的输出,直接输出字符串的方式。然后,用了格式化输出的当时,使用先用%s代替字符串,然后通过在后加一个字符串得到。第三句还是正常输出。第四句,我们通过一个乘法运算得到了10个点号,这里我们引入了一个字符串的乘法运算来简化多个点的输出。第五据和第六句都是对 Cheese Burger,这两个输出的区别可以明显的看出,第一个输出在,出加了空格后输出,而第二个输出是用转行得到的输出结果。可以看到,如果不想以下输出内容到下一行,我们可以将这个输出的最后加上一个逗号。
输出函数对元组的使用
在以上输出中第二句的输出,我们还可以对其进行更加深入的探索。这句输出是针对元组来输出的。也就是一个()带的组合例如(1,1,1,1)。下面,我们通过一个实例来对这种输入进行更全面的了解。
# -*- coding: utf-8 -*-
formatter = "%r %r %r %r"
print formatter % (1, 2, 3, 4) #四个整数
print formatter % ("one", "two", "three", "four") #四个字符串
print formatter % (True, False, False, True) #四个bool类型输出
print formatter % (formatter, formatter, formatter, formatter) #四个变量类型字符串
print formatter % ( #四个字符串
"I had this thing.",
"That you could type up right.",
"But it didn't sing.",
"So I said goodnight."
)
得到的结果:
首先使用一个formatter来定义四个输出变量,%r代表的是字符串(使用repr转换任意python对象),也就是说它获取的是最原始的字符串数据,并且获得更多的输出数据。这里,我们对其使用了各种类型的数据,发现输出都是不错的。这里需要注意的是最后一句输出,我们发现,第三个输出用的是双引号,而其他三句都使用的是单引号。这里就可以体现出双引号和单引号同时使用的优势了,在输出语句里面有单引号的时候我们就可以用双引号输出并且不影响单引号的输出。
特别提醒:%r读中文的话是会出现乱码的,如果想读中文,还是使用%s
换行符的使用
在python里面,如果你想输出的时候换行有很多种方法。一种就是上一节中提到的,用两个print进行输出;第二种就是在你想换行的地方加入\n的换行符;第三种就是直接使用”“”的方式进行输出可以直接换行。
下面的例子就是我们对着三种方式的使用:
# -*- coding: utf-8 -*-
#换行符的使用
days = "Mon Tue Wed Thu Fri Sat Sun"
months = "Jan\nFeb\nMar\nApr\nMay\nJun\nJul\nAug"
print "Here are the days: ", days
print "Here are the months: ", months
print """
There's something going on here.
With the three double-quotes.
We'll be able to type as much as we like.
Even 4 lines if we want, or 5, or 6.
"""
得到的结果:
我们可以看出最终得到的months,以及最后一个使用三个双引号”“”的都可以换行输出。
输出符号的方法
在上节内容中,我们可以看到对换行符的使用。这节主要针对输出的符号表达。在上节中,我们了解了三种表达字符串的方式,单引号’表达,双引号”表达,以及”“”表达。这三种表达方式各有各的优势,主要体现在以下三点:
- 单引号表示的字符串里可包含双引号,当然不能包含单引号
- 双引号表示的字符串里可以包含单引号,字符串都只能有一行
- 三个引号能包含多行字符串,同时常常出现在函数的声明的下一行,来注释函数的功能,与众不同的地方在于,这个注释作为函数的一个默认属性,可以通过 函数名.doc 来访问
在上节中,我们看到了换行符”\n”,这里出现了一个问题,既然”\n”表现了换行,那么\应该怎么输出呢。还有就是”i say , “hello” you” 。如果你使用双引号,在双引号里面怎么输出双引号呢,因为在遇到第二个双引号的时候,python就会认为字符串结束了,那后面的输入就属于语法错误。这些符号都应该怎么输出呢,这里我们给出了一个输出字符串的列表:
escape字符 | 表达的字符 |
---|---|
\ | 反斜杠() |
\’ | 单引号(’) |
\” | 双引号 (“) |
\a | ASCII (BEL) |
\b | ASCII backspace (BS) |
\f | ASCII formfeed (FF) |
\n | ASCII linefeed (LF) |
\N{name} | 以unicode编码的数据库里的名称 (Unicode only) |
\r | 回车 (CR) |
\t | 16进制tab (TAB) |
\uxxxx | 16进制hex编码的字母 xxxx (Unicode only) |
\Uxxxxxxxx | 32进制hex编码的字母 xxxxxxxx (Unicode only) |
\v | ASCII vertical tab (VT) |
\ooo | 八进制的字符 ooo |
\xhh | hex编码的字符 hh |