Python是入门容易精通难,大家平时要养成记录的习惯,好的代码要记录下来,学会总结,经常翻一翻会有收获!今天我来分享一些我自己记录的代码结构,欢迎拍砖!

01.

简洁的表达式

点评:Python因为简洁高效而出名,就是因为语法非常简单,而且内置了很多强大的数据结构:比如我们可以大量用推导列表来生成很多简洁的代码

比如我们可以用if else组合,本来需要2-3行代码写的,一行搞定!

02.排序

忽略想起了一句台词,“有人的地方就有江湖”,那么有数组这样的数据结构一定涉及到排序,取最大值,取最小值。

点评:这个heapq库非常好用,尤其是我们在取一些列表的头部数据,比如最大几个,最小几个经常用到,很实用的一招!啥也不说了,赶紧背下来!

03.查询

排序和查询都是好基友,长的数据结构里面(字典,列表)里面我们一定会有查询,过滤的需求。有的时候,我们需要从一个很长的列表里面,找到某一个或者某一类的元素,怎么办,很简单,用高级函数filter :

1).用lambda配合filter过滤

点评:lambda是一个非常简洁的函数表达方式,短小精悍,加上配合filter一起使用,非常漂亮。比如我们通过 字符串里的startswith内置函数,非常方便的过滤出列表里面我们需要的数据!(Python3稍微改一下再filter之外再加一个list,不然生成的是迭代器地址)

点评:正则是一个非常不错的过滤方法,有的时候好的正则顶的上几十行代码,精通正则对玩数据分析,数据清洗是必需的技能!

04.

碾平list

有的时候我们会遇到复杂的数据结构,比如列表里面套列表,层层嵌套,非常麻烦。有几种方法可以碾平:

1).第一种传统方法

点评:这里面就是用递归来解决的,思路非常简单清晰,但是递归一定要有出口,设计的时候要注意。

2).下面两种都是高手的写法:

点评:这两招看上去非常简单,实际上理解起来很复杂,把很多技巧结合在一行里面,反正第二种我还能接受,第三种口味太重了,看的有点晕!

05.

带条件的推导列表

推导列表应该是我最喜欢的一种Pythonic方式,它的演变有很多手法,这几种都是非常常见的,多读几遍,背下来!

06.

漂亮的添加字典的方法

设计数据结构的时候,字典是必须的!很多时候我们会用带下面的字典更新的方法,当然更好的是collections模块里面的defaultdict!

点评:dict.update还是比较平易近人的,这个dict(dict,**options)用法我第一次看到的时候也是楞了一些,什么鬼,现在见多了,也就习惯了!

还有一块没有分享,就是类相关的代码!限于篇幅,我们后面单独出一篇,类方面的技巧和好的代码太多了,因为类本身就涉及到两个方面:一个往内:比如Python里面有大量的魔方函数和内置函数,这里面有很多技巧,对于不同的应用场景,有些简洁的用法。

一个往外:类的设计必然涉及到继承和组合,那么就一定会牵连到大名鼎鼎的设计模式,好的代码结构是非常清晰和容易扩展的。

Python入门容易精通难,平时遇到优秀的代码一定要勤做笔记,不定时拿出来翻一翻,一定对你功力增长大有裨益!

