![Python科学与工程数据分析实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/69/52842069/b_52842069.jpg)
上QQ阅读APP看书,第一时间看更新
1.5 字符串操作
操作符之后值的数据类型不同,操作符的含义可能会改变。例如,在操作两个整型或浮点型值时,“+”是相加操作符。但是,在用于两个字符串时,它将字符串连接起来,成为“字符串连接”的操作符。在交互式环境中输入以下内容:
>>>'Lily'+'Bob' 'LilyBob'
该表达式求值为一个新字符串,包含两个字符串的文本。但是,如果对一个字符串和一个整型值使用加操作符,Python就不知道如何处理了,它将显示一条错误信息。
![](https://epubservercos.yuewen.com/04B710/31397758304943406/epubprivate/OEBPS/Images/Figure-P26_20811.jpg?sign=1739193747-zLMSoApaBdFUX8ERddZyXytgZJNx6VFw-0-66daca2d9dd545cee611e801393b570f)
错误信息can only concatenate str(not"int")to str表示Python认为,你试图将一个整数连接到字符串'Lily'。在Python代码中,必须显式地将整数转换为字符串,因为Python不能自动完成转换。
在用于两个整型或浮点型值时,“*”操作符表示乘法。但“*”操作符用于一个字符串值和一个整型值时,它变成了“字符串复制”。在交互式环境中输入一个字符串和一个数字相乘:
>>> 'Lily'*6 'LilyLilyLilyLilyLilyLily'
该表达式求值为一个字符串,它将原来的字符串重复若干次,次数就是整型的值。字符串复制是一个有用的技巧,但不像字符串连接那样常用。
“*”操作符只能用于两个数字(作为乘法),或一个字符串和一个整型(作为字符串复制操作符)。否则,Python将显示错误信息。
![](https://epubservercos.yuewen.com/04B710/31397758304943406/epubprivate/OEBPS/Images/Figure-P27_20813.jpg?sign=1739193747-4axFVV3eQpeKkebHwH5qVeGRM4oANV4g-0-97e8d55e460a9814d1b8ade35c7be9cf)
Python不理解这些表达式是有道理的:我们不能把两个单词相乘,也很难将一个任意字符串复制小数次。