使用之间真的有什么区别吗?
If(this)
{
}
Else If(that)
{
}
Else
{
}
Run Code Online (Sandbox Code Playgroud)
或使用,
If(this)
{
}
If(that)
{
}
Else
{
}
Run Code Online (Sandbox Code Playgroud)
?一个人执行得更快吗?编译器或架构有什么不同吗?
Mar*_*off 19
不同之处在于this-block和that-block 的内容都可以以第二种形式执行,而第一种形式最多允许执行其中一种形式.
比较这两个Python代码段:
x = 10
if x > 5:
print "x larger than 5"
elif x > 1:
print "x larger than 1"
else:
print "x not larger than 1"
# output: x larger than 5
Run Code Online (Sandbox Code Playgroud)
和
x = 10
if x > 5:
print "x larger than 5"
if x > 1: # not using else-if anymore!
print "x larger than 1"
else:
print "x not larger than 1"
# output line 1: x larger than 5
# output line 2: x larger than 1
Run Code Online (Sandbox Code Playgroud)
正如其他人所提到的,你通常不应该担心这些变化之间的表现,因为你应该关注正确性.但是,由于你问...其他条件相同,第二种形式会更慢,因为必须评估第二种条件.
但除非你已经确定以这种形式编写的代码是一个瓶颈,否则考虑优化它并不值得你努力.在从第一种形式切换到第二种形式时,您放弃跳出第一个if语句并获得对第二个条件的强制评估.根据语言的不同,这可能是一个非常微不足道的差异.
| 归档时间: |
|
| 查看次数: |
417 次 |
| 最近记录: |