python counter、闭包、generator、解数学方程、异常
1、counter
2、闭包
3、generator
4、解数学方程
5、异常
1、python库——counter
from collections import Counter
breakfast=['spam','spam','eggs','spam']
breakfast_counter=Counter(breakfast)
breakfast_counter #Counter({'eggs': 1, 'spam': 3})
#函数 most_common() 以降序返回所有元素,或者如果给定一个数字,会返回该数字前的的元素
breakfast_counter.most_common() #[('spam', 3), ('eggs', 1)]
breakfast_counter.most_common(1) #[('spam', 3)]
#可以组合计数器
lunch=['eggs','eggs','bacon']
lunch_counter=Counter(lunch)
lunch_counter #Counter({'bacon': 1, 'eggs': 2})
#第一种组合计数器的方式是使用 + 从一个计数器加上另一个
breakfast_counter+lunch_counter #Counter({'bacon': 1, 'eggs': 3, 'spam': 3})
#第二种组合计数器的方式是使用 - 从一个计数器去掉另一个
breakfast_counter-lunch_counter #Counter({'spam': 3})
lunch_counter-breakfast_counter #Counter({'bacon': 1, 'eggs': 1})
#第三种组合计数器的方式是使用 & 得到二者共有的项
breakfast_counter&lunch_counter #Counter({'eggs': 1})
2、python闭包
结论:尽量减少使用闭包
1、有的闭包可以使用两个函数分开来写,简单易读。
2、如果不使用nonlocal,可以读取作用域外的变量,但是不能修改,使用nonlocal,可以读取和修改,容易出bug,慎用!
3、python generators
要想创建一个iterator,必须实现一个有__iter__()和__next__()方法的类,类要能够跟踪内部状态并且在没有元素返回的时候引发StopIteration异常。
这个过程很繁琐而且违反直觉,Generator能够解决这个问题。
python generator是一个简单的创建iterator的途径,前面介绍那些繁琐的步骤都可以被generator自动完成。
简单来说,generator是一个能够返回迭代器对象的函数。
4、解数学方程
from sympy import *
x=symbols('x')
solve(15.38*x+12.12*(1-x)*0.9-12.12,x)
Out[13]: [0.271019677996422]
5、异常
try:
<语句> #运行别的代码
except <名字>:
<语句> #如果在try部份引发了'name'异常
except <名字>,<数据>:
<语句> #如果引发了'name'异常,获得附加的数据
else:
<语句> #如果没有异常发生
python counter、闭包、generator、解数学方程、异常的更多相关文章
- 使用 Python 解数学方程
SymPy是符号数学的Python库.它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁.易于理解和扩展 服务器Ubuntu 1.安装Python 2.安装SymPy库 sudo pip in ...
- Python之闭包
Python之闭包 我们知道,在装饰器中,可以在函数体内创建另外一个函数,例如: def makebold(fn): def wrapped(): return "<b>&quo ...
- 简学Python第二章__巧学数据结构文件操作
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- Python Iterator and Generator
Python Iterator and Generator Iterator 迭代器(Iterator)和可迭代对象(Iterable)往往是绑定的.可迭代对象就是我们平时经常用的list ,st ...
- Python函数编程——闭包和装饰器
Python函数编程--闭包和装饰器 一.闭包 关于闭包,即函数定义和函数表达式位于另一个函数的函数体内(嵌套函数).而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量.参数.当其中一个 ...
- Python的闭包
Python的闭包 闭包概念都是一样的,实现机制一样,看看下面的代码是不是和javascript很像 def generate_counter(): cnt = [0] def count_one() ...
- Python编程从入门到实践笔记——异常和存储数据
Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...
- python入门学习:9.文件和异常
python入门学习:9.文件和异常 关键点:文件.异常 9.1 从文件中读取数据9.2 写入文件9.3 异常9.4 存储数据 9.1 从文件中读取数据 9.1.1 读取整个文件 首先创建一个pi_ ...
- 5月25号开学! 第13期《python3自动化测试selenium+接口》课程,python零基础也能学
2019年 第13期<python3自动化测试selenium+接口>课程,5月25号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学 本期上课时间:5月25号-7月28号,每周 ...
随机推荐
- HDU 1024:Max Sum Plus Plus 经典动态规划之最大M子段和
Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- Day7 - K - Biorhythms POJ - 1006
Some people believe that there are three cycles in a person's life that start the day he or she is b ...
- MyBatis Generator 下划线转驼峰命名
MyBatis Generator配置文件--指定生成实体类使用实际的表列名作为实体类的属性名 table标签下的设置属性useActualColumnNames用于指定生成实体类时是否使用实际的列名 ...
- [BJDCTF2020]EasySearch
0x00 知识点 Apache SSI 远程命令执行漏洞 链接: https://www.cnblogs.com/yuzly/p/11226439.html 当目标服务器开启了SSI与CGI支持,我们 ...
- P1005 继续(3n+1)猜想
转跳点:
- 干干净净的grep
用grep -rn "xxxx" ./ 搜索. 有时候出现大量的 错误信息 主要有 1.Is a directory 2.no such file or directory 前 ...
- 简单总结Get与Post的区别
工作当中经常遇到这两种类型的接口,也会被问到这两种类型的区别,这里简单总结一下算是一个简单的回忆吧. GET和POST是http协议的两种发送请求的方法.因为http的底层是TCP/IP,所以GET和 ...
- 百度easydl之图像分类构建是否佩戴口罩模型
2020-02-14 今天试了下百度esaydl的图像分类方面的功能,其优点是主需要上传自己的数据集,不需要关注模型训练,就可以得到相应的结果.最后得到的模型可以调用云api在本地进行运行. 网址:h ...
- servlet中调用注入spring管理的dao(转)
今天做大型仪器的的时候遇到的问题,转下为了以后能用 http://blog.csdn.net/jiyingying_up/article/details/44803585 我们用spring的依赖注入 ...
- ES6 之 对象属性的可枚举性和遍历
1.Object.getOwnPropertyDescriptor() 解释:获取对对象属性的描述对象. let obj = { foo: 123 }; console.log(Object.getO ...