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、解数学方程

使用 Python 解数学方程

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、解数学方程、异常的更多相关文章

  1. 使用 Python 解数学方程

    SymPy是符号数学的Python库.它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁.易于理解和扩展 服务器Ubuntu 1.安装Python 2.安装SymPy库 sudo pip in ...

  2. Python之闭包

    Python之闭包 我们知道,在装饰器中,可以在函数体内创建另外一个函数,例如: def makebold(fn): def wrapped(): return "<b>&quo ...

  3. 简学Python第二章__巧学数据结构文件操作

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  4. Python Iterator and Generator

    Python Iterator and Generator Iterator ​ 迭代器(Iterator)和可迭代对象(Iterable)往往是绑定的.可迭代对象就是我们平时经常用的list ,st ...

  5. Python函数编程——闭包和装饰器

    Python函数编程--闭包和装饰器 一.闭包 关于闭包,即函数定义和函数表达式位于另一个函数的函数体内(嵌套函数).而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量.参数.当其中一个 ...

  6. Python的闭包

    Python的闭包 闭包概念都是一样的,实现机制一样,看看下面的代码是不是和javascript很像 def generate_counter(): cnt = [0] def count_one() ...

  7. Python编程从入门到实践笔记——异常和存储数据

    Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...

  8. python入门学习:9.文件和异常

    python入门学习:9.文件和异常 关键点:文件.异常 9.1 从文件中读取数据9.2 写入文件9.3 异常9.4 存储数据 9.1 从文件中读取数据 9.1.1 读取整个文件  首先创建一个pi_ ...

  9. 5月25号开学! 第13期《python3自动化测试selenium+接口》课程,python零基础也能学

    2019年 第13期<python3自动化测试selenium+接口>课程,5月25号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学 本期上课时间:5月25号-7月28号,每周 ...

随机推荐

  1. 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 ...

  2. 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 ...

  3. MyBatis Generator 下划线转驼峰命名

    MyBatis Generator配置文件--指定生成实体类使用实际的表列名作为实体类的属性名 table标签下的设置属性useActualColumnNames用于指定生成实体类时是否使用实际的列名 ...

  4. [BJDCTF2020]EasySearch

    0x00 知识点 Apache SSI 远程命令执行漏洞 链接: https://www.cnblogs.com/yuzly/p/11226439.html 当目标服务器开启了SSI与CGI支持,我们 ...

  5. P1005 继续(3n+1)猜想

    转跳点:

  6. 干干净净的grep

    用grep -rn "xxxx" ./   搜索. 有时候出现大量的 错误信息 主要有 1.Is a directory 2.no such file or directory 前 ...

  7. 简单总结Get与Post的区别

    工作当中经常遇到这两种类型的接口,也会被问到这两种类型的区别,这里简单总结一下算是一个简单的回忆吧. GET和POST是http协议的两种发送请求的方法.因为http的底层是TCP/IP,所以GET和 ...

  8. 百度easydl之图像分类构建是否佩戴口罩模型

    2020-02-14 今天试了下百度esaydl的图像分类方面的功能,其优点是主需要上传自己的数据集,不需要关注模型训练,就可以得到相应的结果.最后得到的模型可以调用云api在本地进行运行. 网址:h ...

  9. servlet中调用注入spring管理的dao(转)

    今天做大型仪器的的时候遇到的问题,转下为了以后能用 http://blog.csdn.net/jiyingying_up/article/details/44803585 我们用spring的依赖注入 ...

  10. ES6 之 对象属性的可枚举性和遍历

    1.Object.getOwnPropertyDescriptor() 解释:获取对对象属性的描述对象. let obj = { foo: 123 }; console.log(Object.getO ...