最近后台关注的粉丝越来越多,大部分其实还是偏入门和基础!很多小伙伴获取到了我的联系方式,有一些在问一些入门的问题,有一些在问如何学习Python.
其实Python是入门容易精通难,大家平时要养成记录的习惯,好的代码要记录下来,学会总结,经常翻一翻会有收获!今天我来分享一些我自己记录的代码结构,欢迎拍砖!
比如我们可以大量用推导列表来生成很多简洁的代码比如我们可以用ifelse组合,本来需要2-3行代码写的,一行搞定!02.排序
忽略想起了一句台词,“有人的地方就有江湖”,那么有数组这样的数据结构一定涉及到排序,取最大值,取最小值。
点评:这个heapq库非常好用,尤其是我们在取一些列表的头部数据,比如最大几个,最小几个经常用到,很实用叶选廉 景甜的一招!啥也不说了,赶紧背下来!
排序和查询都是好基友,长的数据结构里面(字典,列表)里面我们一定会有查询,过滤的需求。有的时候,我们需要从一个很长的列面,找到某一个或者某一类的元素,怎么办,很简单,用高级函数filter:
点评:lambda是一个非常简洁的函数表达方式,短小精悍,加上配合filter一起使用,非常漂亮。比如我们通过字符串里的startswith内置函数,非常方便的过滤出列面我们需要的数据!(Python3稍微改一下再filter之外再加一个list,不然生成的是迭代器地址)
点评:正则是一个非常不错的过滤方法,有的时候好的正则顶的上几十行代码,精通正则对玩数据分析,数据清洗是必需的技能!
有的时候我们会遇到复杂的数据结构,比如列面套列表,层层嵌套,非常麻烦。有几种方法可以碾平:
有的时候我们会遇到复杂的数据结构,比如列面套列表,层层嵌套,非常麻烦。有几种方法可以碾平:
点评:这两招看上去非常简单,实际上理解起来很复杂,把很多技巧结合在一行里面,反正第二种我还能接受,第三种口味太重了,看的有点晕!
推导列表应该是我最喜欢的一种Pythonic方式,它的演变有很多手法,这几种都常常见的,多读几遍,背下来!
设计数据结构的时候,字典是必须的!很多时候我们会用带下面的字典更新的方法,当然更好的是collections模块里面的deultdict!
点评:dict.update还是比较平易近人的,这个dict(dict,**options)用法我第一次看到的时候也是楞了一些,什么鬼,现在见多了,也就习惯了!
还有一块没有分享,就是类相关的代码!限于篇幅,我们后面单独出一篇,类方面的技巧和好的代码太多了,因为类本身就涉及到两个方面:
一个往内:比如Python里面有大量的魔方函数和内置函数,这里面有很多技巧,对于不同的应用场景,有些简洁的用法。一个往外:类的设计必然涉及到继承和组合,那么就一定会到大名鼎鼎的设计模式,好的代码结构常清晰和容易扩展的。Python入门容易精通难,平时遇到优秀的代码一定要勤做笔记,不定时拿出来翻一翻,一定对你增长大有裨益!
我做开发几年的时间,如果大家对于学习Python的学习方法,学习线以及:是自学还是培训的疑问,都可以随时来问我。
网友评论 ()条 查看