当前位置: 首页 > 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.lryc.cn/news/613176.html

相关文章:

  • Java NIO 核心原理与秋招高频面试题解析
  • MySQL 极简安装挑战:跨平台高效部署指南
  • 大数据中需要知道的监控页面端口号都有哪些
  • 【unity知识】unity使用AABB(轴对齐包围盒)和OBB(定向包围盒)优化碰撞检测
  • 单词的划分(动态规划)
  • OpenCV 图像处理基础操作指南(一)
  • 非化学冷却塔水处理解决方案:绿色工业时代的革新引擎
  • Android视图状态以及重绘
  • 如何将服务器中的Docker镜像批量导出?
  • uat是什么
  • SIP - Centos 7 搭建freeswitch服务器
  • Linux第一阶段练习
  • Microsoft Office PowerPoint 制作简单的游戏素材
  • Sklearn 机器学习 数据降维PCA 自己实现PCA降维算法
  • 智能升级革命:Deepoc具身模型开发板如何让传统除草机器人拥有“认知大脑”
  • 【智能协同云图库】第六期:基于 百度API 和 Jsoup 爬虫实现以图搜图
  • RabbitMQ面试精讲 Day 15:RabbitMQ故障转移与数据恢复
  • 【数据结构】排序(sort) -- 交换排序(冒泡快排)
  • 大数据杀熟:技术阴影下的消费陷阱与破局之道
  • Dokcer创建中间件环境
  • RabbitMQ面试精讲 Day 13:HAProxy与负载均衡配置
  • 【Day 18】Linux-DNS解析
  • 香港网站服务器被占用的资源怎么释放?
  • 股指期货合约是个啥?怎么玩?
  • JVM 终止机制详解:用户线程与守护线程
  • WD6208资料和引脚图
  • MCU中的晶振(Crystal Oscillator)
  • 时间戳表示
  • 汽车娱乐信息系统域控制器的网络安全开发方案
  • 基于Ruby的IP池系统构建分布式爬虫架构