gpt4 book ai didi

python - 引发异常是测试输入类型的可接受方法

转载 作者:太空宇宙 更新时间:2023-11-03 17:16:34 25 4
gpt4 key购买 nike

假设我要求用户输入一个 float ,我的直觉是使用正则表达式。

'(\+|-)?([0-9]+\.?[0-9]*|\.[0-9]+)([eE](\+|-)?[0-9]+)?$'

但是,您可以通过抛出异常来实现相同的检查。

try:
x = float(raw_input("Please enter a number: "))
except ValueError:
print "That was no valid number."
print "you entered " + str(x)

抛出异常比使用正则表达式有哪些优点和缺点?

最佳答案

让 Python 检查值并处理 ValueError 的优点有很多。你有明确的意图。您可以立即知道在每种情况下它应该做什么以及为什么。您正在使用该语言,而不是尝试通过正则表达式自己完成所有逻辑。

正则表达式方法不太容易阅读或理解,如果做得不好,可能会引入错误。不要重新发明轮子。

Python 被设计为作为一种自然的控制结构来有效地处理异常,因此像这样检查 ValueError 是很好的。相比之下,异常在 C++ 中代价高昂,因为它们在资源管理中实现了不同但非常重要的设计功能,因此在 C++ 程序中使用异常作为逻辑的正常部分并不是一个好主意。

关于python - 引发异常是测试输入类型的可接受方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33609241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com