Python 编程:从入门到实践(三十一):基础知识——变量和简单数据类型 2.4.4

阅读数:19 2019 年 10 月 19 日 12:56

Python编程:从入门到实践(三十一):基础知识——变量和简单数据类型 2.4.4

(数字:使用函数str()避免类型错误)

你经常需要在消息中使用变量的值。例如,假设你要祝人生日快乐,可能会编写类似于下面的代码:

birthday.py

复制代码
age = 23
message = "Happy " + age + "rd Birthday!"
print(message)

你可能认为,上述代码会打印一条简单的生日祝福语:Happy 23rd birthday!。但如果你运行这些代码,将发现它们会引发错误:

复制代码
Traceback (most recent call last):
File "birthday.py", line 2, in <module>
message = "Happy " + age + "rd Birthday!"
❶ TypeError: Can't convert 'int' object to str implicitly

这是一个类型错误,意味着 Python 无法识别你使用的信息。在这个示例中,Python 发现你使用了一个值为整数(int)的变量,但它不知道该如何解读这个值(见❶)。Python 知道,这个变量表示的可能是数值 23,也可能是字符 2 和 3。像上面这样在字符串中使用整数时,需要显式地指出你希望 Python 将这个整数用作字符串。为此,可调用函数str(),它让 Python 将非字符串值表示为字符串:

复制代码
age = 23
message = "Happy " + str(age) + "rd Birthday!"
print(message)

这样,Python 就知道你要将数值 23 转换为字符串,进而在生日祝福消息中显示字符 2 和 3。经过上述处理后,将显示你期望的消息,而不会引发错误:

复制代码
Happy 23rd Birthday!

大多数情况下,在 Python 中使用数字都非常简单。如果结果出乎意料,请检查 Python 是否按你期望的方式将数字解读为了数值或字符串。

评论

发布