python--第四天总结
lambda表达式
处理简单函数
自动返回
学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即:
- # 普通条件语句
- if 1 == 1:
- name = 'wupeiqi'
- else:
- name = 'alex'
# 三元运算
name = 'wupeiqi' if 1 == 1 else 'alex'
对于简单的函数,也存在一种简便的表示方式,即:lambda表达式
# ###################### 普通函数 ######################
- # 定义函数(普通方式)
- def func(arg):
- return arg + 1
- # 执行函数
- result = func(123)
# ###################### lambda ######################
- # 定义函数(lambda表达式)
- my_lambda = lambda arg : arg + 1
- # 执行函数
- result = my_lambda(123)
lambda存在意义就是对简单函数的简洁表示
内置函数 二
一、map
遍历序列,对序列中每个元素进行操作,最终获取新的序列。

eg:
每个元素增加100
- li = [11, 22, 33]
- new_list = map(lambda a: a + 100, li)
两个列表对应元素相加
- li = [11, 22, 33]
- sl = [1, 2, 3]
- new_list = map(lambda a, b: a + b, li, sl)
二、filter
对于序列中的元素进行筛选,最终获取符合条件的序列

获取列表中大于12的所有元素集合
- li = [11, 22, 33]
- new_list = filter(lambda arg: arg > 22, li) #filter第一个参数为空,将获取原来序列
三、reduce
对于序列内所有元素进行累计操作


获取序列所有元素的和
- li = [11, 22, 33]
- result = reduce(lambda arg1, arg2: arg1 + arg2, li)
- # reduce的第一个参数,函数必须要有两个参数
- # reduce的第二个参数,要循环的序列
- # reduce的第三个参数,初始值
yield生成器
1、对比range 和 xrange 的区别
>>>printrange(10)[0,1,2,3,4,5,6,7,8,9]>>>printxrange(10)xrange(10)
def nrange(num):
temp = -1
while True:
temp = temp + 1
if temp >= num:
return
else:
yield temp 自定义生成器nrange
自定义生成器nrange
2、文件操作的 read 和 xreadlinex 的的区别
- read会读取所有内容到内存
- xreadlines则只有在循环迭代时才获取
装饰器
装饰器是函数,只不过该函数可以具有特殊的含义,装饰器用来装饰函数或类,使用装饰器可以在函数执行前和执行后添加相应操作。
- def wrapper(func):
- def result():
- print 'before'
- func()
- print 'after'
- return result
- @wrapper
- def foo():
- print 'foo'
import functools def wrapper(func):
@functools.wraps(func)
def wrapper():
print 'before'
func()
print 'after'
return wrapper @wrapper
def foo():
print 'foo'
#!/usr/bin/env python
#coding:utf-8 def Before(request,kargs):
print 'before' def After(request,kargs):
print 'after' def Filter(before_func,after_func):
def outer(main_func):
def wrapper(request,kargs): before_result = before_func(request,kargs)
if(before_result != None):
return before_result; main_result = main_func(request,kargs)
if(main_result != None):
return main_result; after_result = after_func(request,kargs)
if(after_result != None):
return after_result; return wrapper
return outer @Filter(Before, After)
def Index(request,kargs):
print 'index' if __name__ == '__main__':
Index(1,2)
python--第四天总结的更多相关文章
- 简学Python第四章__装饰器、迭代器、列表生成式
Python第四章__装饰器.迭代器 欢迎加入Linux_Python学习群 群号:478616847 目录: 列表生成式 生成器 迭代器 单层装饰器(无参) 多层装饰器(有参) 冒泡算法 代码开发 ...
- Python 基础 四 面向对象杂谈
Python 基础 四 面向对象杂谈 一.isinstance(obj,cls) 与issubcalss(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls ...
- 初学Python(四)——set
初学Python(四)——set 初学Python,主要整理一些学习到的知识点,这次是set. # -*- coding:utf-8 -*- #先来看数组和set的差别 d=[1,1,2,3,4,5] ...
- python 函数“四剑客”的使用和介绍
python函数四剑客:lambda.map.filter和reduce. 一.lambda(匿名函数) 1. 学习lambda要注意一下几点: lambda语句被用来创建新的函数对象,并且在运行的时 ...
- Python第四天 流程控制 if else条件判断 for循环 while循环
Python第四天 流程控制 if else条件判断 for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Python第二天 ...
- 初识Python(四)
一.数字数据类型 Python的数字数据类型用于存储数值,它是不可变的数据类型,这意味着改变数字数据类型,则需要一个新分配的对象: Python支持四种不同的数值类型: 整型(Int):通常被称为是整 ...
- 孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数
孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 不同类型 ...
- 孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成
孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天经过反复折腾,最终基本上算 ...
- 孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数
孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天打算完成的是通用的(至少目 ...
- 孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类尝试第一天
孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类,尝试第一天 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 按上一天的规划,这是根据过去我自学其它编程语 ...
随机推荐
- Swoole 进程管理
用法: $process = new swoole_process(function(){ //这里写业务代码 },true) //开启进程,返回进程pid $pid = $process->s ...
- 机器学习进阶-案例实战-停车场车位识别-keras预测是否停车站有车
import numpy import os from keras import applications from keras.preprocessing.image import ImageDat ...
- 【JEECG技术文档】表单配置-树形表单
表单配置支持树型表单了,具体效果如下图: 配置说明: 1.是否树:选择是. 2.树形表单父Id:表的自关联外键. 3.树形表单列表:显示树形图标的列,如上图中为[组织机构名称]. 4.默认值:最外层数 ...
- Git 上传文件到 码云 gitee
1:git bash 执行如下 git config –global user.name “eason” git config –global user.email “your email@qq.co ...
- 检查nginx后端real server脚本,实现发现宕机剔除,恢复服务自动加入功能
#!/bin/bash #Author: Liang WeiCheng ip_array=($(grep "server 10.112.84" /etc/nginx/nginx.c ...
- putty登录显示IP
登陆服务器 cd vi .bashrc 在尾部加入如下代码 if [ "$SSH_CONNECTION" != '' -a "$TERM" != 'linux' ...
- css下拉导航栏代码
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- css3 制作一个遮罩
思路:1.显示两块图片,2.图片区域(初始隐藏),3.鼠标移入,遮罩显示,此时遮住图片,4.鼠标移出,遮罩恢复初始状态 用到两个css3 属性:transtion ,transform 用法: 1. ...
- vue:页面跳转和传参(页面之间,父传子,子传父)
1.返回上一个页面: A.<a @click="$router.back(-1)" class="btn">重新加载</a> B.thi ...
- Linux Shell 内建命令:冒号(:)
https://blog.csdn.net/honghuzhilangzixin/article/details/7073312/ 在Linux系统中,冒号(:)常用来做路径的分隔符(PATH),数据 ...