python如何定义和调用函数

Python中定义函数用def关键字,调用时用函数名加括号;函数可设默认参数、接收args和*kwargs;函数是一等对象,可赋值、传参、嵌套及返回。

Python中定义和调用函数很简单:用 def 关键字声明函数,再通过函数名加括号来调用。

定义函数:用 def 写出结构

函数定义的基本语法是:

def 函数名(参数列表):
    函数体
    return 返回值(可选)

说明:

立即学习“Python免费学习笔记(深入)”;

  • 函数名要符合变量命名规则(字母、数字、下划线,不能以数字开头)
  • 参数列表可以为空,也可以有多个参数,用逗号分隔
  • 函数体必须缩进(通常4个空格),这是Python的语法要求
  • return 语句用于返回结果;没有 return 或只写 return,函数默认返回 None

例如:

def greet(name):
    print(f"你好,{name}!")
    return "欢迎回来"

调用函数:写函数名+括号传参

定义好之后,直接用函数名加括号就能调用:

  • 如果函数有参数,调用时必须提供对应数量和类型的实参(除非有默认值)
  • 调用表达式本身有返回值,可以赋值给变量或直接打印

例如:

result = greet("小明")
print(result)

输出:
你好,小明!
欢迎回来

带默认参数和可变参数的写法

让函数更灵活常用这些技巧:

  • 给参数设默认值:def say(message, times=1):,调用时可省略 times
  • 接收任意多个位置参数:def func(*args):,args 是元组
  • 接收任意多个关键字参数:def func(**kwargs):,kwargs 是字典

例如:

def add(a, b=0, *nums):
    return a + b + sum(nums)

add(1) → 1
add(2, 3) → 5
add(1, 2, 3, 4) → 10

函数是对象,可以赋值和传递

Python里函数是一等公民,意味着:

  • 可以把函数赋给变量:my_func = greet,然后用 my_func("张三") 调用
  • 可以把函数作为参数传给其他函数(比如 map()sorted(key=...)
  • 可以在函数内部定义函数(嵌套函数),甚至返回函数(闭包)

例如:

def make_multiplier(n):
    def multiplier(x):
        return x * n
    return multiplier

double = make_multiplier(2)
print(double(5)) # 输出 10