Python 函数

函数是对代码的封装复用,也可以看成是对功能的抽象


随机食谱

如果你跟我一样,经常不知道要吃什么,可以把可选的菜单组成一个集合,用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()
'牛肉土豆'

return

我们上面的函数是没有返回值的,通常函数都有一个返回值。

# 定义函数
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 后面的代码将不会被执行。

Python 教程 Python 入门 Python 时间 Python JSON