news 2026/7/8 3:33:01

Iridescent:Day26

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Iridescent:Day26

https://blog.csdn.net/weixin_45655710?type=blog
@浙大疏锦行

DAY 26 函数专题1:函数定义与参数
知识点回顾:
1.函数的定义
2.变量作用域:局部变量和全局变量
3.函数的参数类型:位置参数、默认参数、不定参数
4.传递参数的手段:关键词参数
5.传递参数的顺序:同时出现三种参数类型时
Python
results= model(source=0, stream= True,#这里的逗号)
在Python中,在函数或方法调用(以及列表、字典、元组的定义)中的最后一个元素后面添加逗号是完全合法的,并且是一种常见的良好编程习惯。这个逗号被称为尾部逗号(trailing comma)。
作业:
题目1:计算圆的面积
任务:编写一个名为 calculate _ circle _ area的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积= π* radius²(可以使用 math. pi 作为 π的值)
要求:函数接收一个位置参数 radius。计算半径为 5、0、-1时候的面积
●注意点:可以采取try-except使函数变得更加稳健,如果传入的半径为负数,函数应该返回0(或者可以考虑引发一个ValueError,但为了简单起见,先返回0)。
题目2:计算矩形的面积
●任务:编写一个名为 calculate _ rectangle _ area的函数,该函数接收矩形的长度length和宽度width作为参数,并返回矩形的面积。
●公式:矩形面积=length* width
●要求:函数接收两个位置参数length和width。
○函数返回计算得到的面积。
○如果长度或宽度为负数,函数应该返回0。
题目3:计算任意数量数字的平均值
●任务:编写一个名为 calculate _ average的函数,该函数可以接收任意数量的数字作为参数(引入可变位置参数(args)),并返回它们的平均值。
●要求:使用
args来接收所有传入的数字。
○如果没有任何数字传入,函数应该返回0。
○函数返回计算得到的平均值。
题目4:打印用户信息
●任务:编写一个名为 print _ user _ info的函数,该函数接收一个必需的参数user _ id,以及任意数量的额外用户信息(作为关键字参数)。
●要求:
○user _ id是一个必需的位置参数。
○使用***kargs来接收额外的用户信息。
函数打印出用户ID,然后逐行打印所有提供的额外信息(键和值)。
。函数不需要返回值
题目5:格式化几何图形描述
● 任务:编写一个名为 describe shape 的函数,该函数接收图形的名称 shape name(必需),一个可选的 color (默认“black”),以及任意数量的描述该图形尺寸的关键字参数(例如 radius=5 对于圆, length=10, width=4 对于矩形)。
● 要求:shape name 是必需的位置参数。
○ color 是一个可选参数,默认值为“black”.
○ 使用kwargs 收集描述尺寸的参数。
。函数返回一个描述字符串,格式如下:
○“A[color] [shape name] with dimensions: [dim1 name]=[dim1 value],[dim2 name]=[dim2 value],…”如果
kwargs 为空,则尺寸部分为“with no specific dimensions.”
1 descl = describe shape(" circle", radius=5, color=" red")
2 print(desc1)
3 # 输出:A red circle with dimensions: radius=5
4
5 desc2= describe shape(" rectangle", length=10, width=4)
6 print(desc2)
7 # 输出:A black rectangle with dimensions: length=10,width=4
8
9 desc3= describe shape(" triangle", base=6, height=8,color=" blue")
10 print(desc3)
11 # 输出:A blue triangle with dimensions: base=6, height=812
13 desc4= describe shape(" point", color=" green")
14 print(desc4)
15 # 输出:A green point with no specific dimensions.

DAY 26:函数专题

函数是 Python 编程的核心,它不仅能让代码实现复用(DRY原则),更是构建复杂机器学习工作流(如你之前学的 Pipeline)的基础单元。理解参数的传递顺序和类型,能让你在阅读类似 PyTorch 或 Scikit-learn 源码时更加游刃有

题目 1:计算圆的面积(位置参数与异常处理)

核心知识点:位置参数、math模块、try-except容错。

importmathdefcalculate_circle_area(radius):try:# 如果半径为负数,手动抛出 ValueErrorifradius<0:raiseValueError("半径不能为负数")area=math.pi*(radius**2)returnareaexceptValueError:return0exceptTypeError:print("错误:请输入数字类型")return0# 测试forrin[5,0,-1]:print(f"半径为{r}的面积为:{calculate_circle_area(r):.2f}")

题目 2:计算矩形的面积(多位置参数)

核心知识点:多个位置参数的传递。

defcalculate_rectangle_area(length,width):iflength<0orwidth<0:return0returnlength*width# 测试print(f"10x5 矩形面积:{calculate_rectangle_area(10,5)}")print(f"-2x5 矩形面积:{calculate_rectangle_area(-2,5)}")

题目 3:计算任意数量数字的平均值(*args)

核心知识点*args用于接收不确定数量的位置参数,其内部结构是元组(Tuple)

defcalculate_average(*args):ifnotargs:# 如果元组为空return0returnsum(args)/len(args)# 测试print(f"平均值:{calculate_average(10,20,30,40)}")print(f"无输入平均值:{calculate_average()}")

题目 4:打印用户信息(**kwargs)

核心知识点**kwargs用于接收不确定数量的关键字参数,其内部结构是字典(Dict)

defprint_user_info(user_id,**kwargs):print(f"--- 用户 ID:{user_id}---")forkey,valueinkwargs.items():print(f"{key}:{value}")# 测试print_user_info(1001,name="Alice",city="Singapore",job="Engineer")

题目 5:格式化几何图形描述(综合参数顺序)

核心知识点:参数的严格顺序(位置参数 -> 默认参数 ->**kwargs)。

defdescribe_shape(shape_name,color="black",**kwargs):# 构建基础字符串description=f"A{color}{shape_name}"ifnotkwargs:description+=" with no specific dimensions."else:# 将字典内容转换为字符串列表,如 ["radius=5", "color=red"]dims=[f"{k}={v}"fork,vinkwargs.items()]# 用逗号连接description+=" with dimensions: "+", ".join(dims)returndescription# 测试用例执行desc1=describe_shape("circle",radius=5,color="red")print(desc1)# A red circle with dimensions: radius=5desc2=describe_shape("rectangle",length=10,width=4)print(desc2)# A black rectangle with dimensions: length=10, width=4desc3=describe_shape("triangle",base=6,height=8,color="blue")print(desc3)# A blue triangle with dimensions: base=6, height=8desc4=describe_shape("point",color="green")print(desc4)# A green point with no specific dimensions.

💡 知识点拨:参数顺序的“金字塔”

在定义函数时,Python 强制要求参数必须遵循特定顺序,否则会报SyntaxError。请牢记这个顺序:

  1. 位置参数 (Positional):如shape_name
  2. 默认参数 (Default):如color="black"
  3. 可变位置参数 (*args):接收多余的位置参数。
  4. 可变关键字参数 (**kwargs):接收多余的关键字参数。

为什么describe_shapecolor后面可以直接跟**kwargs
因为当你在调用describe_shape("circle", radius=5, color="red")时,Python 会智能地匹配:

  • "circle"给了shape_name
  • color="red"明确指出了是给默认参数。
  • radius=5这种多出来的键值对,全部被打包进kwargs
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 15:25:41

43、深入了解 Dash 和 Zsh 脚本编程

深入了解 Dash 和 Zsh 脚本编程 在 shell 脚本编程的世界里,不同的 shell 有着各自独特的特性和功能。Dash 和 Zsh 就是其中比较有代表性的两种,下面我们就来详细了解一下它们的脚本编程相关知识。 Dash 脚本编程 在使用 Dash shell 时,需要注意它并不能识别 Bash shell …

作者头像 李华
网站建设 2026/7/7 5:53:36

46、Linux系统磁盘空间监控与MySQL数据库操作指南

Linux系统磁盘空间监控与MySQL数据库操作指南 1. 多用户Linux系统的磁盘空间问题 多用户Linux系统面临的一大难题是可用磁盘空间的管理。在某些场景下,比如文件共享服务器,一个粗心的用户就可能迅速耗尽磁盘空间。 对于生产环境的Linux系统,不能仅仅依赖磁盘空间报告来防…

作者头像 李华
网站建设 2026/7/7 8:37:58

精准测试探索

一、背景 什么是精准测试&#xff1f;通常研发提测的需求有代码变更&#xff0c;针对研发的代码变更点以及关联点进行测试&#xff0c;我们称之为精准测试。 很多时候&#xff0c;对变更点、影响范围的评估并不是很准确&#xff0c;偶尔会出现影响范围评估不全或者影响范围评…

作者头像 李华
网站建设 2026/7/7 23:42:19

改进的双锁相环阻抗重塑控制策略:提升动态功率限制,保持稳定性

改进的双锁相环阻抗重塑控制策略 复现一篇IEEE上英文文献 创新点&#xff1a;阻抗重塑 双锁相环 另有一份中文版报告&#xff08;与模型完全对应&#xff09; 采用改进的双锁相环阻抗重塑控制策略&#xff0c;不仅能保留较快的动态响应&#xff0c;还能极大地提升动态功率限制&…

作者头像 李华
网站建设 2026/7/6 18:35:54

Android自动化终极解决方案:ADBKeyBoard效率翻倍指南

你是不是也遇到过这样的尴尬场景&#xff1a;精心设计的自动化测试脚本&#xff0c;一到中文输入环节就"无法正常工作"&#xff1f;别担心&#xff0c;ADBKeyBoard就是为这个问题而生的终极解决方案。这个强大的虚拟键盘工具让Android自动化测试中的Unicode字符输入变…

作者头像 李华
网站建设 2026/7/4 8:39:10

医疗软件合规性测试体系构建与实战解析

面向测试从业者的全流程合规保障方案 一、行业背景与合规必要性 随着FDA、NMPA等全球监管机构对医疗数字化要求的升级&#xff0c;合规性测试已成为医疗软件生命周期中的核心环节。根据2025年最新发布的《医疗器械软件审查指南》&#xff0c;涉及诊断、治疗、健康管理的软件均…

作者头像 李华