Python 函数

简介: Python 函数

Python 函数是组织代码块的一种方式,使得代码更加模块化、可重用和易于理解。下面,我将用约1500字来详细介绍Python函数,包括其基本语法、使用场景、参数传递、返回值、嵌套函数、匿名函数(lambda函数)、装饰器、闭包等概念,并附上相应的代码示例。


1. Python 函数的基本语法

Python中定义函数使用def关键字,后面跟着函数名和括号内的参数列表,然后是冒号和函数体。

python

 

def greet(name):

 

"""这个函数用于向用户问好""" 

 

print(f"Hello, {name}!")

 

 

 

# 调用函数

 

greet("World") # 输出:Hello, World!


2. 参数传递

2.1 位置参数

按照函数定义时参数的顺序进行传递。

python

 

def add(a, b):

 

return a + b

 

 

 

result = add(3, 4) # 调用时按照定义顺序传递参数

 

print(result) # 输出:7

2.2 关键字参数

通过参数名来指定参数值,参数顺序可以随意。

python

 

result = add(b=4, a=3) # 调用时通过参数名传递参数

 

print(result) # 输出:7

2.3 默认参数

在定义函数时,可以给参数指定一个默认值。当调用函数时没有提供该参数的值时,将使用默认值。

python

 

def greet(name, greeting="Hello"):

 

print(f"{greeting}, {name}!")

 

 

 

greet("World") # 输出:Hello, World!

 

greet("Python", "Welcome to") # 输出:Welcome to, Python!

2.4 可变参数

使用*args**kwargs可以接收任意数量的位置参数和关键字参数。

python

 

def func(*args, **kwargs):

 

print("位置参数:", args)

 

print("关键字参数:", kwargs)

 

 

 

func(1, 2, 3, name="Alice", age=25)

 

# 输出:

 

# 位置参数: (1, 2, 3)

 

# 关键字参数: {'name': 'Alice', 'age': 25}

3. 返回值

函数执行完毕后,可以使用return语句返回一个值或多个值(作为元组返回)。如果函数没有return语句,则返回None

python

 

def get_sum(a, b):

 

return a + b

 

 

 

result = get_sum(3, 4)

 

print(result) # 输出:7


4. 嵌套函数

一个函数内部可以定义另一个函数,这种函数称为嵌套函数。

python

 

def outer_func():

 

def inner_func():

 

print("I am an inner function.")

 

inner_func() # 在外部函数中调用内部函数

 

 

 

outer_func() # 输出:I am an inner function.


5. 匿名函数(lambda函数)

lambda函数是一种简单的、匿名的、一行的函数。它主要用于需要一个函数作为参数的函数式编程场景。

python

 

# 定义一个lambda函数,用于计算两个数的和

 

add = lambda a, b: a + b

 

 

 

result = add(3, 4)

 

print(result) # 输出:7


6. 装饰器

装饰器是一种高级Python语法,用于在不修改函数源代码的情况下,为函数添加额外的功能。装饰器通常用于日志记录、权限验证、性能分析等场景。

python

 

def my_decorator(func):

 

def wrapper(*args, **kwargs):

 

print("Before function call.")

 

result = func(*args, **kwargs)

 

print("After function call.")

 

return result

 

return wrapper

 

 

 

@my_decorator

 

def say_hello(name):

 

print(f"Hello, {name}!")

 

 

 

say_hello("World")

 

# 输出:

 

# Before function call.

 

# Hello, World!

 

# After function call.


7. 闭包

闭包是一个可以记住并访问其词法作用域的函数,即使函数在其词法作用域之外执行。在Python中,嵌套函数和外层函数的非局部(non-local)变量一起,可以形成一个闭包。

python

 

def outer_func(x):

 

def inner_func(y):

相关文章
|
3月前
|
Python
【python从入门到精通】-- 第五战:函数大总结
【python从入门到精通】-- 第五战:函数大总结
98 0
|
2月前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
139 67
|
1天前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
11 2
|
28天前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
48 18
|
20天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
46 8
|
29天前
|
Python
Python中的函数
Python中的函数
43 8
|
2月前
|
监控 测试技术 数据库
Python中的装饰器:解锁函数增强的魔法####
本文深入探讨了Python语言中一个既强大又灵活的特性——装饰器(Decorator),它以一种优雅的方式实现了函数功能的扩展与增强。不同于传统的代码复用机制,装饰器通过高阶函数的形式,为开发者提供了在不修改原函数源代码的前提下,动态添加新功能的能力。我们将从装饰器的基本概念入手,逐步解析其工作原理,并通过一系列实例展示如何利用装饰器进行日志记录、性能测试、事务处理等常见任务,最终揭示装饰器在提升代码可读性、维护性和功能性方面的独特价值。 ####
|
2月前
|
Python
Python中的`range`函数与负增长
在Python中,`range`函数用于生成整数序列,支持正向和负向增长。本文详细介绍了如何使用`range`生成负增长的整数序列,并提供了多个实际应用示例,如反向遍历列表、生成倒计时和计算递减等差数列的和。通过这些示例,读者可以更好地掌握`range`函数的使用方法。
54 5
|
3月前
|
Python
Python之函数详解
【10月更文挑战第12天】
Python之函数详解
|
3月前
|
存储 数据安全/隐私保护 索引