zoukankan      html  css  js  c++  java
  • 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、解数学方程

    使用 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:
    <语句>        #如果没有异常发生
  • 相关阅读:
    创建文本编辑输入框1:
    表likp新增第一次过账输入日期字段,vl02n/vl01n/vl03n/vl06o的增强
    如何获得控件的属性
    使用OVS
    【Vue】安装(NPM 方法)
    【Webpack】学习随笔
    【node】安装
    【CSS-flex】圣杯布局(Holy Grail Layout)、输入框的布局、悬挂式布局、固定的底栏
    【CSS】关于flex
    解决MySQL新建用户后无法登录问题
  • 原文地址:https://www.cnblogs.com/bawu/p/8064726.html
Copyright © 2011-2022 走看看