python里的拆包、引用、递归与匿名函数
拆包:*A拆元组,**B拆字典。
引用:在C、C++里面里面a=1,b=a,实际上相当于硬链接,相当于两份a、b各有一个1,多占一个空间,而在python里就是软连接,只有一份,通过id(a)来查看id都一样,
在python里定义的东西如一直没引用,那么就会成为垃圾,不用担心,python有自己的机制去除垃圾。
不可变类型:数字、字符串、元组。
可变类型:列表、字典,它们都不能做字典的key。
递归:一个函数里调用了这个函数自己,递归完成阶乘,3的阶乘=3*(2的阶乘)
递归时一定要想到何时要结束递归,不然最终程序一定会崩掉,因为它会占内存一直下去会将内存全部占完。
正反排序和倒序
字典要想比大小需要通过匿名函数,匿名函数冒号后面的值就相当于key的返回值,可按照数字或asic码来做比较,如下:
匿名函数用来实现某功能,简易化操作,不需要专门命名定义,也不用多条函数,当然传参又需要结果时,非常好用。
当需要调用匿名函数表达式时可以用eval来转换,相当于用int可以转换字符串为数字
eval相当于把字符串lambda转为表达式
数值交换,第一种方法通过第三个空变量,相当于两满杯水要实现交换需要来一个空瓶:
第二种方法:
第三种方法:python独有
函数内部变量之所以不能修改全局变量,是因为全局变量为不可变,此时只能通过global参数来修改全局变量,但如果全局变量是列表或字典等可变的,那么函数内部变量即可以不加global关键字随时进行修改。
在python里,num+=num不一定等于num=num+num,前面的意思代表可以直接对num赋值,在对函数内修改全局变量有效,而后面那个是对num赋一个新值,不能修改全局变量值,这点要注意。
本文转自 流颗星 51CTO博客,原文链接:http://blog.51cto.com/liukexing/1970074
python里的拆包、引用、递归与匿名函数相关推荐
- python 三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数
一.三元表达式 语法:[成立1 if condition1 else成立2 if condition2 else ...if 成立N conditionN else 不成立] sex = 'man' ...
- python开发基础04-函数、递归、匿名函数、高阶函数、装饰器
匿名函数 lamba lambda x,y,z=1:x+y+z 匿名就是没有名字 def func(x,y,z=1):return x+y+z匿名 lambda x,y,z=1:x+y+z #与函数有 ...
- Python day10 global关键字、函数递归、匿名函数、map函数的用法详解
1.global关键字 引用全局变量,在局部全局变量改变,也会改变,global相当于指针,将地址指向全局变量的name name='littlepage'def littepage():global ...
- python 函数递归_Python零基础之三元表达式、函数递归、匿名函数教程!超级详细!...
目录 一.三元表达式 二.函数递归 递归调用的定义 递归分为两个阶段:递归,回溯 三.匿名函数 什么是匿名函数? 有名字的函数与匿名函数的对比 lambda匿名函数的应用 四.内置函数 #注意:内置函 ...
- python递归,匿名函数
递归函数 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 递归函数特性: 必须有一个明确的结束条件: 每次进入更深一层递归时,问题规模相比上次递归都应有所 ...
- Python--三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数...
三元表达式 列表推导式 生成器表达式 递归与二分法 匿名函数 内置函数 一.三元表达式 name=input('姓名>>: ') res='True' if name == 'lee' e ...
- 三元表达式,递归,匿名函数,内置函数
一 .三元表达式 只应用于条件成立返回一个值,条件不成立返回另一个值. 示例: name=input('姓名>>: ') res='SB' if name == 'alex' else ' ...
- 树形结构递归_递归和匿名函数
戳上面的蓝字关注我,有干货哦! ❝ 编程语言中,函数Func(Type a,--)直接或间接调用函数本身,则该函数称为递归函数. ❞ 模拟实现树形结构的遍历 比如:我要遍历下图sublime_pyth ...
- 三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数(day4)
一.三元表达式.列表推导式.生成器表达式 1.三元表达式name=input('姓名>>: ')res='SB' if name == 'alex' else 'NB'print(res) ...
- python lambda表达式的使用方法(匿名函数)
文章目录 lambda函数简介 示例1:将存有文件名的字符串列表,运用正则表达式方法提取文件名中的数字,按照数字大小将文件名字符串列表重新排序 示例2:将存有hsv颜色空间的颜色元组列表,转换成rgb ...
最新文章
- org.springframework.data.redis 一次连接获取特定key所有k-v(pipeline)
- eruke注册中心搭建
- qt中关闭窗口资源释放问题
- Matrix calculus
- C语言实现队列ADT(Queue ADT)接口COMP2521(附完整源码)
- 导入xlsx,文件到sqlite3数据库
- 解决 Python pip 安装报错:Retrying (Retry(total=4, connect=None, read=None ...)) after connection
- 【Verilog HDL】语句的并发执行
- Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套条件表达式)
- 【STP】生成树协议及STP 802.1D (上)
- AT指令集及常用指令
- 第 3 章 MCS-51 单片机指令系统
- 世界主要粮食作物和经济作物的生产及其分布
- C语音基础-----那些年我们踩过的坑(一)
- 秀气的爷们儿——2012的轩小样儿 2012年2月20日
- spring基础概述
- 编译原理实验 -- 文法分析
- Windows下VMware准备IOS开发环境
- PyTorch 入门:训练一个深度神经网络(DNN)
- 计算机网络 P2P应用
热门文章
- windows 系统新建 vue 项目的坑
- Linux 创建静态库(.a)和动态库(.so)
- 在自定义HttpHandler 中使用Session
- Java程序员要求具备的10项技能
- Klevgrand DAW Cassette for Mac(磁带模拟效果器插件)
- WiFi Explorer Mac版WiFi管理器常见问题解答
- Docker 删除所有容器和镜像,从头来过!
- 快速乘 (牛客 电音之王)
- 教你如何保持Tuxera NTFS For Mac软件的更新
- 和 Pipelining 说再见,cURL 放弃使用管道技术