【发布时间】:2014-07-28 03:33:26
【问题描述】:
我正在尝试从数据库中获取一个 int id 编号,并且某些 id 被错误地存储为字符串,我想知道以下哪种方式更好:
# the first method
new_id = int(old_id) + 1
# second
if isinstance(old_id, str):
new_id = int(old_id) + 1
else:
new_id = old_id +1
那么问题来了,在 python 中将一个变量转换成它自己的类型需要花费吗?
【问题讨论】:
-
我认为更好的问题是“类型检查比将类型转换为自身需要更长的时间吗?”
-
除非您每秒处理数百万个值,否则 CPU 使用率不太可能有明显差异。
-
无论哪种方法或多或少有效,做这些事情中的任何一个都会挫败任何利用鸭子打字的尝试。我认为两者都是不好的做法。
-
我认为尝试将来自外部资源的不一致输入转换为一致类型并没有什么坏处。
-
如果您真的担心 CPU 使用率达到如此纳米级别,那么您一开始就不应该使用 Python。 ;)