python函数+参数处理

函数的作用

函数的定义

公式:

def function_name([parameter_list]):
    [''' comments ''']
    [function_body]
  • def:函数定义关键词
  • function_name:函数名称
  • ():参数列表放置的位置,可以为空
  • parameter_list:可选,指定向函数中传递的参数
  • comments:可选,为函数指定注释
  • function_body:可选,指定函数体

示例:
image

定义函数的注意事项

  • 缩进:python 通过严格的缩进来判断代码块。
    • 函数体和注释相对于 def 关键字必须保持一定的缩进,一般都是 4 个空格;
    • pycharm 自动格式化快捷键:ctrl+alt+L
  • 定义空函数。
    • 使用 pass 语句占位;
    • 写函数注释 comments。

示例:
image

函数的调用

公式:

function_name([parameter_value])
  • function_name:函数名称
  • parameter_value:指定的各个参数的值,选填

示例:

参数传递

形式参数:定义函数时,函数名称后面括号中的参数。
实际参数:调用函数时,函数名称后面括号中的参数。

# a, b, c 为形式参数
def demo_func(a, b, c):
    print(a, b, c)

# 1, 2, 3 为实际参数
demo_func(1, 2, 3)

位置参数:

  • 数量必须与定义时一致;
  • 位置必须与定义时一致。

示例:

关键字参数:

  • 使用形式参数的名字确定输入的参数值;
  • 不需要与形式参数的位置完全一致。

示例:

为参数设置默认值

  • 定义函数时可以指定形式参数的默认值;
  • 指定默认值的形式参数必须放在所有参数的最后,否则会产生语法错误;
  • param=default_value:指定参数,并且为该参数设置默认值为default_value,选填。

示例:


错误示例:

函数返回值

  • -value:指定要返回的值,选填

示例:
image

课后练习:自定义一个函数,并调用
image

可变参数

  • 可变参数也称为不定长参数;
  • 传入函数中实际参数可以是任意多个。
  • 常见形式:

:point_right: *args

  1. 接收多个实际参数,并将其放到一个元组中;
  2. 使用已经存在的列表或元组,作为函数的可变参数,可以在列表或元组的名称前加*
    示例:

:point_right: **kwargs

  1. 接收任意多个类似关键字参数一样显式赋值的实际参数,并将其放到一个字典中;
  2. 使用已经存在的字典,作为函数的可变参数,可以在字典的名称前加**
    示例: