Python基础:函数基础
在 Python 中,函数是组织代码的一种方式,可以让代码更加模块化、可重用和易于维护。下面,我将详细讲解 Python 函数的基础知识,并给出一些代码示例。
函数定义
在 Python 中,使用 def
关键字来定义函数。函数的基本结构如下:
def function_name(parameters):
"""Docstring: 描述函数的功能"""
# 函数体
# 执行某些操作
return result # 可选,根据需要返回结果
function_name
是函数的名称。parameters
是传递给函数的参数,可以有零个、一个或多个。Docstring
是可选的文档字符串,用于描述函数的功能。return
语句用于从函数返回一个值,也是可选的。
示例 1:无参数无返回值的函数
def say_hello():
"""打印问候语"""
print("Hello, World!")
# 调用函数
say_hello()
示例 2:有参数的函数
def greet(name):
"""打印带有名字的问候语"""
print(f"Hello, {name}!")
# 调用函数
greet("Alice")
示例 3:有返回值的函数
def add(a, b):
"""返回两个数的和"""
return a + b
# 调用函数并接收返回值
result = add(3, 5)
print(result) # 输出: 8
示例 4:默认参数值
def greet_with_default(name="Guest"):
"""打印带有默认名字的问候语"""
print(f"Hello, {name}!")
# 调用函数,使用默认参数
greet_with_default() # 输出: Hello, Guest!
# 调用函数,传递参数
greet_with_default("Bob") # 输出: Hello, Bob!
示例 5:可变数量的参数
- 任意数量的位置参数:使用
*args
- 任意数量的关键字参数:使用
**kwargs
def print_args(*args):
"""打印所有位置参数"""
for arg in args:
print(arg)
def print_kwargs(**kwargs):
"""打印所有关键字参数"""
for key, value in kwargs.items():
print(f"{key}: {value}")
# 调用函数
print_args(1, 2, 3, "Hello")
print_kwargs(name="Alice", age=30, city="Wonderland")
示例 6:函数嵌套
def outer_function(x):
"""计算传入参数的平方和"""
return x * x
def nested_function(y):
"""调用外部函数并打印结果"""
result = outer_function(y)
print(f"Result of outer_function({y}): {result}")
# 调用嵌套函数
nested_result = nested_function(10) # 假设 outer_function 已定义为返回参数的平方
print(nested_function(5)) # 示例调用
注意事项
- 命名规范:函数名应具有描述性,遵循 Python 的命名约定(如使用小写字母和下划线分隔单词)。
- 文档字符串:为函数编写文档字符串(docstring),以提高代码的可读性。
- 参数类型:明确参数的数据类型,并考虑使用类型注解(Python 3.5+ 支持)来提高代码的健壮性。
- 返回值:根据需要决定是否返回结果,若需要复用函数结果,应明确返回。
- 局部变量:函数内的变量仅在函数内有效,避免全局命名空间污染。
通过这些基础示例,你可以进一步探索更复杂的函数特性,如默认参数、可变参数、仅限参数等。希望这些扩展内容能帮助你更好地理解函数的设计和实现。