
再遇函数
(2)匿名函数可以完成二分支 hh=(lambda a,b:a if a>b else b)(12,18) #可以实现二分支,而且可以直接调用,后面的12,18分别对应前面的a,b print(hh)
4、递归函数 递归满足的条件 1.自己调用自己 2.必须有一个明确的结束条件 优点:逻辑简单、定义简单 缺点:容易导致栈溢出,内存资源紧张,甚至内存泄漏
5、内置函数 内置函数种类: 借鉴一位博主整理的:
发布日期:2021-05-14 16:07:49
浏览次数:18
分类:精选文章
本文共 3080 字,大约阅读时间需要 10 分钟。
进一步认识函数
学习python的学习笔记 3,在B站《求知学堂》学习。
1、函数的4种基本类型 (1)无参数,无返回值,一般用于提示信息打印 (2)无参数,有返回值,多用于数据采集中 (3)有参数,无返回值,多用在设置某些不需要返回值的参数设置 (4)有参数,有返回值,一般是计算型,需要参数,也需要返回值 2、全局变量和局部变量 局部变量 : 就是在函数内部定义的变量【作用域仅仅局限在函数的内部】不同的函数 可以定义相同的局部变量,但是各自用各自的 不会产生影响
局部变量的作用:为了临时的保存数据 需要在函数中定义来进行存储
全局变量:一般放在需要定义的函数前面
当全局变量和局部变量出现重复定义的时候,程序会优先执行使用函数内部定义的变量
如果在函数的内部要想对全局变量进行修改的话 对于不可变类型【str 元组 number】必须使用global 关键字进行声明
对于可变类型【dict、list】来讲,全局变量要想在函数中修改的话,我们不需要用global关键字去声明的
3、匿名函数
语法: lambda 参数1、参数2、参数3(这里的参数可以有很多) : (冒号不能丢啦)表达式特点:
1.使用lambda关键字去创建函数 2.没有名字的函数 3.匿名函数冒号后面的表达式有且只有一个, 注意:是表达式,而不是语句 4.匿名函数自带return,而这个return的结果就是表达式计算后的结果 缺点: lambde只能是单个表达式,不是一个代码块,lambde的设计就是为了满足简单函数的场景, 仅仅能封装有限的逻辑,复杂逻辑实现不了,复杂的逻辑必须使用def来处理(1)匿名函数和之前def函数的对比
def computer(x,y):
‘’’ 计算数据和 :param x: :param y: :return: ‘’’ return x+y pass print(computer(10,23))
M=lambda x,y:x+y#通过变量调用匿名函数
print(M(10,23))

递归函数处理阶乘问题
def diguihs(n): if n==1: return 1 else: return n*diguihs(n-1) pass print(‘5的阶乘是:{}’.format(diguihs(5)))
另一位博主整理的:有例子哒:
6、序列操作
(1) all()函数用于判断给定的可迭代参数 iterable 中所有元素是否都为 True ,如果是,返回True,否则返回Flase。元素除了0、空、Flase 外都算True。 语法:all(iterable) 参数:iterable------元组或列表 返回值:如果iterable的所有元素不为0、’ '、Flase或者iterable为空,all(iterable)返回True,否则返回Flase (2)any()函数用于判断给定的可迭代参数iterable是否全部为Flase,如果是,返回Flase,否则返回True。元素除了0、空、Flase 外都算True。 语法:any(iterable) 参数:iterable------元组或列表 返回值:如果都为0、空、flase,则返回flase,否则返回True (3)sorted()函数对所有可迭代的对象进行排序操作 sort与sorted的区别: ①sort是应用在list上的方法,sorted可以对所有可迭代对象进行排序操作。 ②list的sort方法返回的是对已经存在的列表进行操作,而内建函数sorted方法返回的是一个新的list,而不是在原来的基础上进行的操作。 语法:sorted(iterable[,cmp[,key[,reverse]]]) 参数: ①iterable-----可迭代对象 ②cmp-----比较的函数,这个具有两个参数,参数的值都是从可迭代对象中去除,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0 ③key----主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自可迭代对象中,指定可迭代对象中的一个元素来进行排列 ④reverse----排序规则,reverse=True 降序,reverse=Flase 升序(默认) 返回值:返回重新排序的列表(4)reverse()函数用于反向列表中的元素
语法:list.reverse() 返回值:该方法没有返回值,但是会对列表的元素进行反向排序 (5)range()函数氪创建一个整数列表,一般用在for循环中 语法:range(start,stop,step) 参数: ①start:计数从start开始默认是从0开始 ②stop:计数到stop结束,但不包括stop ③step:步长,默认为1 (6)zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回有这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。其实就是打包的,会把序列中对应索引位置的元素储存为一个元组 语法:zip([iterable,…]) 参数:iterable----------一个或多个迭代器 返回值:返回元组列表 (7)enumerate()函数用于将一个可便利的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下表,一般用在for循环中 语法:enumerate(sequence,*[start=0]*默认是0,也可以是其它位置) 参数: ①sequence-----一个序列、迭代器或者其它支持迭代对象 ②start------下标起始位置 返回值:返回enumerate(枚举对象) 7、内置函数----set(集合) set不支持索引和切片,是一个无序的且不重复的容器,类似于字典,但只有key没有vable ①添加操作--------add() ②清空操作--------clear() ③差集操作-------difference() 例:a.difference(b) 意味着,a中存在,b中不存在 ④交集操作------intersection() 例:a.intersection(b) 意味着,a中存在,b中也存在 ⑤并集操作---------union() 例:a.union(b) 意味着 包含a中的元素,也包含b中的元素 ⑥pop操作 集合pop随机移除某个元素并且获取那个参数,集合pop没有参数 ⑦discard操作 移除指定元素 ⑧更新操作------update 例:a.update(b) 就是把b中的元素放到a里面,有重复的,去掉重复的------------------------------------end---------------------------------------------
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年04月29日 01时20分27秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
京喜小程序体验评分优化实践
2021-05-13
C#中文转换成拼音
2021-05-13
C++错误笔记
2021-05-13
【无线通信模块】GPRS DTU不稳定和容易掉线原因
2021-05-13
SpringBoot使用RedisTemplate简单操作Redis的五种数据类型
2021-05-13
qt中转到槽后如何取消信号与槽关联
2021-05-13
qt问题记录-spin box与double spin box
2021-05-13
移动端事件
2021-05-13
spring-day01
2021-05-13
spring的值注入与组件扫描
2021-05-13
C#跨窗体程序调用方法的具体操作
2021-05-13
抖音发布黄金时间段,抖音上热门最佳时间
2021-05-13
我的图床~
2021-05-13
Thymeleaf sec:authorize 标签不生效
2021-05-14
Iterable与Iterator
2021-05-14
关于WebView当前地址问题的疑惑
2021-05-14
Python机器学习(九十二)Pandas 统计
2021-05-14
SecSolar:为代码“捉虫”,让你能更专心写代码
2021-05-14
链上钱包的博彩雷区
2021-05-14