我是靠谱客的博主 魁梧大门,最近开发中收集的这篇文章主要介绍python里的拆包、引用、递归与匿名函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

拆包:*A拆元组,**B拆字典。

wkiom1nqoaeydxv0aaerbw15_nc758.png-wh_50 

 

引用:在CC++里面里面a=1b=a,实际上相当于硬链接,相当于两份ab各有一个1,多占一个空间,而在python里就是软连接,只有一份,通过id(a)来查看id都一样,

wkiom1nqoclzrpbraabzsxmez3g225.png-wh_50 

 

python里定义的东西如一直没引用,那么就会成为垃圾,不用担心,python有自己的机制去除垃圾。

 

不可变类型:数字、字符串、元组。

可变类型:列表、字典,它们都不能做字典的key

 

递归:一个函数里调用了这个函数自己,递归完成阶乘,3的阶乘=3*(2的阶乘)

wkiol1nqoacskoccaaakhvqpgc8381.png-wh_50 

wkiom1nqohkqtnejaabmr3aurjk838.png-wh_50wkiol1nqoc7rljicaadhqlncb8w899.png-wh_50

 

 

递归时一定要想到何时要结束递归,不然最终程序一定会崩掉,因为它会占内存一直下去会将内存全部占完。

 

正反排序和倒序

  

wkiom1nqomdc9px8aadjjzkx5za353.png-wh_50wkiol1nqohvq8claaabzrq3vjhy391.png-wh_50


 

字典要想比大小需要通过匿名函数,匿名函数冒号后面的值就相当于key的返回值,可按照数字或asic码来做比较,如下:

wkiol1nqok-wefl1aab8oy8t5rw563.png-wh_50 

匿名函数用来实现某功能,简易化操作,不需要专门命名定义,也不用多条函数,当然传参又需要结果时,非常好用。

wkiom1nqoqure8cpaabqehu5pk0059.png-wh_50 

 

当需要调用匿名函数表达式时可以用eval来转换,相当于用int可以转换字符串为数字

wkiom1nqoxhbidhcaafvat9jaau623.png-wh_50eval相当于把字符串lambda转为表达式

数值交换,第一种方法通过第三个空变量,相当于两满杯水要实现交换需要来一个空瓶:

wkiol1nqovds9xmeaabjqmyapau783.png-wh_50 

第二种方法:

wkiom1nqo1rjk6sgaaanxo6pd8c128.png-wh_50 

第三种方法:python独有

wkiol1nqoy_gbxbqaaa5ysvh_li476.png-wh_50 

 

函数内部变量之所以不能修改全局变量,是因为全局变量为不可变,此时只能通过global参数来修改全局变量,但如果全局变量是列表或字典等可变的,那么函数内部变量即可以不加global关键字随时进行修改。

 

python里,num+=num不一定等于num=num+num,前面的意思代表可以直接对num赋值,在对函数内修改全局变量有效,而后面那个是对num赋一个新值,不能修改全局变量值,这点要注意。


转载于:https://blog.51cto.com/liukexing/1970074

最后

以上就是魁梧大门为你收集整理的python里的拆包、引用、递归与匿名函数的全部内容,希望文章能够帮你解决python里的拆包、引用、递归与匿名函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(77)

评论列表共有 0 条评论

立即
投稿
返回
顶部