python编写函数注意事项总结


Posted in Python onMarch 29, 2021

1、编写注意

  • 给函数指定描述名。
  • 函数名称只包括小写字母和下划线。
  • 每一个函数都应该包含简要说明其功能的注释,注释应该紧跟在函数定义之后,并且采用文档字符串格式。

2、给形参指定默认值时,等号两侧不得有空格

def function_name(parameter_0, parameter_1='default value')

3、如果程序或模块包含多个函数,可以使用两个空行将相邻函数分开,这样更容易知道前一个函数在哪里结束,下一个函数从哪里开始。

function_name(value_0, parameter_1='value')

对于函数调用中的关键字实参,也应遵循所有import句子都应该放在文件开头。唯一的例外是,在文件开头使用注释来描述整个程序。

知识点扩展:

  1. 代码复用的第一步就是使用函数。
  2. 一个函数可以接受任何数量(包括0)的任何类型的值最为输入变量,并且返回任何数(包括0)的任何类型的结果。
  3. Python中的一切都是对象,包括字符串、数字、元祖、列表、字典和函数。
  4. 调用Python函数help()可以打印输出一个函数函数的参数列表和规范文档。如果仅仅是想要得到文档的字符串可以用doc。
  5. 可以把函数作为函数的参数,函数也可以作为列表、元组、集合、和字典的元素。函数名是不可变得,因此可以把函数用作字典的键。Python的函数式一级对象,也就是说,我们可以直接引用函数把函数当成参数传给其他函数,并通过表达式及if语句对其进行比较和判断。
  6. 闭包是一个可以由另一个函数动态生成的函数,并且可以改变和存储函数外创建的变量的值。(也可以说闭包是一个定义在某个作用域中的函数,这种函数引用了那个作用域里的变量。)
  7. Python使用特殊的规则来比较两个元组。它首先比较各元组中下标为0的对应元素。如果相等,再比较下标为1的对应元素,如果还是相等,那就继续比较下标为2的元素,一次类推。
  8. 在表达式中引用变量时,Python解释器将会按照如下顺序遍历各作用域:
  9. 给变量赋值时,规则有所不同。如果当前作用域内已经定义了这个变量,那么该变量就会具备新值。若是当前作用域内没有这个变量,Python则会把这次赋值视为对该变量的定义,而新定义的这个变量,其作用域就是包含赋值操作的这个函数。
  10. nonlocal语句。nonlocal清楚地表明如果在闭包中给该变量赋值,那么修改的其实是闭包外那个作用域的变量。但是,nonlocal的唯一限制是它不能延伸到模块级别,这个是为了防止它污染全局作用域。这个与global语句互补。global用来表示对该变量的赋值操作,将会直接修改作用域里的那个变量。
  11. 考虑用生成器改写直接返回列表的函数
  12. 在参数迭代时,要多加小心
Python 相关文章推荐
python检测远程udp端口是否打开的方法
Mar 14 Python
详解Python中的from..import绝对导入语句
Jun 21 Python
详解Python中for循环是如何工作的
Jun 30 Python
python3 requests中使用ip代理池随机生成ip的实例
May 07 Python
python绘制圆柱体的方法
Jul 02 Python
Django rest framework工具包简单用法示例
Jul 20 Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
Jul 22 Python
Python3.8对可迭代解包的改进及用法详解
Oct 15 Python
Python使用贪婪算法解决问题
Oct 22 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
Mar 06 Python
解决import tensorflow as tf 出错的原因
Apr 16 Python
Python 数据分析之逐块读取文本的实现
Dec 14 Python
python基于tkinter制作无损音乐下载工具
Python requests库参数提交的注意事项总结
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
Python爬虫数据的分类及json数据使用小结
Mar 29 #Python
python re模块和正则表达式
Mar 24 #Python
opencv实现图像几何变换
PyQt QMainWindow的使用示例
Mar 24 #Python
You might like
ajax 的post方法实例(带循环)
2011/07/04 PHP
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
php邮件发送的两种方式
2020/04/28 PHP
PHP模板引擎Smarty内置变量调解器用法详解
2016/04/11 PHP
用js小类库获取浏览器的高度和宽度信息
2012/01/15 Javascript
基于jQuery的360图片展示实现代码
2012/06/14 Javascript
formvalidator验证插件中有关ajax验证问题
2013/01/04 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
Nodejs express框架一个工程中同时使用ejs模版和jade模版
2015/12/28 NodeJs
基于JavaScript实现表单密码的隐藏和显示出来
2016/03/02 Javascript
BootStrap3学习笔记(一)之网格系统
2016/05/20 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
Android中Okhttp3实现上传多张图片同时传递参数
2017/02/18 Javascript
Vue组件的使用教程详解
2018/01/05 Javascript
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
详解如何探测小程序返回到webview页面
2019/05/14 Javascript
python使用urlparse分析网址中域名的方法
2015/04/15 Python
Python 含参构造函数实例详解
2017/05/25 Python
python放大图片和画方格实现算法
2018/03/30 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
python使用PyQt5的简单方法
2019/02/27 Python
python opencv调用笔记本摄像头
2019/08/28 Python
Python hmac模块使用实例解析
2019/12/24 Python
django ajax发送post请求的两种方法
2020/01/05 Python
wxpython自定义下拉列表框过程图解
2020/02/14 Python
如何教少儿学习Python编程
2020/07/10 Python
浅析NumPy 切片和索引
2020/09/02 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
Solaris操作系统的线程机制
2012/12/23 面试题
党员组织关系介绍信
2014/02/13 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
2014教师年度工作总结
2014/11/10 职场文书
2015年预算员工作总结
2015/05/14 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书
初一语文教学反思
2016/03/03 职场文书