python中字符串拼接及print输出

以下基于python 2.7版本

一. str1+str2

string类型 ‘+’号连接
print “************************”
print “1. str1 + str2”
str1=”one”
str2=”two”
print str1+str2

输出:

二. str1,str2

string类型 ‘,’号连接成tuple类型
print “************************”
print “2. str1 , str2”
str1=”one”
str2=”two”
print str1 ,str2
print type((str1 ,str2))

输出:

三. 格式化字符串连接

string类型格式化连接

1.常见的格式化方式

print “************************”
print “3.1”
str1=”one”
str2=”two”
print “%s%s”%(str1,str2)

2.高级点的format 格式化

print “3.2”
str1=”{param}_大家好{data:.2f}”
print str1.format(param=”张三”, data=10.1)

3.鲜为人知的【%(word)type】print函数格式化

print “3.3”
str1=”%(param)s大牛大牛大牛!%(data)d”
print str1 % { “param”: “张三”, “data”: 222}

输出:

四. str1 str2

string类型空格自动连接
print “************************”
print “4”
print “one” “two”
#str1=”one”
#str2=”two”
#print str1 str2
这里需要注意的是注释部分,参数不能代替具体的字符串写成
输出:

五. str1 \ str2 \str3

string类型反斜线多行连接
print “************************”
print “5”
str1=”one ” \
    “two “\
    “three”
print str1

输出:

六. M*str1*N

string类型乘法连接
print “************************”
print “6”
str1=”one”
print 1*str1*4

输出:

七. join方式连接

string类型join方式连接list/tuple类型
print “************************”
print “7”
str1=”one”
str2=”two”
list1=[“T”,”W”,”O”]
tuple1=(“A”,”B”,”C”)
print str1.join(str2)
print str1.join(list1)
print str1.join(tuple1)
这里的join有点像split的反操作,将列表或元组用指定的字符串相连接;
但是值得注意的是,连接的列表或元组中元素的类型必须全部为string类型,否则就可能报如下的错误:
join还有一个妙用,就是将所有list或tuple中的元素连接成string类型并输出;
print “”.join(list1)
print “”.join(tuple1)

输出:

八.列表推导方式连接

与join方式类似
print “************************”
print “8”
print “”.join([“abc” for i in xrange(3)])
print “_”.join([“abc” for i in xrange(3)])

输出:

完整代码:

 

print "************************"
print "1. str1 + str2"
str1="one"
str2="two"
print str1+str2

print "************************"
print "2. str1 , str2"
str1="one"
str2="two"
print str1 ,str2
print type((str1 ,str2))

print "************************"
print "3.1"
str1="one"
str2="two"
print "%s%s"%(str1,str2)

print "3.2"
str1="{param}_大家好{data:.2f}"
print str1.format(param="张三", data=10.1)

print "3.2"
str1="%(param)s大牛大牛大牛!%(data)d"
print str1 % { "param": "张三", "data": 222}

print "************************"
print "4"
print "one" "two"
#str1="one"
#str2="two"
#print str1 str2

print "************************"
print "5"
str1="one " \
    "two "\
    "three"

print str1


print "************************"
print "6"
str1="one"
print 1*str1*4

print "************************"
print "7"
str1="one"
str2="two"
list1=["T","W","O"]
tuple1=("A","B","C")
print str1.join(str2)
print str1.join(list1)
print str1.join(tuple1)

print "".join(list1)
print "".join(tuple1)

print "************************"
print "8"
print "".join(["abc" for i in xrange(3)])
print "_".join(["abc" for i in xrange(3)])

 

整个代码的输出效果:

补充说明:

关于print输出内容,我们也会遇到一些需求。

 

1.输出内容,且输出后不换行

2.输出多行内容,在一行上

3.输出内容,中间以逗号分隔

4.输出内容,中间以逗号分隔,且没有其他字符

先看代码:

num = 5

for i in range(num):
    print i

for i in xrange(num):
    print i,
print '\r'

final = ""
for i in xrange(num):
    final = final + str(i) + ","
print final[0: len(final)-1]

 

输出效果:

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注