背景
当选择条件多的时候,If else结构就显得很臃肿,利用字典的原理进行改造,让条件语句结构更清晰,效率怎样不知道,但颜值是提高不少的。
正题
原版If else语句:
person = "China"
if person == "China":
print("I am a Chinese.")
elif person == "USA":
print("I am an American.")
elif person == "Korea":
print("I am a Korean.")
else:
print("Which country am I from?")
改造后的:
person = "China"
def funChina(param):
print("I am a Chinese.")
def funAmerica(param):
print("I am an American.")
def funKorea(param):
print("I am a Korean.")
def funUnknown(param):
print("Which country am I from?")
country = {
"China": funChina,
"USA": funAmerica,
"Korea": funKorea
}
country.get(person, funUnknown)("123")
结束语
利用字典的特性进行条件选择,充分发挥“一切皆对象”的思想,利用函数收纳执行体。
感觉与golang的interface有异曲同工之妙。