python匿名函数应用--动态计算器
匿名函数:
一般用于函数体较为简单的运算,和一些不需要函数名的传递。
lambda 参数1:运算举例:
func = lambda x,y:x+y :可以给匿名函数添加变量名。
匿名函数的应用:
如一个int型列表的排序: list = [22,11,33,66]
list.sort() :结果返回是None,因为是直接修改的是list,此时list的输出结果为[11,22,33,66]
那么如何下列列表找字典的key排序:
user_infor = [{'name':'xiaohong','age':18},{'name':'xiaoqiang','age':16},{'name':'xiaohou','age':15}]
user_infor.sort(key=lambda x:x['age']) :key是一个变量用于接收匿名函数的返回值;然后已返回值为基础排序。
动态计算器:
一般我们计算的时候已经将函数定义好了,但是这里用匿名函数体来代替普通函数体,计算就不在局限于定义的了而取决于用户直接输入的比如:x+y,x/y...
#动态计算机:根据用户输入的运算规则进行运算,并非被程序限制死。
#匿名函数的应用
#定义动态函数
def getValue(a,b,func):
result = func(a,b)
return result
#获取用户输入的指令
x = int(input("x="))
y = int(input("y="))
user_func = eval('lambda x,y:'+input("请输入x,y的相关运算(如:x+y):")) #字符串拼接匿名函数命令
#调用函数
print(getValue(x,y,user_func))
样例:(绿色为键盘输入)


python匿名函数应用--动态计算器的更多相关文章
- python 匿名函数的使用(并没有那么简单)
以下为几种匿名函数的使用方式:x=[(lambda x:x**2)(x) for x in range(10)]print(x)y=[x**2 for x in range(10)]print(y)i ...
- Python匿名函数_return语句
Python匿名函数: 使用 lambda 关键字创建匿名函数: lambda 定义的函数只是一个表达式,而不是代码块 lambda 函数拥有自己的命名空间,不能够访问参数列表之外的 或 全局命名空间 ...
- python 匿名函数&内置函数
匿名函数:为了解决那些功能很简单的需求而设计的一句话函数怎么定义匿名函数: cal = lambda x : x*x # cal是函数名,lambda是定义匿名函数的关键字 冒号前面的额x是参数即函数 ...
- python 匿名函数&装饰器
匿名函数 关键字lambda表示匿名函数,冒号前面的x表示函数参数匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果. >>> list(map(l ...
- python匿名函数(lambda)
简单来说,编程中提到的 lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方 ...
- python匿名函数
文章导读: 以前自己一直没搞明白Python中的匿名函数,现在拿这个问题基本上搞明白了,拿自己的理解整成一篇文章,附带大量例子,让其更加好理解. 在编程语言中,函数的应用: 1. 代码块重复,这时候必 ...
- python 匿名函数与三元运算
匿名函数 匿名函数就是不需要显示式的指定函数名 首先看一行代码: def calc(x,y): return x*y print(calc(2,3)) # 换成匿名函数 calc = lambda x ...
- python匿名函数 高阶函数 内置函数 文件操作
1.匿名函数 匿名就是没有名字 def func(x,y,z=1): return x+y+z 匿名 lambda x,y,z=1:x+y+z #与函数有相同的作用域,但是匿名意味着引用计数为0,使用 ...
- Python匿名函数详解
python 使用 lambda 来创建匿名函数. lambda这个名称来自于LISP,而LISP则是从lambda calculus(一种符号逻辑形式)取这个名称的. 在Python中,lambda ...
随机推荐
- 洛谷 - P3649 - 回文串 - 回文自动机
https://www.luogu.org/problem/P3649 #include <bits/stdc++.h> using namespace std; typedef long ...
- Neo4j的查询语法笔记(二)
cypher是neo4j官网提供的声明式查询语言,非常强大,用它可以完成任意的图谱里面的查询过滤,我们知识图谱的一期项目 基本开发完毕,后面会陆续总结学习一下neo4j相关的知识.今天接着上篇文章来看 ...
- 安装paramiko的方法
打开cmd命令行 输入 cd /d C:\Python27\Scripts 输入 pip install paramiko pip install pika -i https://pypi.doub ...
- vi编辑器没有颜色的解决办法
Centos里的VI只默认安装了vim-minimal-7.x.所以无论是输入vi或者vim查看文件,syntax功能都无法正常启用.因此需要用yum安装另外两个组件:vim-common-7.x和v ...
- vue函数防抖和节流
Vue函数防抖和节流https://zhuanlan.zhihu.com/p/72363385 <template> <div> <input type='text' v ...
- RabbitMQ相关使用命令
启动:rabbitmq-server -detached 停止:rabbitmqctl stop 状态:rabbitmqctl status 查看所有用户rabbitmqctl list_users ...
- Express 中配置使用 art-template模板引擎
art-template 官网 https://aui.github.io/art-template/ 安装: npm install --save art-template npm install ...
- CentOS7安装mysql8.0编译报错集合
以下都是我安装mysql8.0遇到的一些报错和解决方法 1.does not appear to contain CMakeLists.txt. 原因:mysql下载的源码包不对 解决方法:下载正确的 ...
- 5.Docker存储卷
一.概述 1.Docker底层存储机制 Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层. 如果运行中的容器修改了现有的一个已经存在的文件,那 ...
- PCA(基础知识)
参考:http://blog.csdn.net/wangjian1204/article/details/50642732 参考:https://www.zhihu.com/question/3831 ...