付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
育创网络科主主讲人:菜第6 定义函数调用函函数参函数返回局部变量和全局变函递归函高阶函的的函数代码块以def 函数的第一行语句可以选择性地使用文档字符串---用于存放函数说明语法如下 def函数名([参数列表 #参数列表可选示defdefPName#使用def定义一个函数 o PNamePName#Python函数的名称和函数的参数。语函数名([参数列表函数名其实就是指向一个函数对象 ,完全可以把函数名赋值一个变量,相当于给这个函数起了一个别a=len#变量a指向len函数num=a(students#可以通过a调用到len函数示 形def
不会。函数调用使用关键字参数来确定传入的值。使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为Python解释器能够用参数名匹配参数值. python中,stringstuples,和numbers是不可更改的对象,而list,dict,seta=5a=10int105被丢弃,不是改变a的值,相当于新生成了ala=[1,2,3,4]后再赋值la[2]=5listla 的一部分值被修改区 可变对象,传递对象自己。函 如果修改值会影响对象本身不可变类型:fun(a),传递的只是a的值,没有影响a比如在 修改a的值,只是修改另一 的对象,不会影响a本身可变类型:fun(la),la真正的传过去,修改后fun外部的lareturn语defdefreturn我们可以将示例pri是将结果输出到控制台,rr语句结束函数的调用,并将结果返回给调用者,且返回的结果不能输出到控制台(也就是不能直接打印出来)需要通过prt才能打印出来通过以上学习,我们对函数的主要分为四种类型什么是yieldyield的作用就是把一个函数变成一个generator,带有yield的函数不再是一个普通函数,Python解释器会将其视为一个生成区别:与return类似,都可以返回值,但不一样的地方,yield可以返回多值,而return只能返回一defdefwhilen<yield#n=n+迭代器迭代是Python最强大的功能之一, 集合元素 式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访 迭代器只能往前不会后退。迭代器有两个基本的方法:iter()和next()。>>>ititer(list)print(next(it))#>>>print(next(it))使用了yield的函数被称 跟普通函数不同的是 是一个返回迭代器的函数,只能用于迭代操作,更单点理 就是一个迭代器 运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信注意:可以通过for循环或者手动调用Xun(5)的next()方defdefa=yield1 byield22这个值只是迭代值,调用nextc=yield3a=#print(next(a))#print(next(a))#print(next(a))-a=yield1这个表达式,如果这个表达式只是x=1,相信每个人都能理解是把1的值赋值给了而现在等号右边是一个yield1,所以先要执行yield1,然后才是赋值yil把值返回到了调用者那里l就是暂停所以不会对赋值那这个表达式的下一步操作赋值,a=yild1只执行了一半而send()里面的值的作用是把值传进当前的一个程序的所有的变量并不是在哪个位置都可 的 权限决定这个变量是在哪里赋值变量的作用域决定了在哪一部分程序你可 哪个特定的变量名称。种最基本的变量作用域如下全局变局部变定义在函 的变量拥有一个局部作用域,定义在函数外的拥有全局用域对于不可变类型的全局变量来说,要在函数中修改需要对于可变类型的全局变量来说,要在函数中修改可以不使用局部变量,就是在函 定义的变不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生全局变量 在函数外部的变量,定义在函数外的拥有全局作用global要想在函 修改全局变量需要使用grobal关键
lambda来创 函数规则lambda只是一个表达式,函数体比deflambdalambda函数拥 名空间,且不 自有参数列表之外或全局命名空间里的参数lambda定义的函数的返回值就是表达式的返回值,不需要return语句lambda表达式的主要应用场景就是赋值给变量、作为参数传入其它函 函数的表达式规则是:lambda参数列表:表达递归函数:递归就是子程序(或函数)举个例子,我们来计算阶乘n!=1*2*3*...*n,用函数fact(n)表示,可以看出1!=2!=2×1=2×3!=3×2×1=3×4!=4×3×2×1=4×n!=n×(n-那契数列(Fibonaccisequence)指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)num=-print(sorted(['a','b','','d'],reverse求取listsum([1,2,3])>>>round(3.1415926,2)>>>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026山东大众报业(集团)有限公司公开招聘笔试参考题库及答案解析
- 2026年中国铁路投资集团有限公司应届高校毕业生招聘25名考试备考题库及答案解析
- 2026万里运业股份有限公司招聘16人考试备考题库及答案解析
- 2026四川广安市农业农村局遴选3人考试备考题库及答案解析
- 2026年广西柳州市壶西实验中学初三中考信息卷(一)英语试题含解析
- 温州市达标名校2026届初三年级三月考英语试题含解析
- 2025-2026学年重庆市十八中学初三下学期第一次半月考语文试题含解析
- 2026届湖北省麻城思源实验校初三下学期校内第一次质量检测试题英语试题含解析
- 人力资源管理招聘与配置流程模板
- 湖北省随州市随县2026年初三语文试题中考模拟试题含解析
- 2025年护士执业资格考试历年真题汇编与解析
- 钠离子电池循环效果验证
- 快手直播培训
- 2025年生猪养殖二育猪育肥服务合同
- 公交驾驶员培训试题及答案
- 浙江省广告产业发展蓝皮书2024-浙江省数字广告研究院
- 2025年购物中心多经简报
- 新能源装备制造项目风险评估报告
- 《企业研发管理体系建设指南》
- 国产数据库介绍
- 国开2025年秋《心理学》形成性考核练习1-6答案
评论
0/150
提交评论