if not sky.has_key('blue'):
get_currently_compared_key # blue
elif not sky.has_key('cloud'):
get_currently_compared_key # cloud
在上面的代码中,我想在if语句中得到'blue'。有什么有用的方法吗?
编辑1:如果天空=='蓝色' - >如果不是天空=='蓝色' 编辑2:如果不是sky.has_key('blue')......
答案 0 :(得分:2)
在结果中没有可以扩展到blue
的魔术标识符,如果这就是你的意思,虽然之后的值。sky
显然具有你在
修改:我想你的意思是sky != 'blue'
而不是not sky == 'blue'
。不,没有神奇的方法来获得条件下的比较值。再次键入'blue'
或创建一个将其保留在条件之外的变量:
BLUE = 'blue'
if sky != BLUE:
make_the_sky(BLUE)
编辑2 :好的,所以它是has_key
。仍然没有魔力。请注意,has_key
已被弃用了相当长的一段时间,支持'blue' in sky
(或'blue' not in sky
)。
答案 1 :(得分:1)
不,这样做的唯一方法是显而易见的:
sky_colour = 'blue'
if not sky == sky_colour:
do_something(sky_colour)
或者编辑:
sky_colour = 'blue'
if sky_colour not in sky:
do_something(sky_colour)
不需要 has_key()
- 请改用in
关键字,它更具可读性。