Python 函数

函数就是把代码归集到一个名称下

  1. 函数作用:现代编程语言都支持把一段代码打包命名,后续直接写这个名字就可以执行这段代码,不用重复复制粘贴代码。
  2. def关键字:用来定义函数,后面跟函数名、括号、冒号,缩进内部就是函数代码块。

代码

def in_fridge():
    try:
        count = fridge[wanted_food]
    except KeyError:
        count = 0
    return countCode language: JavaScript (javascript)

运行测试

# 先定义全局字典 fridge
fridge = {"milk":"这是牛奶", "egg":"这是鸡蛋", "ice":"这是冰淇淋"}
# 设置要查找的食物
wanted_food = "juice"
print(in_fridge())   # juice不存在,输出 0

wanted_food = "milk"
print(in_fridge())   # milk存在,输出:这是牛奶Code language: PHP (php)

问题

这个函数没有参数,直接读取外部全局变量fridgewanted_food

  • 如果没有提前定义fridge,调用函数直接报NameError: name 'fridge' is not defined
  • 函数依赖外部全局变量,耦合度很高,不好复用。

改进版(使用参数)

def in_fridge(fridge_dict, wanted_food):
    try:
        count = fridge_dict[wanted_food]
    except KeyError:
        count = 0
    return count


# 调用
fridge = {"milk":"这是牛奶", "egg":"这是鸡蛋", "ice":"这是冰淇淋"}
print(in_fridge(fridge, "juice"))
print(in_fridge(fridge, "milk"))Code language: PHP (php)

总结

  1. def 函数名(): 开启函数定义,冒号不能丢,内部代码全部缩进。
  2. return:给调用者返回结果,函数执行到return就结束。
  3. try ... except KeyError:捕获字典查找键不存在时抛出的异常,找不到就返回0。

输出

0
这是牛奶

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注