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自动化工具日志查询分析脚本代码实现
Nov 26 Python
在Python中使用base64模块处理字符编码的教程
Apr 28 Python
python单元测试unittest实例详解
May 11 Python
基于Python Shell获取hostname和fqdn释疑
Jan 25 Python
Python实现的中国剩余定理算法示例
Aug 05 Python
对python内置map和six.moves.map的区别详解
Dec 19 Python
python实现抖音点赞功能
Apr 07 Python
Apache,wsgi,django 程序部署配置方法详解
Jul 01 Python
深入了解如何基于Python读写Kafka
Dec 31 Python
python range实例用法分享
Feb 06 Python
利用Python实现最小二乘法与梯度下降算法
Feb 21 Python
Python循环之while无限迭代
Apr 30 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
使用PHP实现密保卡功能实现代码<打包下载直接运行>
2011/10/09 PHP
php 注册时输入信息验证器的实现详解
2013/07/05 PHP
PHP读取文件内容后清空文件示例代码
2014/03/18 PHP
Zend Framework+smarty用法实例详解
2016/03/19 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
php面向对象重点知识分享
2019/09/27 PHP
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
js实现可拖动DIV的方法
2013/12/17 Javascript
使用js画图之饼图
2015/01/12 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
vue 解决数组赋值无法渲染在页面的问题
2019/10/28 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
[03:38]2014DOTA2西雅图国际邀请赛 VG战队巡礼
2014/07/07 DOTA
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
怎样使用Python脚本日志功能
2016/08/14 Python
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
2018/05/30 Python
Python3.5运算符操作实例详解
2019/04/25 Python
django删除表重建的实现方法
2019/08/28 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
英国领先的运动营养品牌:Protein Dynamix
2018/01/02 全球购物
蔬菜基地的创业计划书
2014/01/06 职场文书
少年闰土教学反思
2014/02/22 职场文书
三字经教学反思
2014/04/26 职场文书
滞留工资返还协议书
2014/10/19 职场文书
2015年新教师工作总结
2015/04/28 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
MySQL里面的子查询的基本使用
2021/08/02 MySQL
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python