python中字符串连接的问题:

最近遇到了字符连接的问题,和java中的不太一样 这里总结记录下

字符串之间的连接

三种连接字符串的方法:
  • 使用+号进行连接
website = 'python' + 'tab' + '.com'
这种方法使用简单直接,对学过java语言的人也很容易理解,但是网上不少人说这种方法效率
低之所以说python 中使用进行字符串连接的操作效率低下,是因为python中字符串是不可变
的类型,使用 + 连接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请
内存,当连续相加的字符串很多时(a+b+c+d+e+f+...) ,效率低下就是必然的了
  • 使用join方法进行连接
listStr = ['python', 'tab', '.com'] 
website = ''.join(listStr)
使用指定的格式连接字符串
使用略复杂,但对多个字符进行连接时效率高,只会有一次内存的申请。
而且如果是对list的字符进行连接的时候,这种方法必须是首选
  • 使用字符串格式化进行处理
1
website = '%s%s%s' % ('python', 'tab', '.com')
三种格式化的格式:字符串是 %s;整数 %d;浮点数%f
字符串格式化,这种方法非常常用

字符串与数字进行连接

当使用字符串与数字直接进行连接的时候 会出现 cannot concatenate ‘str’ and ‘int’ objects 这样的错误 这是类型转换的问题(java中可以直接使用+进行字符串和数字之间的连接 python中不可以)

要连接字符串和数字可以使用下列方法:
- 1使用str()方法把数字转换成字符串

s = 'abc'
print s + str(1)
abc1
  • 2使用字符串格式化方法
s = 'abc'
print "%s%s"%(s,1)
abc1

其实%s就是通过str()来处理对象的

- 使用print方法来打印 但是中间会有空格(不太喜欢)

s = 'abc'
x = 1
print x,s
1 abc
print 1,s
1 abc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值