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号,每周 ...
随机推荐
- GNS3 模拟icmp重定向
网关实质上是一个网络通向其他网络的IP地址.比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0:网络B的IP地址 ...
- oracle 查看表中有多少字段
select count(*) from user_tab_columns t where t.TABLE_NAME='WPM_CHECK_ORDER'
- 使用Ghidra分析phpStudy后门
一.工具和平台 主要工具: Kali Linux Ghidra 9.0.4 010Editor 9.0.2 样本环境: Windows7 phpStudy 20180211 二 .分析过程 先在 Wi ...
- IDE及PHP基础——注释、变量、数据、运算符、输出等
IDE(Integrated Development Environment ),集成开发环境,是用于提供程序开发环境的应用程序,一般包括代码编辑器.编译器.调试器和图形用户界面等工具.集成了代码编写 ...
- Redis 详解 (五) redis的五大数据类型实现原理
目录 1.对象的类型与编码 ①.type属性 ②.encoding 属性和 *prt 指针 2.字符串对象 3.列表对象 4.哈希对象 5.集合对象 6.有序集合对象 7.五大数据类型的应用场景 8. ...
- 049-PHP输出当前文件的名称
<?php echo __FILE__; //利用常量__FILE__输出当前文件的名称 ?>
- .net Form 的Autoscalemode属性
.net Form 的Autoscalemode属性如果设置成Font 将会随着系统字体的大小来改变form大小 有时候会造成布局混乱,小心使用
- hdu1222Wolf and Rabbit (公约数的巧题)
一个很坑的问题,想到点子上很好解决,想不到的话头破也不一定能做出来. There is a hill with n holes around. The holes are signed from 0 ...
- Mysql—存储过程
该处代码可能存在中文的标点符号 存储过程 含义: 一组预先编译好的SQL语句的集合,理解成批处理语句 好处: 1.提高代码的重用性 2.简化操作 3.减少了编译次数并且减少了和数据库连接的次数,提高了 ...
- python_re正则表达
re模块就本质而言,正则表达式(或RE)是一种小型的.高度专业化的编程语言,(在python中)它内嵌在Python中,并通过re模块实现,正则表达式模块被编译成一系列的字节码,然后由用C编写的匹配引 ...