字符串运算

来源:互联网 发布:朗文字典 mac 编辑:程序博客网 时间:2024/06/01 09:25

转载请注明出处: http://blog.csdn.net/SamoyedSun/article/details/45954279


一般来讲,你不能对字符串执行数学运算,即使字符串看起来很像数字也不行,因此下面的表达式是不合法的:

‘2’-1
‘eggs’ / ‘easy’
‘third’ * ‘charm’

针对以上的话例外的是 + 运算符是可以用于字符串的,但是他可能不会得出通常您所期望的结果:在字符串中它执行的是级联(concatenation)运算,也就是将字符串的内容端到端的连起来。例如

first = 'throat'second = 'warbler'print first + second

程序的输出结果是 throatwarbler

又一个例外 * 运算符也可应用于字符串:它执行重复运算。例如,’Spam’ * 3 的结果是 ‘SpamSpamSpam’。记住如果其中一个运算数是字符串,则另外一个必须是整数才能得到这样的结果。

在这里 + 和 * 的使用类比加法和乘法也算讲的通。就像 4*3 与 4+4+4 等价,接着我们直觉 ‘Spam’ * 3 和 ‘Spam’ + ‘Spam’ + ‘Spam’ 也应该等价,然而确实是这样。另一方面,字符串的级联和重复与整数的加法和乘法截然不同。你能想出来一个加法具有,而级联不具有的性质么?
当然直觉就能想到,例如:

>>> 300 + 300600>>> '300' + '300''300300'

关于怎么用自然语言描述这种区别,我还真想不起来,还请能看懂以上文章的盟友能用评论的方式给朕呈上来………..嘿嘿嘿…..

0 0
原创粉丝点击