亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

精通 Python 函数:定义、调用、缩进、参数与返回值

精通 Python 函数:定义、调用、缩进、参数与返回值

函数是任何 Python 应用程序的基础构建块。它们封装可复用的逻辑,保持代码简洁(DRY 原则),并使程序更易读、测试和维护。本指南将逐步讲解在 Python 3 中编写、调用和排查函数所需的一切知识,同时也会涉及 Python 2 中的差异。

什么是 Python 函数?

Python 函数是一个独立的代码块,当你调用它时会执行。你可以把它看作一个执行单一、明确任务的微型程序,可在任何需要的地方复用。Python 内置了许多函数(如 print()、input()),你也可以自由创建自己的函数,赋予代码进化和扩展的能力。

定义和调用函数

函数使用 def 关键字声明,后跟函数名和括号包裹的参数列表。函数体以冒号开始,必须缩进。

def greet():
    print("Hello, Python!")

# 调用函数
greet()

输出:Hello, Python!

为什么缩进很重要

Python 不使用大括号或显式的 begin/end 语句,而是用缩进来定义作用域。每个代码块——函数、循环、条件判断——必须保持一致的缩进级别。

  1. 函数定义后至少需要一级缩进(通常为四个空格)。
  2. 函数内的所有语句必须使用相同的缩进。
  3. 混合制表符和空格,或缩进深度不一致,会触发 IndentationError。

正确的缩进示例:

def demo():
    print("Line 1")
    print("Line 2")

常见错误:

def demo():
print("Oops")

会引发:IndentationError: expected an indented block

使用 return 语句

return 关键字将值返回给调用者。如果函数执行到末尾未遇到 return,则隐式返回 None。

def square(x):
    return x * x

print(square(4))  # 16

没有 return 时:

def square(x):
    x * x

print(square(4))  # None

此外,直接打印函数对象(如 print(square))会显示其内存地址,在应用代码中很少有用。

向函数传递参数

参数为函数提供运行所需的数据。形参是函数签名中定义的占位符。

def multiply(x, y=1):
    return x * y

print(multiply(4))        # 4 (y 默认为 1)
print(multiply(4, 2))     # 8
print(multiply(y=3, x=2)) # 6 (关键字参数允许重新排序)

可变长度参数 (*args 和 **kwargs)

有时需要接受任意数量参数的函数。使用 *args 处理位置参数,**kwargs 处理关键字参数。

def summarize(*values, **options):
    total = sum(values)
    print(f"Total: {total}")
    if options.get("show_details"):
        print("Values:", values)

summarize(1, 2, 3, 4, 5, show_details=True)

Python 2 与 Python 3:关键差异

函数设计最佳实践

完整示例

# 综合 Python 3 脚本示例
def greet():
    """Print a friendly greeting."""
    print("Hello, Python!")

def square(x: int) -> int:
    """Return the square of x."""
    return x * x

def multiply(x: int, y: int = 1) -> int:
    """Return the product of x and y, with y defaulting to 1."""
    return x * y

# 演示
if __name__ == "__main__":
    greet()
    print(square(4))        # 16
    print(multiply(4))      # 4
    print(multiply(4, 2))   # 8
    print(multiply(y=2, x=4)) # 8

更详细指南请参考 Python 官方文档中的 函数定义。

Python

  1. C++ 函数详解:从声明到调用的实战指南
  2. Python语句、缩进与注释:清晰指南
  3. 精通Python函数参数:位置、关键字与默认参数
  4. Python Lambda匿名函数实战指南
  5. Python 生成器:高效迭代与进阶用例
  6. Python 闭包详解:嵌套函数如何捕获变量
  7. 精通 Python 装饰器:专家技巧增强函数
  8. 精通 Python Lambda 函数:实用示例与最佳实践
  9. Python abs() 函数:计算数字与复数的绝对值
  10. Python round() 函数详解与实战示例
  11. 精通 Python range() 函数:从基础到高级用法
  12. 精通 Python map() 函数:语法、示例与最佳实践