苏州市高新区建设局网站,网页设计是干嘛的,官方app下载立即下载,建站高端网站https://blog.csdn.net/weixin_45655710?typeblog 浙大疏锦行
DAY 26 函数专题1#xff1a;函数定义与参数 知识点回顾#xff1a; 1.函数的定义 2.变量作用域#xff1a;局部变量和全局变量 3.函数的参数类型#xff1a;位置参数、默认参数、不定参数 4.传递参数的手段blog浙大疏锦行DAY 26 函数专题1函数定义与参数知识点回顾1.函数的定义2.变量作用域局部变量和全局变量3.函数的参数类型位置参数、默认参数、不定参数4.传递参数的手段关键词参数5.传递参数的顺序同时出现三种参数类型时Pythonresults model(source0, 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”)以及任意数量的描述该图形尺寸的关键字参数(例如 radius5 对于圆, length10, width4 对于矩形)。● 要求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, radius5, color red)2 print(desc1)3 # 输出A red circle with dimensions: radius545 desc2 describe shape( rectangle, length10, width4)6 print(desc2)7 # 输出A black rectangle with dimensions: length10,width489 desc3 describe shape( triangle, base6, height8,color blue)10 print(desc3)11 # 输出A blue triangle with dimensions: base6, height81213 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:# 如果半径为负数手动抛出 ValueErrorifradius0:raiseValueError(半径不能为负数)areamath.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):iflength0orwidth0:return0returnlength*width# 测试print(f10x5 矩形面积:{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,nameAlice,citySingapore,jobEngineer)题目 5格式化几何图形描述综合参数顺序核心知识点参数的严格顺序位置参数 - 默认参数 -**kwargs。defdescribe_shape(shape_name,colorblack,**kwargs):# 构建基础字符串descriptionfA{color}{shape_name}ifnotkwargs:description with no specific dimensions.else:# 将字典内容转换为字符串列表如 [radius5, colorred]dims[f{k}{v}fork,vinkwargs.items()]# 用逗号连接description with dimensions: , .join(dims)returndescription# 测试用例执行desc1describe_shape(circle,radius5,colorred)print(desc1)# A red circle with dimensions: radius5desc2describe_shape(rectangle,length10,width4)print(desc2)# A black rectangle with dimensions: length10, width4desc3describe_shape(triangle,base6,height8,colorblue)print(desc3)# A blue triangle with dimensions: base6, height8desc4describe_shape(point,colorgreen)print(desc4)# A green point with no specific dimensions. 知识点拨参数顺序的“金字塔”在定义函数时Python 强制要求参数必须遵循特定顺序否则会报SyntaxError。请牢记这个顺序位置参数 (Positional)如shape_name。默认参数 (Default)如colorblack。可变位置参数 (*args)接收多余的位置参数。可变关键字参数 (**kwargs)接收多余的关键字参数。为什么describe_shape的color后面可以直接跟**kwargs因为当你在调用describe_shape(circle, radius5, colorred)时Python 会智能地匹配circle给了shape_name。colorred明确指出了是给默认参数。radius5这种多出来的键值对全部被打包进kwargs。