python基础代码技巧_写Python必须知道的这几个代码技巧!你会吗?相关推荐

  1. python怎么整体缩进_写python代码时怎么快速的给大量代码加上缩进?

    写python代码时怎么快速的给大量代码加上缩进? 已经写了很长的一段代码,突然发现最开始的地方少了个if,之前写的所有代码都要在if之内,原来用c的时候直接加两个花括号就行了,现在用python怎么 ...

  2. python基础教程微信_用Python实现让微信地球转起来附代码!

    微信地球 手机重启后打开微信的一瞬间,会看到一幅有名的图片. 大概是站在月亮上看地球的效果. 你有没有想过,如果上面那个地球转起来会是怎样? 素材 这里有两个表面素材,一个是地球表面素材,一个是云图素 ...

  3. python函数增强代码可读性_写Python必须知道的这几个代码技巧!你会吗?

    Day09 函数的初始 函数:函数是以功能为导向,一个函数封装一个功能.登录,注册,文件的改的操作... 函数减少代码的重复性,增强了代码的可读性: 获取任意一个字符串的元素的个数 s1 = &quo ...

  4. python编写装饰器_写python中的装饰器

    python中的装饰器主要用于在已有函数实现功能前附加需要输出的信息,下面将用实例展示我如何写装饰器. 首先分别尝试写装饰器装饰一个无参函数和一个有参函数(被装饰函数仅输出,无返回值情况下) 1 de ...

  5. 代写python代码一般多少钱_代写CO 353课程作业、代做Python程序设计作业、代写Python语言作业...

    代写CO 353课程作业.代做Python程序设计作业.代写Python语言作业 日期:2020-03-17 11:22 CO 353 - Homework assignment 4 Winter ' ...

  6. 代写python作业 费用_代写dither method作业、代做python程序设计作业、代写python语言作业、代做Image Dithering作...

    代写dither method作业.代做python程序设计作业.代写python语言作业.代做Image Dithering作 日期:2019-10-07 04:39 ? Implement the ...

  7. Python基础入门教程:使用 Python 3 协程快速获得一个代理池

    Python基础入门教程:使用 Python 3 协程快速获得一个代理池 前言 在执行 IO 密集型任务的时候,程序会因为等待 IO 而阻塞.比如我们使用 requests 库来进行网络爬虫请求的话, ...

  8. python 基础系列(二) — Python基本语法

    python 基础系列(二) - Python基本语法 python基础系列索引 python 基础系列(一) - Python介绍 python 基础系列(二) - Python基本语法 pytho ...

  9. python基础一入门必备知识-python基础教程#菜鸟也能看懂的超简单入门必备知识...

    python基础语法教程 python一直是一门非常火爆的编程语言,从简洁的语法,全面的功能,也是得到许多编程萌新的重视,在刚刚接触编程不久的人来说,python就像是代码编程的入门语言,但其实想成为 ...

最新文章

  1. mysql semi join_MySQL 通过semi join 优化子查询
  2. 【Redis学习笔记】2018-07-11 Redis指令学习5
  3. 美团外卖商家端视频探索之旅
  4. 24、HTML 属性
  5. 第八节:实战前必须掌握的10个指令(下)
  6. HTML用ONMOUSEOVER,ONMOUSEOUT改变背景色或背景图片的方法
  7. 数据分析数据可视化(二)
  8. PostgreSQL 10 新特性, 流式接收端在线压缩redo
  9. Android\OPhone自定义视图(View)
  10. 我用 Python 集齐了支付宝五福!
  11. firefox插件开发和调试
  12. 基本了解云计算是什么东东了
  13. BigDecimal的equals方法做等值比较问题
  14. 大疆 机器视觉 图像相关岗位的招聘要求
  15. android 活动生命,Android 活动生命周期
  16. C语言编程b a化简,C语言编程,已知三角形的三边长a,b,c,计算求三角... 如果三角形三边长 a,b,c,满足( )那么这个三角形......
  17. 南京工业大学计算机考研难吗,南京工业大学(专业学位)计算机技术考研难吗
  18. css修改谷歌浏览器和火狐浏览器的滚动条样式
  19. 负载均衡器技术Nginx和F5的优缺点对比
  20. STM8L探索套件学习笔记-EXTI外部中断

热门文章

  1. 后台UI专辑模板有这些就够了!
  2. UI设计干货素材|轻松搞定页面分页符(指示器)的设计
  3. 计算机考研854都有哪些学校,哈尔滨工业大学计算机考研854计算机基础参考书汇总...
  4. php zblog 侧边栏样式_免费ZBLOG双栏图文自媒体主题 支持自定义侧边模块
  5. java 匿名初始化_Java:双括号初始化 /匿名内部类初始化法
  6. C++求字符串长度的两种方法
  7. CUDA编程之:Stream(流)
  8. 云原生时代的 YAML 教程
  9. gtk学习总结:GTK从入门到放弃,三天包教包会
  10. raid 物理盘缓存状态_CDN与其他层面缓存