python 有哪些优雅的代码实现 ?
程序员文章站
2022-05-20 08:38:03
...
python 有哪些优雅的代码实现 ?以前在一篇博客中学习过。记得这是有一个统一的名称的。不过忘了
举个常用的例子 [i for i in list if not…… ]。
这种代码写的很爽,但感觉自己掌握的不全。所以特来问一下
看这个文档,爽溜溜的各种技巧
generators,map,reduce,lambda ,decorators, *args等等
各种优雅~ 所谓优雅,其实是由于这门语言的语法糖很甜,给(之前没有接触过的)人造成了一种“卧槽,好厉害”的错觉,其实很多情况下其他语言也可以,只不过可能实现起来不这么“优雅”而已。
这里简单介绍一点Python“优雅”的代码和这颗糖的名字,至于这颗糖的更深层次的东西,这里一律略过。
首先是lambda表达式。lambda表达式是一种非常简洁的定义函数的形式,不过一般不推荐写lambda表达式。比如求两个数的和,通过定义函数的写法为:
2. yield大法好,generator大法好。
3. try else,for else,while else……
4. monkey patch大法好,模块封装好了不想改模块本身但是又必须做修改?靠这个了……
5. 装饰器大法好……
6. 列表解析大法好……
似乎能『优雅』的主要都在这几个点上,有空了我会补一点例子。然而任何一点用太多其实都会惹人厌,所以说PEP告诉你一行不要太长是有道理的…… 楼上都说了一些很好用、很实用的。补充一个 functools 包,里面的函数你用一次,就会彻底爱上。 从问题来看,题主python都还不熟,更别提优雅的代码实现了,还有楼上的回答,基本都是那几个函数式编程的工具,推荐《python cookbook》,楼上说的和题主问的都涵盖了,对着书敲一遍吧。 不同人群写
Python的阶乘函数
1 . 普通青年
举个常用的例子 [i for i in list if not…… ]。
这种代码写的很爽,但感觉自己掌握的不全。所以特来问一下
回复内容:
Intermediate Python看这个文档,爽溜溜的各种技巧
generators,map,reduce,lambda ,decorators, *args等等
各种优雅~ 所谓优雅,其实是由于这门语言的语法糖很甜,给(之前没有接触过的)人造成了一种“卧槽,好厉害”的错觉,其实很多情况下其他语言也可以,只不过可能实现起来不这么“优雅”而已。
这里简单介绍一点Python“优雅”的代码和这颗糖的名字,至于这颗糖的更深层次的东西,这里一律略过。
首先是lambda表达式。lambda表达式是一种非常简洁的定义函数的形式,不过一般不推荐写lambda表达式。比如求两个数的和,通过定义函数的写法为:
def add(x, y):
return x + y
1. map、reduce、filter三兄弟和lambda匿名函数,拯救缓慢的for循环(然而其实也并没有特别快),伪装函数式语言(然而实际上还是OO),并且[哔]2. yield大法好,generator大法好。
3. try else,for else,while else……
4. monkey patch大法好,模块封装好了不想改模块本身但是又必须做修改?靠这个了……
5. 装饰器大法好……
6. 列表解析大法好……
似乎能『优雅』的主要都在这几个点上,有空了我会补一点例子。然而任何一点用太多其实都会惹人厌,所以说PEP告诉你一行不要太长是有道理的…… 楼上都说了一些很好用、很实用的。补充一个 functools 包,里面的函数你用一次,就会彻底爱上。 从问题来看,题主python都还不熟,更别提优雅的代码实现了,还有楼上的回答,基本都是那几个函数式编程的工具,推荐《python cookbook》,楼上说的和题主问的都涵盖了,对着书敲一遍吧。 不同人群写
Python的阶乘函数
1 . 普通青年
def f(n):
if n == 1:
return 1
return n * f(n - 1)
a, b = b, a
读读 Python documentation 里的 The Python Language Reference 你就明白了,这都是很一般的写法。声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论