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网络编程学习笔记(九):数据库客户端 DB-API
Jun 09 Python
在Python中使用列表生成式的教程
Apr 27 Python
python类的继承实例详解
Mar 30 Python
python统计字母、空格、数字等字符个数的实例
Jun 29 Python
Django中数据库的数据关系:一对一,一对多,多对多
Oct 21 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
Oct 22 Python
python配置grpc环境
Jan 01 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
Jun 17 Python
Python 类属性与实例属性,类对象与实例对象用法分析
Sep 20 Python
如何利用python检测图片是否包含二维码
Oct 15 Python
selenium.webdriver中add_argument方法常用参数表
Apr 08 Python
Python还能这么玩之只用30行代码从excel提取个人值班表
Jun 05 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
mysql 搜索之简单应用
2007/04/27 PHP
php数组去重实例及分析
2013/11/26 PHP
php实现微信公众号无限群发
2015/10/11 PHP
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
通过修改referer下载文件的方法
2008/05/11 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
2014/07/23 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
JavaScript数组的栈方法与队列方法详解
2016/05/26 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
js图片轮播插件的封装
2017/07/21 Javascript
angular4自定义组件详解
2017/09/28 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
2019/04/17 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
如何在项目中使用log4.js的方法步骤
2019/07/16 Javascript
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
用Python实现web端用户登录和注册功能的教程
2015/04/30 Python
Python PyQt5标准对话框用法示例
2017/08/23 Python
python的re正则表达式实例代码
2018/01/24 Python
python使用matplotlib画饼状图
2018/09/25 Python
Python多线程处理实例详解【单进程/多进程】
2019/01/30 Python
Java基础知识面试要点
2016/07/29 面试题
JSP&Servlet技术面试题
2015/05/21 面试题
设计毕业生简历中的自我评价
2013/10/01 职场文书
工作表现自我评价
2014/02/08 职场文书
2014年学校国庆主题活动方案
2014/09/16 职场文书
西岭雪山导游词
2015/02/06 职场文书
银行反洗钱宣传活动总结
2015/05/08 职场文书
导游词之西安骊山
2019/12/03 职场文书