函数是对代码的封装复用
,也可以看成是对功能的抽象
。
如果你跟我一样,经常不知道要吃什么,可以把可选的菜单组成一个集合
,用Python随机
选择。
# random 是模块篇的内容 | 随机 1-7
>>> random.randint(1,7)
2
# 定义一个食谱字典,随机选出一个 value
>>> {1:'红烧豆腐', 2:'糖醋排骨', 3:'蚝油生菜', 4:'小河虾', 5:'牛肉土豆', 6:'干锅菜花', 7: '卤肉'}.get(random.randint(1,7))
'卤肉'
# 在选一次
>>> {1:'红烧豆腐', 2:'糖醋排骨', 3:'蚝油生菜', 4:'小河虾', 5:'牛肉土豆', 6:'干锅菜花', 7: '卤肉'}.get(random.randint(1,7))
'小河虾'
我们上面制作了这个帮忙选菜谱的小功能很贴心。但是每次执行都要从重新定义一次食谱,如果是一个很大的功能,一直需要这样重复就很繁琐。函数
就是为了解决这样的问题,把需要重复执行的代码,封装起来,需要用到的时候,召唤
就好。
我们用函数
改造上例的代码。
# 定义函数
def cb():
d = {1:'红烧豆腐', 2:'糖醋排骨', 3:'蚝油生菜', 4:'小河虾', 5:'牛肉土豆', 6:'干锅菜花', 7: '卤肉'}
print(d.get(random.randint(1,7)))
# 召唤函数
>>> cb()
'蚝油生菜'
# 在选一次 | 省事
>>> cb()
'牛肉土豆'
我们上面的函数是没有返回值
的,通常函数都有一个返回值。
# 定义函数
def cb():
d = {1:'红烧豆腐', 2:'糖醋排骨', 3:'蚝油生菜', 4:'小河虾', 5:'牛肉土豆', 6:'干锅菜花', 7: '卤肉'}
return d.get(random.randint(1,7))
# 执行函数
>>> cb()
# 没有输出任何东西,因为我们使用 return 返回了结果
# return
>>> r = cb() # r 是返回值
>>> print(r)
'糖醋排骨'
return 代表函数执行完毕,return 后面的代码将不会被执行。