Python 函数知识汇总
1. 函数的理解和定义
① 是什么 函数是一段具有特定功能、可重用的语句组,是一种功能的抽象。
② 作用 降低编程难度和代码复用
③ 怎么用
def <函数名>(<参数(0个或多个)>):
<函数体>
return <返回值>
说明:
-函数定义时,所指定的参数是一种占位符
-函数定义后,不经调用,不会被执行
-函数定义时,参数是输入、函数体是处理、结果是输出(IPO)
2. 函数的使用及调用过程
调用:运行函数代码的方式
调用时要给出实际参数,替换定义中的参数
调用后得到实际参数运行的返回值
3. 函数的参数传递
① 无参数
函数可以无参数,但定义时括号不可省略
② 可选参数
函数定义时可以为某些参数指定默认值,构成可选参数(即调用函数时,可以不提供的参数)
注意:Python强制约定所有可选参数必须放在必选参数之后
例:
def fact(n,m=1):s = 1for i in range(1,n+1):s *= ireturn s//ma = fact(4)
print(a)b = fact(4,2)
print(b)
③ 可变参数
格式
def <函数名>(<参数>,*b):
<函数体>
return <返回值>
例
def fact(n,*b):s = 1for i in range(1,n+1):s *= ifor item in b:s *= itemreturn sa = fact(10,3)
print(a)
b = fact(10,3,5,8)
print(b)
④ 参数传递的两种方式
默认:按照位置传递
另:按照名称传递
例
def fact(n,m=1):s = 1for i in range(1,n+1):s *= ireturn s//ma = fact(10,5)#位置传递
print(a)
b = fact(m=5,n=10)#名称传递
print(b)
4. 函数的返回值
函数可以返回0个或多个结果
-return后面可以不加任何返回信息,也可以不使用return
例
def fact(n,m=1):s = 1for i in range(1,n+1):s *= ireturn s//m,n,ma,b,c = fact(10,5)
print(a,b,c)
d = fact(10,5)
print(d)
输出
725760 10 5
(725760, 10, 5) (该类型为元组类型)
5. 局部变量和全局变量
全局变量:函数之外的变量
局部变量:函数内部的变量
记住如下两条规则:
① 局部变量和全局变量是不同变量
-局部变量是函数内部的占位符,可能与全局变量重名,但一定不同
-函数运算结束后,局部变量被释放
-可以使用global保留字在函数内部使用全局变量
例
n,s = 10,100def fact(n):global s#之后函数内出现的s全都是全局变量for i in range(1,n+1):s *= ireturn sprint(fact(n),s)
输出
362880000 362880000
② 局部变量如果是组合数据类型且未在函数内部创建,等同于全局变量
例1 组合数据类型+未创建
ls = ["F","f"]
#通过使用[]真实创建了一个全局变量列表ls
def func(a):ls.append(a)#此处ls是列表类型,未真实创建则等同于全局变量return
func("C")
#全局变量ls被修改
print(ls)
输出
['F', 'f', 'C']
例2 组合数据类型+已创建
ls = ["F","f"]
#通过使用[]真实创建了一个全局变量列表ls
def func(a):ls = []#此处ls是列表类型,真实创建,ls是局部变量ls.append(a)return ls
ls1 = func("C")
#局部变量ls被修改
print(ls,ls1)
输出
['F', 'f'] ['C']
6. lambda函数
是一种匿名函数,即没有名字
-使用lambda保留字定义,返回函数名作为结果
-用于定义简单的、可以在一行内表示的函数
<函数名> = lambda <参数>:<表达式>
等价于
def <函数名>(<参数>):
<函数体>
return <返回值>
不同的是,只能使用表达式而不能使用
例1
f = lambda x,y:x+y
print(f(5,10))
输出 15
例2
f = lambda : "lambda函数"
print(f())
输出 lambda函数
建议:
lambda函数要谨慎使用,主要用作一些特定函数或方法的参数,建议使用def定义普通函数
lambda函数有一些固定使用方式,建议逐渐掌握
出处:北理工Python慕课
Python 函数知识汇总相关推荐
- python基础知识资料-Python基础知识汇总
原标题:Python基础知识汇总 1.Anaconda的安装 百度Anaconda的官网,下载左边的Python3.X版本 然后是设置路径,最后给出Jupyter notebook.具体参考: 猴子: ...
- Python基础知识汇总和应用示例
Python基础知识汇总和应用示例 文章内容 链接 python库下载网站 python库下载网站 python读取csv文件 python读取csv文件 Python3基础知识:三元表达式.元祖.s ...
- Python列表知识汇总
Python列表知识汇总 创建列表 #列表的创建#空列表---------------Start--------- List_NULL = [] print(type(List_NULL)) #输出: ...
- Python函数知识总结
小白如何成为python数据分析师 第 十三天 ---->函数知识点总结 几天没有更新啦!因为没人催更,主要是时间来不及,今天就将这几天所学关于函数知识做个梳理,总结.如有不足,还请指出,谢 ...
- python 基础知识汇总
hellow 一. 填空题 1. Python安装扩展库常用的是_工具.(pip) 2. Python标准库math中用来计算平方根的函数是____.(sqrt) 3. Python程序文件扩展名主要 ...
- 最全面的Python重点知识汇总,建议收藏!
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨网络,由法纳斯特整理 这是一份来自于 SegmentFault ...
- Python数据分析知识汇总
数据分析 什么是数据分析? 数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程. 使用python做数据分析的常用库 numpy 基 ...
- 最全面的Python重点知识汇总,建议码住
这是一份来自于 SegmentFault 上的开发者 @二十一 总结的 Python 重点.由于总结了太多的东西,所以篇幅有点长,这也是博主"缝缝补补"总结了好久的东西. Py2 ...
- 你见过的最全面的Python重点知识汇总
原文链接: https://segmentfault.com/a/1190000018737045 这是一份来自于 SegmentFault 上的开发者 @二十一 总结的 Python 重点.由于总结 ...
最新文章
- Maven中如何禁止插件(plugin)在子模块(module)上执行
- 记Thoughtworks一次糟糕的面试
- php fpm 日志记录,如何解决nginx下php-fpm不记录php报错日志的问题
- 博客那些用到极致的推广方式
- 【STM32】定时器相关函数和类型
- pico park无法连接至远程服务器,pico park怎么联机玩?pico park怎么邀请朋友一起玩?[多图]...
- 如何使用go打出hell word
- CMU Bomblab 答案
- 取色器——TakeColor绿色安全简单
- STM32利用Flymcu进行烧录
- JBoss下载and安装
- 优化网站提高打开速度
- OpenCVcv2.imread传入灰度图像,shape还是3通道
- WatchGuard 防火墙封 Msn qq icq
- 百万用户同时在线游戏服务器架构实现.doc 基于epoll 通信模型
- 怎么申请企业邮箱账号?企业邮箱怎么注册申请?
- SpringMVC在web.xml中配置DispatcherServlet拦截了静态资源访问
- 【流程挖掘的四个质量维度】简单度、拟合度、精确度和泛化度介绍
- 在MPLAB X IDE下用SEGGER J-LINK调试PIC32
- 月工资5k,除去生活每个月怎样存钱?