书接上文,接演Python全传

话说学了这么多Python的基础知识,也该写一点让别人看不懂的代码了。

lambda


lambda表达式,是一个方法的简化形似,它没有自己的代码块,它后面的语句就是它的逻辑主体。lambda语句被用来创建新的函数对象,并且在运行的时候返回它们。

# Fileanme:lambda.py

def make_repeater(n):
return lambda s:s*n twice = make_repeater(2) print(twice('word'))
print(twice(5))

运行结果

这次有一点小复杂,在我们定义一个函数的时候,返回一个lambda表达式,根据结果分析程序,当我们对函数传入第一次参数的时候,定义的函数就变成了:

def make_repeater(2):
return lambda s:s*2

这个函数发生了改变,但是还是缺少一个参数s,所以当我们再次调用函数的时候这个时候twice表示一个新的函数,就需要传入一个参数s,进行处理。

需要注意的一点是,在lambda表达式中只能使用表达式。

看一个网上的例子:

list(filter(lambda x:True if x % 3 == 0 else False,range(100)))
list(map(lambda x:True if x % 3 == 0 else False,range(100)))

运行结果

这里使用了filter和map方法,我们简单来看一下;

在filter中传入一个方法一个序列,这个方法会将序列中的值依次传入到方法中然后生成一个新的序列。

map是将方法中的计算结果生成一个新的序列返回。

exec和eval语句


exec语句用来执行储存在字符串或文件中的Python语句。

eval语句用来计算存储在字符串中的有效Python表达式。

通过例子就很好理解啦。

assert(断言)语句


断言语句用来声明某个声明条件是真的。

如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert语句是应用在这种情形下的理想语句。当assert语句失败的时候,会引发一个AssertionError。(不是很懂)看例子。

看完也不是很懂。。。。。。

再看:

移除并返回索引处的项(默认最后一个)。如果列表为空或索引超出范围,则引发IndexError。

list中的元素被移除了,所以它的长度就没有了,所以断言错误,所以没毛病了。

repr函数


repr函数用来取得对象的规范字符串表示。反引号(也称转换符)可以完成相同的功能。注意,在大多数时候有eval(repr(object)) == object

哈哈哈,这个厉害啦,repr()变成字符串了,eval()把字符串中的表达出来,可以这个很梦幻。基本上,repr函数和反引号用来获取对象的可打印的表示形式。你可以通过定义类的__repr__方法来控制你的对象在被repr函数调用的时候返回的内容。

概括


在这一章中,我们又学习了一些Python的特色,然而你可以肯定我们并没有学习完Python的所有特色。不过,到目前为止,我们确实已经学习了绝大多数你在实际中会使用的内容。这些已经足以让你去创建任何程序了。

加油程序员。

从0开始的Python学习019更多的Python内容2的更多相关文章

  1. 从0开始的Python学习018更多的Python内容

    特殊的方法 之前学习的都是一些常用的方法,为了使我们的学习更加的完整,我们在这里学习一些特殊的方法. 一般说来,特殊的方法都被用来模仿某个行为.例如,如果你想要为你的类使用x[key]这样的索引操作( ...

  2. python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍

    目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...

  3. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

  4. python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍

    目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...

  5. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

  6. 大学四年的Python学习笔记分享之一,内容整理的比较多与仔细

    翻到以前在大学坚持记录的Python学习笔记,花了一天的时间整理出来,整理时不经回忆起大学的时光,一眨眼几年就过去了,现在还在上学的你们,一定要珍惜现在,有个充实的校园生活.希望这次的分享对于你们有学 ...

  7. python学习之路-1 python简介及安装方法

    python简介 一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. 目前最新版本为3.5.1,发布于2015年12月07日 ...

  8. Python学习【02】Python基础

    一.Python内部执行过程 1.Python的后缀名可以是任意? print("hello,world")  保存成  .py / .txt / .sb / .aaa 都可以用在 ...

  9. Python学习(二)Python 简介

    Python 简介 官方指南及文档 Python2.7官方指南(中文版):http://pan.baidu.com/s/1dDm18xr Python3.4官方指南(中文版):http://pan.b ...

随机推荐

  1. c# 接口相同方法申明使用

    using System; namespace ConsoleApp1 { interface IInterface1 { void ft(); } interface IInterface2 { v ...

  2. JQuery --- 第二期 (jQuery属性操作)

    个人学习笔记 1.JQuery的内容选择器 <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  3. cesium 之图层管理器篇(附源码下载)

    前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...

  4. cesium 之三维场景展示篇(附源码下载)

    前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...

  5. Android 程序结构

    Android程序在创建的时,Android studio就为其构建了基本结构,设计者可在此结构上开发应用程序, manifests :用于存放AndroidManifest.xml文件(又称清单文件 ...

  6. goldengate同源一目标+多表和同源多目标+多表

    小结一下,永记心中!几经修改,看见完美曾经遇到的问题或值得注意的地方,就此记录一下,以免再犯开始...******************同源一目标+多表******************针对部分表 ...

  7. Scala实现Try with resources自动关闭IO

    在处理数据库连接或者输入输出流等场景时,我们经常需要写一些非常繁琐又枯燥乏味的代码来关闭数据库连接或输入输出流. 例如数据库操作: def update(sql: String)(conn: Conn ...

  8. Python:如何用一行代码获取上个月是几月

    现在转一篇志军100发于公众号 Python之禅的文章: Python:如何用一行代码获取上个月是几月 抱歉我用了个有点标题党的标题,因为担心你错过了本文,但内容绝对干货,本文介绍的关于Python时 ...

  9. C#中的RDLC报告

    介绍 此示例显示如何在C#中生成RDLC报告,您可以为小型,中型和大型企业生成报告. 构建示例 Visual Studio 2013,.Net Frameworm 4.5,MS SQL Server ...

  10. PHP全栈学习笔记14

    一.搭建PHP开发环境 Apahce服务器 Dreamwear创建站点 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...