函数定义
代码语言:javascript复制你可以定义一个由自己想要功能的函数,以下是简单的规则:
- 例子
def hello(var) :
- 形参与实参
形参: 形式上的参数,只是指代某事,出现在函数定义上
- 引用传递【可更改(mutable)】
#!/usr/bin/python3
- 值传递 【不可更改(immutable)对象】
#!/usr/bin/python3
参数
- 必需参数
def hello(var) :
- 关键字参数
- 默认参数
# 可写函数说明
代码语言:javascript复制推荐使用关键字参数调用,因为比较清晰
# 可写函数说明
- 不定长参数
代码语言:javascript复制你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名。
# 加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
代码语言:javascript复制#如果在函数调用时没有指定参数,它就是一个空元组。我们也可以不向函数传递未命名的变量。
代码语言:javascript复制#加了两个星号 ** 的参数会以字典
代码语言:javascript复制#声明函数时,参数中星号 *
- 匿名函数
代码语言:javascript复制没有名字,函数调用时 无法使用名字,基本在哪里定义在哪里调用 python 使用 lambda 来创建匿名函数。 所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。 编程范式
#!/usr/bin/python3
- 强制位置参数
Python3.8 新增了一个函数形参语法 / 用来指明函数形参必须使用指定位置参数,不能使用关键字参数的形式。