Python函数入门:从零基础到熟练掌握66


Python 作为一门简洁易学的编程语言,其函数功能是构建强大程序的关键。本文将带你从零基础开始,循序渐进地学习 Python 函数,涵盖函数定义、参数传递、返回值、作用域、递归等核心概念,并辅以丰富的示例代码,助你快速掌握 Python 函数的精髓。

1. 函数的定义和调用

Python 函数使用 `def` 关键字定义,其基本结构如下:```python
def function_name(parameter1, parameter2, ...):
"""Docstring: 函数的文档字符串,描述函数的功能"""
# 函数体: 执行特定操作的代码块
return value # 可选的返回值
```

其中,`function_name` 是函数名,遵循 Python 的命名规则;`parameter1`, `parameter2` 等是参数,用于向函数传递数据;`Docstring` 是文档字符串,用于解释函数的功能,良好的代码规范建议编写文档字符串;`return value` 是函数的返回值,可以是任意数据类型,也可以没有返回值 (隐式返回 `None`)。 函数调用通过函数名加上括号 `()` 来实现,括号内可以包含参数。```python
def greet(name):
"""This function greets the person passed in as a parameter."""
print(f"Hello, {name}!")
greet("World") # 调用函数,输出 "Hello, World!"
```

2. 参数传递

Python 支持多种参数传递方式:
位置参数 (Positional Arguments): 参数按照顺序传递,顺序必须与函数定义中的参数顺序一致。
关键字参数 (Keyword Arguments): 参数使用 `key=value` 的形式传递,可以改变参数顺序。
默认参数 (Default Arguments): 为参数指定默认值,调用函数时可以省略该参数。
可变参数 (*args): 使用 `*args` 接收任意数量的位置参数,参数被打包成一个元组。
关键字可变参数 (kwargs): 使用 `kwargs` 接收任意数量的关键字参数,参数被打包成一个字典。

```python
def my_function(a, b, c=3, *args, kwargs):
print(f"a: {a}, b: {b}, c: {c}")
print(f"args: {args}")
print(f"kwargs: {kwargs}")
my_function(1, 2, 4, 5, 6, name="Alice", age=30)
```

3. 返回值

函数可以使用 `return` 语句返回值。如果没有 `return` 语句,函数隐式返回 `None`。```python
def add(x, y):
return x + y
result = add(5, 3)
print(result) # 输出 8
```

函数可以返回多个值,实际上返回的是一个元组。```python
def get_info():
name = "Bob"
age = 25
return name, age
name, age = get_info()
print(name, age) # 输出 Bob 25
```

4. 函数的作用域 (Scope)

变量的作用域决定了变量在代码中的可见性和生命周期。Python 的作用域包括局部作用域、全局作用域、闭包作用域 (嵌套函数作用域) 等。局部变量只在函数内部可见,全局变量在整个程序中可见。```python
global_var = 10
def my_function():
local_var = 5
print(global_var) # 可以访问全局变量
print(local_var) # 只能访问局部变量
my_function()
# print(local_var) # 这句会报错,因为 local_var 是局部变量
```

5. 递归函数

递归函数是指直接或间接调用自身的函数。递归函数必须要有终止条件,否则会陷入无限循环。```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
print(factorial(5)) # 输出 120
```

6. Lambda 函数 (匿名函数)

Lambda 函数是一种简短的匿名函数,通常用于简单的操作。```python
add = lambda x, y: x + y
print(add(2, 3)) # 输出 5
```

7. 函数式编程思想

Python 支持函数式编程思想,例如 map、filter、reduce 等函数,可以对序列进行高效操作。```python
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x2, numbers))
print(squared_numbers) # 输出 [1, 4, 9, 16, 25]
```

通过学习以上内容,你已经对 Python 函数有了较为全面的了解。 记住多练习,多实践,才能更好地掌握 Python 函数的应用,进而编写出更优雅、高效的 Python 程序。 建议你尝试编写一些自己的函数来巩固学习成果,例如编写一个计算平均值函数,一个判断字符串是否为回文函数等等。

2025-06-13


上一篇:深入理解Python同步函数及其实现机制

下一篇:Python妙趣横生:10个短小精悍的代码示例