自己做网站吗,app软件开发公司如何选择,wordpress下载弹窗,wordpress预留邮箱知识点
函数的定义与调用
函数分类#xff1a;内置函数和自定义函数。函数定义#xff1a;使用def关键字定义函数#xff0c;包括函数名、参数列表和函数体。注意#xff1a; #xff08;1#xff09;即使该函数不需要接收任何参数#xff0c;也必须保留一对空的圆括号…知识点
函数的定义与调用
函数分类内置函数和自定义函数。函数定义使用def关键字定义函数包括函数名、参数列表和函数体。注意 1即使该函数不需要接收任何参数也必须保留一对空的圆括号。2python的参数不需要声明数据类型3括号后面的冒号不能省略。4函数体相对于def关键字必须保持一定的空格缩进。 (5)return [表达式] 结束函数选择性地返回一个值给调用方不带表达式的 return 相当于返回 None。强调了即使函数不需要参数也必须保留空括号参数不需要声明数据类型函数体需要适当的缩进以及return语句的使用。无参函数与有参函数无参数和有参数的函数。空函数使用pass关键字定义空函数的情况。函数调用如何调用函数包括无参数和有参数的情况。 如果调用的是无参数函数则实参列表省略。 通常将函数定义和函数调用都放在一个程序文件中然后运行程序文件。嵌套调用
递归函数
递归定义指一个函数的函数体中又直接或间接地调用该函数本身的函数。递归出口与递归体如何设置递归的终止条件出口和递归的计算过程体。实例提供了计算阶乘和求和的递归函数示例。
函数参数的传递
参数传递Python中参数传递的机制区分了不可变对象和可变对象的传递方式。在 python 中strings, tuples, 和 numbers 是不可更改的对象而 list,dict 等则是可以修改的对象。当参数类型为固定数据类型如整数、浮点数、字符串、元组等时类似 C 的值传递在函数内部直接修改形参的值不会影响实参。当参数类型为可变数据类型如列表、字典、集合等时类似 C 的引用传递。在函数内部使用下标或其他方式为其增加、删除元素或修改元素值时修改后的结果是可以反映到函数之外的即实参也会得到相应的修改。不可变参数类型变量赋值 a5 后再赋值 a10这里实际是新生成一个 int 值对象 10再让 a 指向它而 5 被丢弃不是改变 a 的值相当于新生成了 a。展示了在函数内部修改不可变类型参数不会影响外部变量。可变参数类型变量赋值 la[1,2,3,4] 后再赋值 la[2]5 则是将 list la 的第三个元素值更改本身la没有动只是其内部的一部分值被修改了。展示了可变类型参数在函数内部的修改会影响到外部变量。
参数的类型
位置参数调用函数时实参和形参的顺序和数量必须一致。关键字参数如何使用关键字参数来指定实参对应的形参允许参数的顺序不固定。 关键字参数的形式为 形参名实参值 通过形式参数的名称来指示为哪个形参传递什么值这可以跳过某些参数或脱离参数的顺序。(实参名来自形参的名字)默认值参数展示了如何为函数参数设置默认值以及相关的规则。 默认值参数的形式为 形参名默认值注意 1默认值参数必须出现在形参表的最右端。也就是说第一个形参使用默认值参数后它后面的所有形参也必须使用默认值参数否则会出错。 2所有的位置参数必须在默认参数前包括函数定义和调用可变长度参数形参使用*和**来接受不定数量的参数分别将它们存储在元组和字典中。可变长度参数永远放在参数的最后面。 在形参名前面加*用来接受任意多个实参并将其放在一个元组中。元组可变长度形参在形参名前面加**可以接受任意多个 关键字实参值 形式的实参。关键字参数和实参值参数被放入一个字典分别作为字典的关键字和字典的值字典可变长度形参参数的解包裹传递如何使用*和**来解包裹元组和字典将它们作为参数传递给函数。包裹和解包裹并不是相反操作是两个相对独立的过程。 调用函数时若函数接收的实参为元组或字典类型可以对函数参数进行解包裹使用* 可以解压待传递到函数中的元组、列表、字符串等类型并按位置传递到函数入口参数中使用**可以解压待传递到函数的字典并按关键字传递到函数入口参数中 代码部分
实验目的
熟练python编辑器pycharm的使用。掌握python的函数的定义掌握python的函数结构参数位的设计如何灵活使用不定长参数理解python参数传递的过程熟练并理解使用函数优化编程结构以及思路 二、实验环境
本次实验需使用实验室提供的Windows主机环境pycharm 三、实验内容
说明基础题为必做题提高题为选做题
(基础题)对于一个十进制的正整数 定义函数f(n)为其各位数字的平方和如: f(13) 10 f(207) 53
代码
def f(n):return sum(int(digit)**2 for digit in str(n))# 测试代码
print(f(13)) # 输出: 10
print(f(207)) # 输出: 53 (基础题)编写一个函数, 接收字符串参数, 返回一个元组元组的第一个值为大写字母的个数, 第二个值为小写字母个数,‘hello WROLD’返回5,5 代码
def count_letters(s):upper_count sum(1 for char in s if char.isupper())lower_count sum(1 for char in s if char.islower())return (upper_count, lower_count)# 测试代码
print(count_letters(helloWROLD)) # 输出: (5, 5)
提示已知有字符串ls
ls.isupper() #判断是否为大写字母若是返回True
ls.islower() #判断是否为小写字母若是返回True (基础题) 定义一个函数能够获取任意多个数1-100以内中的最大值
代码
def max_value(*args):return max(args)# 测试代码
print(max_value(10, 20, 30, 40)) # 输出: 40 (提高题)编写一个函数calcuate_ave, 可以接收任意多个数,返回的是一个元组.元组的第一个值为所有参数的平均值, 第二个值是大于平均值的所有数
例如calcuate_ave(10,13,14,15) 返回(13,[14,15]) calcuate_ave(10,11,14,15,12) 返回(12.4,[14,15]) 代码
def calculate_ave(*args):total sum(args)average total / len(args)above_average [num for num in args if num average]return (average, above_average)# 测试代码
print(calculate_ave(10, 13, 14, 15)) # 输出: (12.75, [13, 14, 15])
print(calculate_ave(10, 11, 14, 15, 12)) # 输出: (12.4, [14, 15])
总结 本节深入探讨了函数的基础知识包括其定义、如何进行调用、不同参数传递机制以及装饰器的概念和使用同时解释了变量的作用域。在Python编程语言中函数不仅仅是数学概念中的函数映射它更是一种执行特定运算或处理数据的程序单元。通过将代码封装进函数中可以在程序的多个地方重复利用这段代码而无需每次都重新编写这正是函数带来的便利和效率。