




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
常用运算 使用自定义函数 在这章读者们将实践函数的用法 包括定义 使用 引用等等 本书的特点是 实用 所以这章特别说明了使用外部文件配置函数 这是一种在开发中特别有用技术 本章所涉及的技术要点包括 1 函数要先定义再使用2 Python的缩进格式3 形参 实参 返回值4 局部变量与全局变量5 常用运算6 利用import导入机制7 Python的格式化输出开门见山 看下面的例程 案例2 1 用函数的方法计算三角形面积 案例2 1导读 无论已经提到多少遍都要再次强调的是 python是 先定义再使用 的语言 所以函数在使用之前也需要定义 于是 上面的程序 把6 8行的函数定义放到19行之后就会有错误案例第6行 用def关键字定义了一个函数 名字叫calcu tri 这种形式就是函数的定义 calcu tri函数的参数是x和y 然后使用缩进的方法标志函数的范围 calcu tri函数只有两条语句 这两条语句的缩进 句首空格数 相同 而从第11行开始就不是calcu tri函数的范围了 Python利用排版的缩进格式表达语句的归属范围 第7 8行的缩进格式表明 这两句话隶属于第6行定义的函数 案例2 1导读 第7行calcu tri函数的功能 首先通过打印信息提示一下程序现在运行的位置第8行return也是一个Python语法关键字 顾名思义 函数将在此返回 到调用位置 并带回一个值 即 1 0 x y 2 0 也就是说calcu tri函数传入参数x y 并返回按公式1 0 x y 2 0计算所得到的值 第11行取消了函数calcu tr的缩进 表示回到程序主框架的范畴 到15 16行 输入了a和h 案例2 1导读 第17行 像数学中调用函数一样 程序将a h当作参数调用了calcu tri函数 然后程序加载calcu tri函数并运行 直至运行到calcu tri函数的return语句 在回到函数被调用的位置 可以看到第17行利用一个赋值将calcu tri函数的值给了area然后在第18行打印 另外Python也支持格式化输出 第19行可以改成print areais d format area 案例2 1导读 这里先提一下格式化输出 Python的格式化输出十分有特点 需要一段时间才能讲清楚 现在我们用不到很复杂的方式 暂时知道输出整型数用 d format 整型数 就行了 不用细究 在真实的应用中 形如案例2 1的函数使用方式没什么实际用途 最大的不方便就是函数不能作为一个 工具包 被其他程序利用 即复用 所以把函数打包十分重要 请看案例2 2 案例2 2 开发一个求三角形面积的工具包 案例2 2 开发一个求三角形面积的工具包 案例2 2示范了如何使用外部文件的资源 这样所有函数都可以被新程序复用了 本案例包括两个文件 一个叫python02 m py 程序将调用calcu tri函数 但是这个函数在l另一个文件python02 s py中 于是在python02 m py的第6行 frompython02 simport 这句话说 从python02 s中引入所有函数 于是 在python02 m py中可以使用calcu tri函数了 注意 使用from引用文件模块的时候不要有文件名的后缀 py 案例2 2 开发一个求三角形面积的工具包 为什么要分成两个文件呢呢 这样就可以方便地进行工具包 函数库 的复用了 比如开发人员完成了求各种图形面积的函数 那么求图2 1中的图形阴影部分面积时 只要把包含简单图形求面积的函数文件导入 import 进来 然后把各种函数组合一下 就完成了开发任务 这种开发就简单多了 所以尽量使用多文件机制定义函数 否则函数的功效将大打折扣 知识梳理与扩展 函数的定义和调用函数在调用前必须定义 比如在函数A中调用函数B 被调用的函数叫 被调函数 例如上面提到的函数B 那么函数A就是主调函数 函数被调用时使用到的参数叫 实参 实际参数 而函数定义时使用的参数叫形参 形式参数 例如上面的示例 calcu tri函数按参数排列顺序接收a h的值到x y中 x y属于calcu tri函数定义时使用的参数被称为 形参 而a h被称为实参 calcu tri函数中return后面的叫 返回值 之所以出现实参 形参 返回值的说法对编程来说没什么意义 只是教学和交流时指代比较明确 知识梳理与扩展 函数的定义和调用在Python中形参和实参之间采用之传递的机制 形参的变化不会改变实参 例如 运行以上简短代码 读者会发现调用函数fun1前后k的值并没有发生变化 知识梳理与扩展 缩进格式函数定义时需要利用缩进格式 所谓缩进是指在代码行开始部分的空格 代码行开头的前导空白用于确定语句的分组 同样的缩进级别的语句属于同一语句块 全局变量与局部变量简单的说在函数内部定义的变量的使用范围仅限于函数内部 被称为局部变量 而不属于任何函数的变量就是全局变量 但是想要形象地理解全局变量和局部变量有一个简单的判断方法 那就是变量的作用范围由缩进格式标志的代码块确定 在一个代码块声明的变量仅限于本 级 代码块使用 知识梳理与扩展 常用运算Python提供丰富的计算功能 其中算术运算有 加 减 乘 除 取余 他们的运算规则与常规算术运算一样 若要提高某部分表达式的运算优先级则在该部分表达式外面使用 的使用可以嵌套 另外进行除法运算时除数不能为0 计算机语言中的计算与日常计算不同 需要注意数据的类型 例如两个整型数据进行除法运算 简洁起见 将常用的运算总结如下表 知识梳理与扩展 常用运算1 括号 括号内的数据优先处理 括号可以嵌套使用2 算术运算符 知识梳理与扩展 常用运算3 关系运算符注意 Python的关系运算和逻辑运算中用布尔值表达两种结果 True 真以及False 假 知识梳理与扩展 常用运算4 逻辑运算符5 运算优先级以上列出的运算符优先次序为 括号 算术运算 关系运算 逻辑运算 知识梳理与扩展 import模块导入机制利用import导入机制可以将已有的函数功能模块导入程序 这个机制方便代码复用 要注意引用功能模块的文件时不需要后缀名 格式化输出Python支持数据的格式化 优势是可以方便地将数据格式化成相应的字符串 常用的格式化功能如下 1 基本格式 STRING format 表达式 STRING表达字符串2 字符串中加如形如 nd 的格式控制符 用以控制format中表达式的输出形式3 常用格式控制符有 nd 用来输出整形 n代表输出所占字符列数 m nf 用来输出浮点型 m代表输出所占字符列数 n代表小数点部分的位数 4 若指定输出的字符列数大于实际输出 则输出空格占位 若实际输出字符数大于指定 则按实际输出 小节 对一个开发人员而言 代码复用意味着工作经验的积累 函数为开发人员提供了这种机制 开发人员可以把一些常用的功能抽象成函数形式 再把同类的多个函数 例如求各种不同图形面积的的函数 打包成一个文件 这样就可以在开发其他程序中便利的使用以前的工作成果了 另外这种机制也可以支持小组开发 例如多名开发人员组成小组 规定好功能间的接口 然后分别提交不同的功能文件 通过函数的相互调用完成程序的功能 这样可以较大的提升开发效率 小节 在定义函数的过程中要注意函数代码的范围 Python没有利用 或 begin end 来标志代码的开始与结束 Python利用了缩进这种更接近人类书写的方式 但是这种方式在针对大代码块时也有一定劣势 例如代码过长导致不能在一屏中显示所有代码时就有容易出现类似 IndentationError unexpectedindent 的错误 这个含义是是缩进错误 这是书写格式中明显的错误 按提示的行号修正就可以了 另外还有因缩进导致的逻辑错误 此类错误是隐性的 系统不会给予提示所以更加隐蔽 实际上Python的缩进书写机制鼓励开发人员尽量写短的代码 短的方法当然包括将功能尽量包装成函数 Python在函数调用过程中使用值传递的形式 所以主调函数中的实参不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东佛山市高明区招聘中小学教师61人(第四场编制)模拟试卷及答案详解(历年真题)
- 2025贵州大方县人民医院专项引进高层次急需紧缺人才模拟试卷附答案详解(考试直接用)
- 2025年临沂费县教育和体育局部分事业单位公开招聘教师(7名)考前自测高频考点模拟试题附答案详解(模拟题)
- 2025宝鸡陈仓区朝阳幼儿园招聘考前自测高频考点模拟试题及一套答案详解
- 2025年安徽师范大学专职辅导员招聘12人模拟试卷附答案详解(黄金题型)
- 2025广东湛江市霞山区司法局招聘司法协理员拟聘用人员(第一批)模拟试卷附答案详解(考试直接用)
- 2025年长春市市直事业单位公开招聘高层次人才(4号)(17人)考前自测高频考点模拟试题及答案详解(全优)
- 2025河南郑州大学第三附属医院招聘160名考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025江苏南通市崇川区卫生系统面向毕业生招聘备案制高层次卫生人才15人考前自测高频考点模拟试题附答案详解
- 2025广东佛山市顺德区乐从第一实验学校临聘教师招聘模拟试卷及完整答案详解
- 2025建筑二次结构木工劳务合同范本
- GB/T 46105-2025陆地生态系统碳汇核算指南
- 工程项目质量管理研究-以XX小区为例
- 第一讲-决胜十四五奋发向前行-2025秋形势与政策版本-第二讲-携手周边国家共创美好未来-2025秋形势与政策版本
- 红楼梦第九回课件
- 学堂在线 现代生活美学-花香茶之道 章节测试答案
- 2025年川教版(2024)小学信息科技三年级(上册)教学设计及反思(附目录P118)
- 视频监控调取记录表
- 质量控制计划QCP
- 七田真1000图记忆
- GB/T 4456-2008包装用聚乙烯吹塑薄膜
评论
0/150
提交评论