当前位置: 首页 > news >正文

python函数--python010

函数

—— 掌握 Python 编程核心结构的关键一步


一、函数的基本概念与作用

1.1 什么是函数?

函数(Function)是具有特定功能的代码块,通过定义一次,可以重复调用。在 Python 中,函数是组织代码、封装逻辑、提高代码复用性的重要工具。

函数的语法结构:
def 函数名([参数列表]):函数体[return 返回值]
  • def 是关键字,表示定义函数;

  • 函数名 要符合命名规则,最好能体现功能;

  • 参数列表 是函数的输入接口;

  • return 是输出接口,可选。

1.2 函数的优势
  • 模块化开发:将代码逻辑拆分为不同功能模块;

  • 提高复用性:定义一次,用于多处;

  • 便于维护和调试

  • 逻辑清晰,可读性强。


二、自定义函数第一步:基础练习与参数使用

2.1 无参函数
def greet():print("Hello, Python!")

调用方式:

greet()
2.2 有参函数:以求因数为例
def get_factors(n):for i in range(1, n+1):if n % i == 0:print(i)

调用示例:

get_factors(10)  # 输出 1, 2, 5, 10
2.3 返回值
def get_factors_list(n):return [i for i in range(1, n+1) if n % i == 0]

调用:

factors = get_factors_list(12)
print(factors)

三、自定义函数第二步:参数的多样化设计

3.1 位置参数

参数按顺序传递:

def user_info(name, age):print(f"姓名:{name}, 年龄:{age}")user_info('Tom', 25)
3.2 关键字参数

参数名=值形式传参,顺序可以不一致:

user_info(age=18, name='John')
3.3 默认值参数

函数可以为参数设置默认值:

def user_info(name='Unknown', age=18):print(f"姓名:{name}, 年龄:{age}")user_info()  # 使用默认值
user_info('Alice', 22)
3.4 不定长参数 *args**kwargs
  • *args 接收多个 位置参数,以元组形式传入

  • **kwargs 接收多个 关键字参数,以字典形式传入

def show_info(*args, **kwargs):print("位置参数:", args)print("关键字参数:", kwargs)show_info(1, 2, 3, name='Tom', age=18)

四、函数的进阶用法(扩展内容)

4.1 返回多个值
def min_max(numbers):return min(numbers), max(numbers)min_val, max_val = min_max([2, 7, 1, 9])
4.2 嵌套函数
def outer():def inner():print("内部函数")inner()
4.3 匿名函数(Lambda 表达式)

适合快速定义简单函数,一般用于函数式编程:

square = lambda x: x * x
print(square(5))  # 输出 25
4.4 函数作为参数传递
def operate(x, y, func):return func(x, y)result = operate(10, 5, lambda a, b: a + b)

五、函数的作用域与命名空间

5.1 局部变量与全局变量
x = 10  # 全局变量def change():x = 5  # 局部变量print("函数内:", x)change()
print("函数外:", x)
5.2 使用 global 修改全局变量
x = 10def change():global xx = 5change()
print(x)  # 输出 5
5.3 nonlocal 用于嵌套函数
def outer():x = "outer"def inner():nonlocal xx = "inner"inner()print(x)  # 输出 inner

六、函数在现代 Python 开发中的实际应用

6.1 函数与模块化开发

将函数保存到 .py 文件中,通过 import 导入使用,适合大型项目:

# utils.py
def greet(name):print(f"Hello, {name}!")# main.py
from utils import greet
greet('Alice')
6.2 函数与面向对象结合

类中定义的方法本质也是函数:

class Person:def __init__(self, name):self.name = namedef say_hello(self):print(f"Hello, I’m {self.name}")
6.3 函数与装饰器(Decorator)

装饰器本质是函数嵌套函数,用于增强原函数功能:

def logger(func):def wrapper(*args, **kwargs):print("函数开始执行")result = func(*args, **kwargs)print("函数结束执行")return resultreturn wrapper@logger
def add(x, y):return x + y

七、练习与扩展建议

7.1 基础练习题
  1. 编写函数判断一个数是否为质数

  2. 编写函数实现 Fibonacci 数列前 n 项

  3. 编写函数统计一段文本中每个单词出现的频率

7.2 应用实战练习
  1. 封装一个商品管理系统的增删改查函数

  2. 使用函数完成图像识别中的批量处理模块

  3. 模拟学生成绩分析系统,包含多函数结构和参数传递


八、总结

函数是 Python 编程语言中不可或缺的组成部分。从最基本的函数定义与调用,到参数的多样化设计,再到高阶函数、嵌套函数、装饰器等进阶技术,函数贯穿了 Python 的核心编程思维。掌握函数不仅能提高代码组织能力和复用性,更是走向大型项目开发、数据分析、Web 编程、AI 应用的第一步。

http://www.xdnf.cn/news/1254619.html

相关文章:

  • Redis中间件(三):Redis存储原理与数据模型
  • 小红书开源多模态视觉语言模型DOTS-VLM1
  • ubuntu 2024 安装拼音输入法
  • VC6800智能相机:赋能智能制造,开启AI视觉新纪元
  • 【关于Java 8 的新特性】
  • 语言模型(LM):n-gram模型原理与困惑度(Perplexity)计算详解
  • 38.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--增加日志记录器
  • 嵌入式C语言编程:策略模式、状态模式和状态机的应用
  • 首个!3D空间推理框架3D-R1:融合强化学习、推理链、动态视角,实现7大任务SOTA!
  • LabVIEW注册表操作
  • 如何在 VS Code 中进行 `cherry-pick`
  • rebase 和pull的通俗区别是什么
  • TSMaster-C小程序使用
  • UE5多人MOBA+GAS 39、制作角色上半身UI
  • 主流小程序 SaaS 平台测评,2025年小程序开发避坑指南
  • 基于 Altium Designer 的电路原理图学习记录
  • 小程序省市级联组件使用
  • 机器学习通关秘籍|Day 04:梯度下降的概念原理、手动实现梯度下降
  • Day 6: CNN卷积神经网络 - 计算机视觉的核心引擎
  • Android 之 Kotlin 扩展库KTX
  • 利用vue.js2X写前端搜索页面,express写后端API接口展现搜索数据
  • MySQL UNION 操作符详细说明
  • MySql MVCC的原理总结
  • 2.8 ref 和 自定义指令
  • vscode 打开设置
  • 配置VScode内置Emmet自动补全代码
  • VSCode ssh一直在Setting up SSH Host xxx: Copying VS Code Server to host with scp等待
  • 中介效应分析 原理解释 实例分析
  • 杂谈:大模型与垂直场景融合的技术趋势
  • 2025世界机器人大会开幕在即,英伟达/微美全息前瞻聚焦深化场景实践布局!