Python树莓派编程3.4.3 函数
3.4.3 函数
函数可以让程序员编写的代码重复使用。它能大大提高工作效率。通常,如果你发现代码中某些功能需要执行很多次,这个功能很有可能需要改写为函数。
假设你编写了一个简单的程序用来计算矩形的面积和周长。用户输入矩形的高和宽,之后程序进行相应的计算。实现这个功能最简单的方法是编写一个带参数的函数,其参数分别为矩形的高和宽。之后函数将矩形的面积和周长返回给主程序。为了实现这个函数,我们用def赋值语句进行编写。def赋值语句是我们定义一个函数的方法,其语法为def函数名(参数1,参数2):
这个小程序需要你提供一些参数并返回计算的结果。可能这不是最好的例子(你可以用更少的代码计算出结果),但却很好地阐述了代码复用的思想。通过这个函数,你就明白:在程序的任何位置,只要你需要计算面积或者周长,调用AreaPerimeter函数并赋给参数“height”和“width”值即可。
在此需要注意一点:raw_input函数会返回一个字符串,即便你输入的是数字,返回的也是字符串类型的值。这也就解释了为什么在AreaPerimeter函数中height和width变量在计算前必须要进行int转换。
如果对其他语言比较熟悉的话,你会发现Python的函数与其他语言的函数在方法、功能和步骤方面都有一些不同。例如,在Python中,所有的函数都是按引用进行调用(call-by-reference)。不需要太过专业的术语,简单而言,这意味着当你给函数传递一个参数时,你只是将一个指针传递给一个变量,而不是传递数值。这种方式使得Python的内存管理更加方便。例如,当你在函数中一遍又一遍地传递列表参数时,不需要复制整个列表的内容。具体而言,当一个函数将一个列表作为参数时,你传递的只是列表首元素在内存中的位置,之后函数基于首元素的位置再查找剩余项。
函数另一个有意思的方面是:它们都是可执行的语句。这意味着一个函数实际上可以在if语句中声明和调用。虽然并不是很常见,但是这样定义和调用是合法的(有时也十分有用)。def语句可以嵌套在循环当中,嵌套在其他的def语句中,甚至嵌套在列表和字典里。
我们会在进行具体项目时回顾函数部分;现在,只需要知道它们的存在,并知道它们对你自己编写的每个程序都很实用即可。
Python函数是所谓的第一类对象(First-Class Object)是什么鬼? 之前写过一篇关于装饰器的文章,虽然写得还算不错,但是也有不少同学表示没看懂,我大概分析了其中的原因,主要问题是他们不理解函数,因为Python中的函数不同于其它语言。
获取Python函数信息的方法 Python的反射机制可以动态获取对象信息以及动态调用对象,本文介绍如何获取对象中的函数注释信息以及参数信息。
相关文章
- Python的组合模式与责任链模式编程示例
- Python - 函数式编程
- Python - 函数式编程
- 华为OD机试 - 统一限载货物数最小值(Java & JS & Python)
- Python的IDE:基于Eclipse/MyEclipse软件的PyDev插件配置python的开发环境(不同python项目加载不同版本的python)—从而实现Python编程图文教程之详细攻略
- Python:利用python代码编程实现将视频的avi格式转换为MP4格式
- Python编程语言学习:python编程语言中重要函数讲解之map函数等简介、使用方法之详细攻略
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Scale/Scale的Command)
- Python:利用python编程实现三维图像绘制展示(六面体旋转、三维球柱状体、下雪场景等)
- Python编程语言学习:python中与数字相关的函数(取整等)、案例应用之详细攻略
- Python之多线程:python多线程设计之同时执行多个函数命令详细攻略
- Python编程语言学习:在根目录的py文件内调用某叶目录文件内的包/库或者函数(常用在GUI编程)之详细攻略
- 不一样的Python编程体验,大一新生开发的小工具火了!还是可视化的那种
- 从零开始学python | 什么是Python JSON?
- 编程进阶:这些 Python 常用技巧真棒
- Python学习26:函数式编程
- 《简明Python编程》核心笔记(1~5章)
- Python编程:关于函数
- Python编程:动态导入模块
- Python编程:排序算法之归并排序
- Python编程:uWSGI+nginx配置flask实例
- Python编程:signal处理超时问题
- Python编程:time模块实现函数执行时间计时器
- Python编程:python-attrs模块的简单使用
- Python编程:元类的简单使用
- Python编程系列---初始Python编程基础