拆包:*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里的拆包、引用、递归与匿名函数相关推荐

  1. python 三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数

    一.三元表达式 语法:[成立1 if condition1 else成立2 if condition2 else ...if 成立N conditionN else 不成立] sex = 'man' ...

  2. 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 #与函数有 ...

  3. Python day10 global关键字、函数递归、匿名函数、map函数的用法详解

    1.global关键字 引用全局变量,在局部全局变量改变,也会改变,global相当于指针,将地址指向全局变量的name name='littlepage'def littepage():global ...

  4. python 函数递归_Python零基础之三元表达式、函数递归、匿名函数教程!超级详细!...

    目录 一.三元表达式 二.函数递归 递归调用的定义 递归分为两个阶段:递归,回溯 三.匿名函数 什么是匿名函数? 有名字的函数与匿名函数的对比 lambda匿名函数的应用 四.内置函数 #注意:内置函 ...

  5. python递归,匿名函数

    递归函数 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 递归函数特性: 必须有一个明确的结束条件:     每次进入更深一层递归时,问题规模相比上次递归都应有所 ...

  6. Python--三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数...

    三元表达式 列表推导式 生成器表达式 递归与二分法 匿名函数 内置函数 一.三元表达式 name=input('姓名>>: ') res='True' if name == 'lee' e ...

  7. 三元表达式,递归,匿名函数,内置函数

    一 .三元表达式 只应用于条件成立返回一个值,条件不成立返回另一个值. 示例: name=input('姓名>>: ') res='SB' if name == 'alex' else ' ...

  8. 树形结构递归_递归和匿名函数

    戳上面的蓝字关注我,有干货哦! ❝ 编程语言中,函数Func(Type a,--)直接或间接调用函数本身,则该函数称为递归函数. ❞ 模拟实现树形结构的遍历 比如:我要遍历下图sublime_pyth ...

  9. 三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数(day4)

    一.三元表达式.列表推导式.生成器表达式 1.三元表达式name=input('姓名>>: ')res='SB' if name == 'alex' else 'NB'print(res) ...

  10. python lambda表达式的使用方法(匿名函数)

    文章目录 lambda函数简介 示例1:将存有文件名的字符串列表,运用正则表达式方法提取文件名中的数字,按照数字大小将文件名字符串列表重新排序 示例2:将存有hsv颜色空间的颜色元组列表,转换成rgb ...

最新文章

  1. “众所周知,视频不能P”,GAN:是吗?
  2. Jetty9.2.2集群Session共享
  3. 百度地图与HT for Web结合的GIS网络拓扑应用
  4. 高级特性(6)- 高级Swing
  5. 简述linux中动态库和静态库的制作调用流程
  6. MR作业的提交监控、输入输出控制及特性使用
  7. 按网络中计算机所处的,按照网络中计算机所处的地位划分,计算机网络包括
  8. 半年之殇:困扰半年的MSP430的I2C总线问题在今天解决,发文总结
  9. 1以下数字Oracle打印缺少0,Oracle SQL中缺少關鍵字
  10. 列表页 编辑页 删除页
  11. Node.js框架之Egg.js
  12. 一些平时遇到的英语单词摘录
  13. 2018年sfdc工作总结_常见Salesforce 异常
  14. 记录vue使用bable将es6转译为es5
  15. postgreSQL数据库的监控及数据维护
  16. 电动汽车换电池要多少钱?各品牌电池更换费用大起底!
  17. 怎么查找无线的dns服务器,无线找不到服务器dns地址
  18. Android平台开发指导(Android Porting Guide)
  19. 经典面试题 之 分库分表
  20. 基于JAVA词典设计碰到的问题,Hanlp配置自定义词典遇到的问题与解决方法

热门文章

  1. MySQL数据库分区的概念与2大好处(1)
  2. ACM/ICPC 之 BFS+状态压缩(POJ1324(ZOJ1361))
  3. 快速排序(java版)
  4. POJ 3274 Gold Balanced Lineup
  5. Mac效率神器Alfred系列教程---剪切板历史记录
  6. Mac基础操作:如何用启动台来查看和打开App
  7. Mac 技巧 | CAD 汉化后无法新建模板怎么办?
  8. 【原创】Mac 工作协同之文件共享问题
  9. Android 5.0新控件——TextInputLayout
  10. VXLAN简明学习笔记(原创)