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

贸易公司网站模板潍坊市城市建设官网站

贸易公司网站模板,潍坊市城市建设官网站,wordpress4 中文,展览展示设计必看网站知识点 函数的定义与调用 函数分类:内置函数和自定义函数。函数定义:使用def关键字定义函数,包括函数名、参数列表和函数体。注意: (1)即使该函数不需要接收任何参数,也必须保留一对空的圆括号…

知识点

函数的定义与调用

  • 函数分类:内置函数和自定义函数。
  • 函数定义:使用def关键字定义函数,包括函数名、参数列表和函数体。
  • 注意:
    • (1)即使该函数不需要接收任何参数,也必须保留一对空的圆括号。
    • (2)python的参数不需要声明数据类型
    • (3)括号后面的冒号不能省略。
    • (4)函数体相对于def关键字必须保持一定的空格缩进。  
    •   (5)return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return           相当于返回 None。强调了即使函数不需要参数,也必须保留空括号,参数不需要声明数据类型,函数体需要适当的缩进,以及return语句的使用。
  • 无参函数有参函数:无参数和有参数的函数。
  • 空函数:使用pass关键字定义空函数的情况
  • 函数调用:如何调用函数,包括无参数和有参数的情况。
    • 如果调用的是无参数函数,则实参列表省略。 通常将函数定义和函数调用都放在一个程序文件中,然后运行程序文件。
    • 嵌套调用

递归函数

  • 递归定义:指一个函数的函数体中又直接或间接地调用该函数本身的函数。
  • 递归出口与递归体:如何设置递归的终止条件(出口)和递归的计算过程(体)。
  • 实例:提供了计算阶乘和求和的递归函数示例。

函数参数的传递

  • 参数传递:Python中参数传递的机制,区分了不可变对象和可变对象的传递方式。在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。当参数类型为固定数据类型(如整数、浮点数、字符串、元组等)时,类似 C++ 的值传递,在函数内部直接修改形参的值不会影响实参。当参数类型为可变数据类型(如列表、字典、集合等)时,类似 C++ 的引用传递。在函数内部使用下标或其他方式为其增加、删除元素或修改元素值时,修改后的结果是可以反映到函数之外的,即实参也会得到相应的修改
  • 不可变参数类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变 a 的值,相当于新生成了 a。展示了在函数内部修改不可变类型参数不会影响外部变量。
  • 可变参数类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。展示了可变类型参数在函数内部的修改会影响到外部变量。

参数的类型

  • 位置参数:调用函数时实参和形参的顺序和数量必须一致。
  • 关键字参数:如何使用关键字参数来指定实参对应的形参,允许参数的顺序不固定。
    • 关键字参数的形式为:        形参名=实参值
    •   通过形式参数的名称来指示为哪个形参传递什么值,这可以跳过某些参数或脱离参数的顺序。(实参名来自形参的名字)
  • 默认值参数:展示了如何为函数参数设置默认值,以及相关的规则。
    • 默认值参数的形式为:     形参名=默认值
    • 注意: (1)默认值参数必须出现在形参表的最右端。也就是说,第一个形参使用默认值参数后,它后面的所有形参也必须使用默认值参数,否则会出错。 (2)所有的位置参数必须在默认参数前,包括函数定义和调用
  • 可变长度参数(形参):使用***来接受不定数量的参数,分别将它们存储在元组和字典中。可变长度参数永远放在参数的最后面。
    • 形参名前面加*,用来接受任意多个实参并将其放在一个元组中。
    • 元组可变长度形参
    • 形参名前面加**,可以接受任意多个 关键字=实参值 形式的实参。关键字参数和实参值参数被放入一个字典,分别作为字典的关键字和字典的值
    • 字典可变长度形参
  • 参数的解包裹传递:如何使用***来解包裹元组和字典,将它们作为参数传递给函数。包裹和解包裹并不是相反操作,是两个相对独立的过程。
    • 调用函数时,若函数接收的实参为元组或字典类型,可以对函数参数进行解包裹:
    • 使用* 可以解压待传递到函数中的元组、列表、字符串等类型,并按位置传递到函数入口参数中
    • 使用**可以解压待传递到函数的字典,并按关键字传递到函数入口参数中

                                                       代码部分 

  • 实验目的
  1. 熟练python编辑器pycharm的使用。
  2. 掌握python的函数的定义
  3. 掌握python的函数结构,参数位的设计,如何灵活使用不定长参数
  4. 理解python参数传递的过程
  5. 熟练并理解使用函数优化编程结构以及思路

二、实验环境

本次实验需使用实验室提供的Windows主机环境+pycharm

实验内容

说明:基础题为必做题,提高题为选做题

  1. (基础题)对于一个十进制的正整数, 定义函数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

  1. (基础题)编写一个函数, 接收字符串参数, 返回一个元组,元组的第一个值为大写字母的个数, 第二个值为小写字母个数,‘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. (基础题) 定义一个函数,能够获取任意多个数(1-100以内)中的最大值

代码:

def max_value(*args):return max(args)# 测试代码
print(max_value(10, 20, 30, 40)) # 输出: 40

  1. (提高题)编写一个函数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编程语言中,函数不仅仅是数学概念中的函数映射,它更是一种执行特定运算或处理数据的程序单元。通过将代码封装进函数中,可以在程序的多个地方重复利用这段代码,而无需每次都重新编写,这正是函数带来的便利和效率。

http://www.yayakq.cn/news/290133/

相关文章:

  • 公司怎么建立自己网站免费发布信息不收费的网站
  • 浙江省住建厅网站网站建设主题有哪些注意事项
  • 厦门网络建站公司wordpress仿淘宝页面
  • 做的怎样 英文网站做网站赚取广告费
  • 石龙镇仿做网站郑州互联网seo
  • 域名访问网站应该怎么做响应式html5网页模板
  • 淄博网站建设 招聘网站制作软件排行榜
  • 网站备案每年一次dw网页制作作业
  • qq空间怎么做网站微网站后台怎么注册
  • 网站开发与设计的实训场地深圳工业设计师工资一般多少
  • 百度seo网站排名网站规划文字说明
  • 做网站如何赚广费php网站微信支付怎么做
  • 微信个人商城网站模板免费下载哈尔滨 建设网站 科技
  • 建立网站流程页面设计的软件
  • 陇南市响应式网站建设免费微商城平台
  • 做的网站如何更换网站模板wordpress投票
  • 基于用户体验的网站设计网站开发要注意哪些细节
  • 有后台的网站怎么做门户网站手机版
  • 免费网站建设作业总结公司做的网站费用如何做账
  • 可信赖的网站建设推广网站开发案例详解光盘下载
  • 网页设计与网站开发pdf正版海外自媒体服务器官网
  • 网站建设合同范本大全seo诊断分析
  • 遵义市在哪里做网站杭州关键词优化服务
  • 江阴网站制作永久免费网站
  • 网站建设三合一 500元800客crm系统登录入口
  • 珠海左右创意园网站开发深圳东风大厦 网站建设
  • 网站线框图用什么做加拿大服务器做网站
  • 网站建设的钱计入什么科目火车头采集器 wordpress
  • 网站建设与安全管理网推公司招聘
  • 做装修网站卖钱php网站后台怎么进