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实现博客文章爬虫示例
Feb 26 Python
恢复百度云盘本地误删的文件脚本(简单方法)
Oct 21 Python
Python字典及字典基本操作方法详解
Jan 30 Python
python3中的md5加密实例
May 29 Python
Python如何计算语句执行时间
Nov 22 Python
Python二次规划和线性规划使用实例
Dec 09 Python
pytorch制作自己的LMDB数据操作示例
Dec 18 Python
Windows系统下pycharm中的pip换源
Feb 23 Python
Python的scikit-image模块实例讲解
Dec 30 Python
Python实现微信表情包炸群功能
Jan 28 Python
python FTP编程基础入门
Feb 27 Python
Python基础 括号()[]{}的详解
Nov 07 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脚本的10个技巧(4)
2006/10/09 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
php两种无限分类方法实例
2015/04/21 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
php实现算术验证码功能
2018/12/05 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
浅谈js控制li标签排序问题 js调用php函数的方法
2016/10/16 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
2017/09/19 Javascript
Bootstrap Table快速完美搭建后台管理系统
2017/09/20 Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
2017/11/28 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
vue.js实现三级菜单效果
2019/10/19 Javascript
python中将一个全部为int的list 转化为str的list方法
2018/04/09 Python
Python中作用域的深入讲解
2018/12/10 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
django query模块
2019/04/20 Python
Django 使用easy_thumbnails压缩上传的图片方法
2019/07/26 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
基于python图像处理API的使用示例
2020/04/03 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
2020/06/03 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
联想新加坡官方网站:Lenovo Singapore
2017/10/24 全球购物
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
高级文秘工作总结的自我评价
2013/09/28 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
pytest配置文件pytest.ini的详细使用
2021/04/17 Python
python自动计算图像数据集的RGB均值
2021/06/18 Python
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers