[2015-08-06] python017
来源:互联网 发布:centos 系统时间不对 编辑:程序博客网 时间:2024/06/06 00:50
Python函数基础:
函数是Python为了代码最大程度地重用和最小化代码冗余而提供的基本程序结构
函数是一种设计工具,它能让程序员将复杂的系统分解为可管理的部件
函数用于将相关功能打包并参数化
在Python中可以创建4类函数:
- 全局函数:定义在模块中
- 局部函数:嵌套于其他函数中
- lambda函数:表达式(匿名函数)
- 方法:与特定数据类型关联的函数,并且只能与数据类型关联一起使用
Python提供了很多内置函数:
语法格式:
def functionName(parameters): suite
一些相关概念:
- def是一个可执行语句,因此可以出现在任何能够使用语句的地方,甚至可以嵌套于其它语句,例如if或while中
- def创建了一个对象并将其赋值给一个变量名(即函数名)
- return用于返回结果对象,其为可选;无return语句的函数自动返回None对象,返回多个值时,彼此间使用逗号分隔,且组合为元组形式返回一个对象
- def语句运行之后,可以在程序中通过函数后附加括号进行调用
名称空间:变量作用域
- Python创建、改变或查找变量名都是在名称空间中进行
- 在代码中变量名被赋值的位置决定了其能被访问到的范围
- 函数定义了本地作用域,而模块定义了全局作用域
- 每个模块都是一个全局作用域,因此,全局作用域的范围仅限于单个程序文件
- 每次对函数的调用都会创建一个新的本地作用域,赋值的变量除非声明为全局变量,否则均为本地变量
- 所有的变量名都可以归纳为本地、全局或内置的(由_ _ builtin _ _ 模块提供)
- 变量名解析:LEGB原则
变量名引用分三个作用域进行:
首先是本地、之后是函数内,接着是全局,最后是内置
参数匹配模型:
- 默认情况下,参数通过其位置进行传递,从左至右,这意味着,必须精确地传递和函数头部参数一样多的参数
- 但也可以通过关键字参数、默认参数或参数容器等改变这种机制
参数传递形式:
- 位置参数:从左向右
- 关键字参数:按关键名称匹配,使用“name=value”的语法通过参数名进行匹配
- 混用上面两种方式时:所有位置参数在前,所有的关键字参数在后
- 默认参数:定义函数时使用“namevalue”的语法直接给变量一个值,从而传入的值可以少于参数个数
- 混用有默认和无默认值的参数时,无默认值放前面
- 可变参数:定义函数时使用*开头的参数,可用于手机任意多基于位置或关键字的参数
- 定义函数时使用*:收到位置参数
- 定义函数时使用**:收集关键字参数
- 可变参数解包:调用函数时,使用*开头的参数,可用于将参数集合打散,从而传递任意多基于位置或关键字的参数
0 0
- [2015-08-06] python017
- python017 -- 正则表达式
- python017 Python3 模块
- 2015/08/06
- 2015-08-06
- 2015-08-06
- Date:2015/06/08白天
- 2015年06月08日
- hdoj.1297 Children’s Queue【大数+排列组合】 2015/08/06
- hdoj.1295 Move Move Look【水题】 2015/08/06
- http://www.csdn.net/article/2015-08-06/2825395
- 06/06/08
- [2015-08-08] python019
- 硬盘安装centos的方法 发布时间:2015-01-09 08:06:37 编辑:AHLinux
- hdoj.1292 "下沙野骆驼"ACM夏令营【排列组合】 2015/08/06
- 【2015/08/06】sqlserver中如何批量修改一个表的数据
- 05/08/06
- 06/02/08
- Linux 常用符号总结
- org-reveal 特效
- LeetCode Pascal's Triangle 杨辉三角 Java
- VS2010调试程序启动时加载程序非常慢的
- cocos2dx bindings-generator readme 文档翻译
- [2015-08-06] python017
- Cisco Webex share screen 显示黑屏解决方法
- muduo::TimerId、Timer、TimerQueue分析
- 拜占庭问题
- 【angular】学习AngularJS 笔记(慕课网)【01】
- Linux Technical Notes
- Ubuntu中update-alternatives命令(版本切换)
- Content Provider Basics
- poj 2391 Ombrophobic Bovines 【floyd + 二分 + 拆点网络流】