python 函数

函数

将学习:

  • 函数定义
  • 变量作用域
  • 文档
  • Lambda 表达式
  • 迭代器和生成器

定义函数

函数定义示例:

def cylinder_volume(height, radius):
    pi = 3.14159
    return height * pi * radius ** 2

定义 cylinder_volume 函数后,我们可以如下所示地调用该函数。

cylinder_volume(10, 3)

函数定义包含几个重要部分。

函数头部

我们从函数头部开始,即函数定义的第一行。

  1. 函数头部始终以关键字 def 开始,表示这是函数定义。
  2. 然后是函数名称(在此例中是 cylinder_volume,因为函数名是要一个单词,所以需要用_进行连接),遵循的是和变量一样的命名规范。你可以在本页面下方回顾下命名规范。
  3. 名称之后是括号,其中可能包括用英文逗号分隔的参数(在此例中是 height 和 radius)。形参(或实参)是当函数被调用时作为输入传入的值,用在函数主体中。如果函数没有参数,这些括号留空。
  4. 头部始终以英文冒号 : 结束。

函数主体

函数的剩余部分包含在主题中,也就是函数完成操作的部分。

  1. 函数主体是在头部行之后缩进的代码。在此例中是定义 π 和返回体积的两行代码。
  2. 在此主体中,我们可以引用参数并定义新的变量,这些变量只能在这些缩进代码行内使用。
  3. 主体将经常包括 return 语句,用于当函数被调用时返回输出值。return 语句包括关键字 return,然后是经过评估以获得函数输出值的表达式。如果没有 return 语句,函数直接返回 None(例如内置 print() 函数)。

函数的命名规范

函数名称遵守和变量一样的命名规范。

  1. 仅在函数名称中使用普通字母、数字和下划线。不能有空格,需要以字母或下划线开头。
  2. 不能使用在 Python 中具有重要作用的保留字或内置标识符,我们将在这门课程中学习这方面的知识。要了解 python 保留字列表,请参阅此处
  3. 尝试使用可以帮助读者了解函数作用的描述性名称。

默认参数

我们可以向函数中添加默认参数,以便为在函数调用中未指定的参数提供默认值。

def cylinder_volume(height, radius=5):
    pi = 3.14159
    return height * pi * radius ** 2

在上述示例中,如果在函数调用中忽略了 radius,则将该参数设为 5。如果我们调用 cylinder_volume(10),该函数将使用 10 作为高度,使用 5 作为半径。但是,如果调用 cylinder_volume(10, 7),7 将覆盖默认的值 5。

此外注意,我们按照位置向参数传递值。可以通过两种方式传递值:按照位置和按照名称。下面两个函数的效果是一样的。

cylinder_volume(10, 7)  # pass in arguments by position
cylinder_volume(height=10, radius=7)  # pass in arguments by nam

变量作用域

变量作用域是指可以在程序的哪个部分引用或使用某个变量。

在函数中使用变量时,务必要考虑作用域。如果变量是在函数内创建的,则只能在该函数内使用该变量。你无法从该函数外面访问该变量。

# This will result in an error
def some_function():
    word &
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值