if not sky.has_key('blue'):
get_currently_compared_key # blue
elif not sky.has_key('cloud'):
get_currently_compared_key # cloud
在上面的代码中,我想在 if 语句中得到“蓝色”。有什么有用的方法吗?
编辑 1:如果天空 == 'blue' -> 如果不是天空 == 'blue' 编辑 2:如果不是 sky.has_key('blue')...
if not sky.has_key('blue'):
get_currently_compared_key # blue
elif not sky.has_key('cloud'):
get_currently_compared_key # cloud
在上面的代码中,我想在 if 语句中得到“蓝色”。有什么有用的方法吗?
编辑 1:如果天空 == 'blue' -> 如果不是天空 == 'blue' 编辑 2:如果不是 sky.has_key('blue')...
没有魔法标识符可以扩展到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
)。
不,这样做的唯一方法是显而易见的:
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
关键字,它更具可读性。