今天就让我们一起来看看python中那些非常有名的简洁、高效、便捷的代码,让我们一窥她的风采。事实上,每个主题都需要大量的空间来展开。今天就来简单的了解一下。看完之后,相信初学者会更快的爱上python。1.列表推导如果要说python中最简洁最惊艳的代码,列表推导应该排在第一位。这是一种非常简洁的写法,你可以从一个列表中创建另一个列表。这种表达方式叫做列表理解(listcomprehension)例1,使用一个列表生成一个新的列表例2,甚至可以过滤列表中的一些元素,如:例3:如果需要处理的内容sequence在循环处理的过程中,还可以加一个函数combine来完成list推导的用法。看到眼前的光,是不是觉得很方便?2、withusage一般我们在处理文件的时候都是先打开->然后处理->然后关闭。比较麻烦,需要防止异常保护try/finally。很多时候我们专注于如何处理文件,以至于忘记了关闭文件。Python中有一个很简单的方法:普通打开和关闭文件处理:使用with语句,使用起来很简单,有点像英文,使用with语句可以保证写操作完成后自动关闭文件完全的。其实with的使用场景有很多,除了文件的关闭处理外,在多线程的使用中也经常会用到锁的处理。以后的文章会讲到python多线程多进程的使用,并且会展开.with的用法,体现了python的精髓:把一些繁琐的工作交给语言本身,开发者可以专注于处理问题的逻辑只要专注就可以了。好的。3、匿名函数lambdapython中有一种“惰性函数”,叫做匿名函数(即没有函数名的函数)。我们在传入函数的时候,有时候不需要显式定义函数,直接传入匿名函数会更方便。lambda(这个名字其实是从LISP借来的,黑客非常喜欢的另一种语言),lambda的一般形式是关键字lambda后面跟着一个或多个参数,后面跟一个冒号,然后就是一个表达式:lambdaarg1,agr2,...agrN:expressusingarguments以map()函数为例,如果要计算列表中每个元素的平方,可以直接传入匿名函数:>>>map(lambdax:x*x,[1,2,3,4,5,6,7,8,9])[1,4,9,16,25,36,49,64,81]对比可以看出匿名functionlambdax:x*x其实就是:deff(x):returnx*x使用匿名函数的好处是显而易见的:一方面可以省去命名的麻烦(因为高质量的代码对函数很重要命名有一定的要求),也不用担心函数名冲突。此外,匿名函数也是一个函数对象。也可以将一个匿名函数赋值给一个变量,然后使用该变量来调用该函数:4.Generator生成器是python里面比较难理解的概念之一,也是Python中引入的两个强大特性之一(猜猜是什么另一个特性是,顺便说一下,它是一个装饰器)。今天就来看看它的一个简单的例子,一个关于斐济的Bonacci序列的实现:使用generator的功能:看看第二种方法的代码是不是简洁很多,这就是yield的魅力所在关键词。如果一个函数定义中包含了yield关键字,那么这个函数就不再是一个普通的函数,而是一个生成器函数,打印出来看看.print(fac2(10))>>>
