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):

目录
打赏
0
0
0
0
8
分享
相关文章
Python 的内建函数
Python 的内置函数列表,方便查询使用方法。
Python内置函数ord()详解
`ord()` 是 Python 中用于将单个字符转换为对应 Unicode 码点的核心函数,支持 ASCII、多语言字符及特殊符号。其返回值为整数(范围 0-1114111),适用于字符编码验证、数据清洗、自定义排序、基础加解密等场景。使用时需注意参数长度必须为 1,否则会触发 `TypeError`。结合 `chr()` 函数可实现双向转换,进阶技巧包括多字节字符处理、编码范围检测及字符分类验证等。
[oeasy]python091_列表_索引_index_中括号_索引函数
本文介绍了Python中列表与字符串的索引及index函数用法。通过range生成列表,使用索引[]访问和修改列表元素,index函数查找元素位置。字符串支持索引访问但不可直接修改。还探讨了16进制数在Python中的表示方法,以及日期、月份等特殊字符的Unicode范围。最后总结了列表与字符串操作的区别,并预告后续内容,提供蓝桥云课、GitHub和Gitee链接供进一步学习。
84 20
|
3月前
|
[oeasy]python086方法_method_函数_function_区别
本文详细解析了Python中方法(method)与函数(function)的区别。通过回顾列表操作如`append`,以及随机模块的使用,介绍了方法作为类的成员需要通过实例调用的特点。对比内建函数如`print`和`input`,它们无需对象即可直接调用。总结指出方法需基于对象调用且包含`self`参数,而函数独立存在无需`self`。最后提供了学习资源链接,方便进一步探索。
87 17
[oeasy]python083_类_对象_成员方法_method_函数_function_isinstance
本文介绍了Python中类、对象、成员方法及函数的概念。通过超市商品分类的例子,形象地解释了“类型”的概念,如整型(int)和字符串(str)是两种不同的数据类型。整型对象支持数字求和,字符串对象支持拼接。使用`isinstance`函数可以判断对象是否属于特定类型,例如判断变量是否为整型。此外,还探讨了面向对象编程(OOP)与面向过程编程的区别,并简要介绍了`type`和`help`函数的用法。最后总结指出,不同类型的对象有不同的运算和方法,如字符串有`find`和`index`方法,而整型没有。更多内容可参考文末提供的蓝桥、GitHub和Gitee链接。
77 11
Python中main函数:代码结构的基石
在Python中,`main`函数是程序结构化和模块化的重要组成部分。它实现了脚本执行与模块导入的分离,避免全局作用域污染并提升代码复用性。其核心作用包括:标准化程序入口、保障模块复用及支持测试驱动开发(TDD)。根据项目复杂度,`main`函数有基础版、函数封装版、参数解析版和类封装版四种典型写法。 与其他语言相比,Python的`main`机制更灵活,支持同一文件作为脚本运行或模块导入。进阶技巧涵盖多文件项目管理、命令行参数处理、环境变量配置及日志集成等。此外,还需注意常见错误如全局变量污染和循环导入,并通过延迟加载、多进程支持和类型提示优化性能。
259 0
Python入门:8.Python中的函数
### 引言 在编写程序时,函数是一种强大的工具。它们可以将代码逻辑模块化,减少重复代码的编写,并提高程序的可读性和可维护性。无论是初学者还是资深开发者,深入理解函数的使用和设计都是编写高质量代码的基础。本文将从基础概念开始,逐步讲解 Python 中的函数及其高级特性。
Python入门:8.Python中的函数
Python学习:内建属性、内建函数的教程
本文介绍了Python中的内建属性和内建函数。内建属性包括`__init__`、`__new__`、`__class__`等,通过`dir()`函数可以查看类的所有内建属性。内建函数如`range`、`map`、`filter`、`reduce`和`sorted`等,分别用于生成序列、映射操作、过滤操作、累积计算和排序。其中,`reduce`在Python 3中需从`functools`模块导入。示例代码展示了这些特性和函数的具体用法及注意事项。
|
5月前
|
Python中的round函数详解及使用示例
`round()`函数是Python内置的用于四舍五入数字的工具。它接受一个数字(必需)和可选的小数位数参数,返回最接近的整数或指定精度的浮点数。本文详细介绍其用法、参数及示例,涵盖基本操作、负数处理、特殊情况及应用建议,帮助你更好地理解和运用该函数。
512 2
[oeasy]python069_当前作用域都有些什么_列表dir_函数_builtins
本文介绍了Python中`dir()`函数的使用方法及其作用。`dir()`可以列出当前作用域内的所有变量和成员,类似于`locals()`,但`dir()`不仅限于本地变量,还能显示模块中的所有成员。通过`dir(__builtins__)`可以查看内建模块中的所有内建函数,如`print`、`ord`、`chr`等。此外,还回顾了`try-except-finally`结构在数据库连接中的应用,并解释了为何`print`函数可以直接使用而无需导入,因为它位于`__builtins__`模块中。最后,简要提及了删除`__builtins__.print`的方法及其影响。
88 1

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问