GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing mofanpy.com — Python的偷懒用法 | 莫烦Python Python的偷懒用法 作者: 莫烦 编辑: 莫烦 发布于: 2021-06-05 在 Python 中,其实是有很多可以偷懒的方法的。原生的 Python 语言就自带了非常多小技巧,小实用方法。 我经常在日常写代码的时候用到它们。这可以节约我很多写代码的时间。还是回到最开始那一个课程介绍页的内容。 人生苦短,我用 Python 这句话,那既然我们抱着这个目的在学 Python,你势必要学会更加有效的方法,让你在苦短人生中, 比一般 Pythoner 更加出众。 在这一节主要涉及到的功能:
Lambda: 更直接的 Function¶在 Python 中,我们肯定会定义功能 Function,或者 method,无论你管它叫什么,它都是一个会执行你任务的功能。 你看,即使是一个简单的
你就可以用 lambda 来写功能啦。 你看,我一行就能解决的事,为什么要写那么多行呢?不过 一行for能解决的事,干嘛写那么多¶你是否有这么一个时候:
正常来说,我们通常要这样写,列表才会添加完毕。 但是这样写,对于我来说太麻烦了。不就是要按规律得到一个列表吗?我一行就可以解决呀。 甚至,你还能那这种方法来创造字典。 但是这种方法也是有适用场景的,如果你的列表/字典生成逻辑非常复杂,这种一行的 for 就太劳民伤财了,你会为其中的格式纠结死的。 所以这种列表/字典的生成方式只适合 for 内部只有比较简单的运算逻辑的情况。 可以一行判断,何必多行¶这里要说的是判断逻辑,那些简单的 if-else 判断,如果写成多行,有时候还挺费力的。比如 你对比下面这种写法,你的生命负担是不是又减轻了~ 不过上面这种简写模式,也有一些经验上的偏爱条件。如果你的 if else 逻辑很复杂,比如里面还有 elif 这种逻辑,就不要用一行写。 一行只是为了减少你处理简单情况的时间。如果你在一行里面写了太多逻辑,阅读起来就很困难了。 一行for+判断也行¶我们刚刚说了 在这种情况下,我们通常是处理一种特殊的列表/字典生成方式。
如果我们用原始的 for 来写这样的逻辑,将会是下面这样 当你看到下面的写法的时候,将会豁然开朗~ 那么字典行吗? 我的生命从此得到了升华~ Yeah。 enumerate 自动加 index¶有时候你肯定会苦恼,我想为在 for 里面记个数,到某个数的时候做点特殊处理。我的生命没有得到升华的时候,我肯定会这样写。 这个 还有更炫酷的,如果我自定义 Zip让你同时迭代¶我要同时处理两个列表,一个是姓名一个是分数,并把它们做成一个字典,你会怎么做? 这种写法对于我来说,还是比较累赘的。怎么搞?直接上 其实这也就是在 我看见了光~ 生命之光。 reverse & reversed¶翻转列表?你会遇到吗?有时候还真有这种需求,比如页面上用户想要按时间正序排列,有时候想要按时间倒叙,这不就是一个最常见的场景吗? 你怎么办?如果我用一些列表技巧,可能这样比较合适 如果你学了今天的内容,上面我们不是提到了一种 这还不是最简单的,最简单的当然是 Python 自带的翻转功能呀。比如下面这三种种都可以。 第一种是自己就地反转。 另一种是可以用在 for 循环里的翻转迭代器,你也可以试试不用在 for 循环中,它会返回什么。 最后一种是要 copy 出一个浅拷贝副本的反转 一个反转都有这么多种不同的方式,真不愧是 Python。 总结¶有了这些 handly 的方法,我的秃头病也要治好了,用 Python 无时无刻都体现出生命之光的本色。印证了 交互式学Python
介绍
基础功能
循环、数据、判断
函数、类、模块
文件管理
异常检查和处理 |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |