Python 的这些特性,很多老司机都不知道

137浏览

Python 的这些特性,很多老司机都不知道

importthis先来个彩蛋,importthis是Python里面的一个彩蛋,把this模块导入进来就有一个Python开发哲学19条,写代码都应该遵循这些规则。 importthisTheZenofPython,,*right*,it,sdomoreofthose!交换两个变量在其它语言中,两个变量的值互换需要引入一个临时变量temp=aa=bb=temp在Python一行代码可以实现变量互换,是不是很神奇b,a=a,b检查真假值判断一个列表是否为空,在其它语言中就是检查它的长度是否为零,如果为零就是空列表len(items)!=:...在Python中,有更优雅的处理方式,直接使用:items:...获取列表元素的下标索引Python中迭代列表比较特殊,不需要下标索引来定位里面的元素,而知直接进行迭代,迭代出来的就是每个元素本身。 itemitems:...print(item)...zeroonetwothree如果我想知道one是第几个元素,如何获取每个元素的下标索引呢?可以这样:irange(len(items)):...print(i,,items[i])...---zero---one---two---three其实还有更便利的方式获取下标元素,就是使用enumerate函数i,itemenumerate(items):...print(i,,item)...---zero---one---two---three用列表推导式代替map、filter函数map是Python函数式编程的主要方法,比如可以使用map实现对列表的操作,例如我要把列表中的每个元素*2nums=[,,,,]list(map(i:i*,nums))[,,,,]用map还要使用晦涩难懂的匿名函数,而用列表推导式速度快,又直观[i*inums][,,,,]巧用for…else来看这样的场景,就是你要在某个列表中搜索是否存在某个值,如果找到了就不在继续查找,如果没有到继续往后找,直到最后没找到位置,不管有没有找到都要告诉我,我们可以用一个标记变量来标识有没有找到。

found=ifoo:i==:found=found:print()这种场景就特别适合用for…else语法来实现ifoo:i==::print()用type动态的创建类我们都知道用class关键字定义一个类:...x=...其实还有另外一种方法创建类,就是使用type函数Foo=type("Foo",(),{"x":"foo"})Fooclass__main__.Foofoo。

您现在的位置:文学书籍 > 现代诗歌

上一篇:夏季减肥运动 这三种运动值得一试

下一篇:没有了

你可能喜欢的:
友情链接