从0开始的Python学习019更多的Python内容2
书接上文,接演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的更多相关文章
- 从0开始的Python学习018更多的Python内容
特殊的方法 之前学习的都是一些常用的方法,为了使我们的学习更加的完整,我们在这里学习一些特殊的方法. 一般说来,特殊的方法都被用来模仿某个行为.例如,如果你想要为你的类使用x[key]这样的索引操作( ...
- python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍
目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...
- python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍
目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...
- python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍
目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...
- python学习第四讲,python基础语法之判断语句,循环语句
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...
- 大学四年的Python学习笔记分享之一,内容整理的比较多与仔细
翻到以前在大学坚持记录的Python学习笔记,花了一天的时间整理出来,整理时不经回忆起大学的时光,一眨眼几年就过去了,现在还在上学的你们,一定要珍惜现在,有个充实的校园生活.希望这次的分享对于你们有学 ...
- python学习之路-1 python简介及安装方法
python简介 一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. 目前最新版本为3.5.1,发布于2015年12月07日 ...
- Python学习【02】Python基础
一.Python内部执行过程 1.Python的后缀名可以是任意? print("hello,world") 保存成 .py / .txt / .sb / .aaa 都可以用在 ...
- Python学习(二)Python 简介
Python 简介 官方指南及文档 Python2.7官方指南(中文版):http://pan.baidu.com/s/1dDm18xr Python3.4官方指南(中文版):http://pan.b ...
随机推荐
- Linux遗忘root密码的其中两种解决方法
由于安全的需要,系统一般只有一个root用户,因此若遗忘root用户的登录密码,因此需要通过其他途径进行修改密码.1.通过单用户模式(1)重启系统,按任意键进入grub菜单.出现grub菜单时,按↑, ...
- 设计模式 | 外观模式/门面模式(facade)
定义: 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 结构:(书中图,侵删) 一个简洁易用的外观类 一个复杂的子系统 实例: 书中提到了理 ...
- arcgis api 4.x for js 结合 react 入门开发系列初探篇(附源码下载)
你还在使用 JQuery 或者 Dojo 框架开发 arcgis api 4.x for js 吗?想试试模块化开发吗?随着前端技术的发展,arcgis api 4.x for js 也有了结合 re ...
- Windows系统ping本地虚拟机~
虚拟机左上角[编辑]>>>[虚拟网络编辑器] [VMnet1]>>>子网ip:192.168.124.0 子网掩码:255.255.255.0 [VMnet8]&g ...
- MYSQL 主从复制,读写分离(8)
Mysql 数据库的主从复制方案,是其自带的功能,并且主从复制并不是复制磁盘上的数据文件,而是通过binlog日志复制到需要同步的服务器上. 一 主从复制的原理实现 原理图解说: 数据库更改 生成数据 ...
- [AI开发]视频多目标跟踪高级版(离自动驾驶又‘近’了一点点)
**本文恐怕不是完全的标题党** 视频多目标跟踪需要解决的关键点是前后两帧之间的Target Association,这是最难的环节(没有之一).第T帧检测到M个目标,第T+S(S>=1)帧检测 ...
- Vue(day7)
一.环境搭建 下面我们需要为后面要做的Vue项目搭建开发环境. 1.基本的运行环境 该项目使用node& vue在webpack环境下进行开发.首先安装基本的模块文件: npm install ...
- Android开发:Eclipse+OpenCV环境搭建
一.OpenCV预备: OpenCV是一个跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它由一系列 C 函数和少量 C++ 类构成,同时提供了Pyt ...
- Winows + VSCode + Debug PHP
一.环境 环境:Win10 二.软件 1.安装VSCode 下载地址:https://code.visualstudio.com/Download 2.PHP 代码包 版本:php-7.2.9-Win ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十三║Vue实战:Vuex 其实很简单
前言 哈喽大家周五好,马上又是一个周末了,下周就是中秋了,下下周就是国庆啦,这里先祝福大家一个比一个假日嗨皮啦~~转眼我们的专题已经写了第 23 篇了,好几次都坚持不下去想要中断,不过每当看到群里的交 ...