今天主要说一些这几天遇到的几个print。
1. print与引号:
与C/C++不同的是,print既可以与双引号连用,也可以与单引号连用,一下两种方式都是正确的:
print“I have a python code”
print ‘I have a python code’
不过通常情况下,如果输出的是长句,则建议使用双引号<”“>,如果输出的是单个字符或者简短的词汇,则通常使用单引号<”>.如下:
print“I have a python code”
print ‘python’, ‘a’
print ‘h’
另外,Python的print输出可以直接用于汉字:
print“你好!”
print ‘你好!’
均正确,但是要注意仍然使用英文模式下的单引号与双引号。

2.print与逗号:

在Python语言中,只用print进行输出时,逗号<,>的作用是分隔两个语句,但是可以将这两个语句一起输出,其作用类似与C++中的”<<”运算符。

print "I have a python code"," to compile."

运行结果如下:

python输出带引号的字符串 python输出结果带引号吗_字符串

print "calculate the following exercise:","3+5=",3+5, "  6.32*5.6=",6.32*5.6

运行结果如下:

python输出带引号的字符串 python输出结果带引号吗_python输出带引号的字符串_02


另外一个例子:

var_1="I said: "
var_2="I have a python code."
print var_1,var_2

运行结果如下:

python输出带引号的字符串 python输出结果带引号吗_python输出带引号的字符串_03

3.print与格式化运算符,在这里重点说一下“%s”运算符:
print中的格式化运算符和C语言中的“%d”,“%c”形式上是差不多的。“%s”用来代表一个字符串:

var_1="I have a python code"
var_2="Python is easy to learn."
print "I said: %s"%var_1

注意这段代码第一个print语句中%s后面的逗号<,>,运行结果如下:

python输出带引号的字符串 python输出结果带引号吗_运算符_04


如果在print语句中加上逗号,如下:

print "I said: %s",%var_1

则编译器显示语法错误。
字符串可以相加:

print "I said: %s"%(var_1+var_2)

运行结果如下:

python输出带引号的字符串 python输出结果带引号吗_运算符_05


如果想将var_1和var_2对应的字符串拼接输出,且形式上整洁一些,不至于连成一片,除了在var_2字符串的开始之处刻意加上空格<‘ ’>,还可以采取下面的方式:

var_1="I have a python code"
var_2="Python is easy to learn."
print "I said: %s %s"%(var_1,var_2)

运行结果如下:

python输出带引号的字符串 python输出结果带引号吗_字符串_06


后面部分<%(var_1,var_2)>中的逗号用于分隔var_1和var_2,表示这是两个不同的字符串,在运行后的输出结果中,var_1金额var_2对应的字符串不至于连在一起,根本原因是由于print语句中两个%s之间使用的空格,如果向下面这样:

print "I said: %s%s"%(var_1,var_2)

则运行结果如下:

python输出带引号的字符串 python输出结果带引号吗_字符串_07


或者,在两个%s之间加入逗号,如下:

print "I said: %s,%s"%(var_1,var_2)

则运行结果如下:

python输出带引号的字符串 python输出结果带引号吗_运算符_08

%s的另一种用法:
不借助变量名,直接使用现成的字符串,如下:

print "I said: %s"%'I have a python code.'

运行结果如下:

python输出带引号的字符串 python输出结果带引号吗_python_09

还可以将%s直接作为字符串变量的一部分,如下:

var_1="I said: %s"
var_2="I have a python code."
print var_1 %var_2

运行结果如下:

python输出带引号的字符串 python输出结果带引号吗_运算符_10


此处var_1和var_1对应的字符串之间没有连成一片,并不是因为print语句中在var_1与百分号<%>加上了一个空格字符,此空格字符有无均可。如果采取下面的方式:

print var_1%var_2

则运行结果仍然如此:

python输出带引号的字符串 python输出结果带引号吗_python_11

除了%s字符以外,还有个%r字符,相比之下,%r字符的区别在于,其会将引号也一并输出,简单示例如下:

var_1="I have a python code."
print "I said: %r"%var_1

python输出带引号的字符串 python输出结果带引号吗_字符串_12


注意,运行结果中这句话多了一对单引号。