zoukankan      html  css  js  c++  java
  • lambda 表达式+python内置函数

    #函数

    def f1(a,b):

          retrun  a+b

    #lambda方式,形参(a,b):返回值(a+b)

    f2=lambda a,b : a+b

    在一些比较简单的过程计算就可以用lambda

    python内置函数

    abc 获取绝对值

    all 循环对象,都为真就返回真否则为假

    >>> li
    [1, 2, 3]
    >>> all(li)
    True

    #0为假

    >>> li=[0,1,2,3]
    >>> all(li)
    False

    bool 真假判断,把一个对象转成bool值

    any 和all差不多只要有个为真就为真

    ascii(对象),对象类中找__repr__,获取返回值。对象如果是列表那么就去list方法中找,对象是字典就去dict中找(python2.7没有这个方法)

    class abc:

          def __repr__:

                   return "nihao"

    f1=abc()

    ret=ascii(f1)

    print ret

    nihao

    #bin  二进制   0b开头

    #oct  八进制    0o开头

    #int 十进制 

    #hex 十六进制 0xe开头

    二进制转换,下面方法也可用到其它进制转换上

    >>> int(0b1111)#0b开头python默认就是二进制,这里就不需要指定base参数,
    15

    >>> int('1111',base=2)#不是0b开头的话这里需要指定一下类型,这里为2进制
    15

    #bytes  字节

    #bytesarray   字节列表

    chr()#将数字转成字符(ascill),ascill占用一个字节8位,0-256

    ord()#将字符转成数字(ascill)

    随机验证码:

    import  random

    yz=''
    for i in range(6):
    if i ==1 or i ==5:
    num=random.randrange(0,10)
    yz=str(num)+yz
    else:
    num=random.randrange(65,91)
    yz=chr(num)+yz
    print(yz)



    结果:
    0RBH0Q

    callable 查看方法是否可以执行,返回布尔值

    >>> def run():print "11"
    >>> a='111'
    >>> callable(a)
    False
    >>> callable(run)
    True

    compile 编译,这个函数可以把字符串翻译成python可执行的代码。如 :"def aa():print1 "这个就是一个字符串,通过这个函数就可以转成函数用了

    divmod  这个也很有用举个例子网站分页,1000条数据,每页展示50条,需要多少页?

    >>> divmod(1000,50)
    (20, 0)     #20页就够用了

    eval #将表达式解释成python代码  例如:eval("1+2"),这样就可以直接计算。eval带返回值

    exec 将字符串翻译成python代码,和eval的区别在于这个没有返回值,"for i in range(10):print i"   eval是没有办法执行这个的

    #循环可以迭代的对象,返回为true就是筛选通过

    filter(函数,可迭代的对象)

    def f1(x):
    if x>22:
    return True
    else:return False
    ret=filter(f1,[11,100,5,60])
    print(ret)


    返回
    [100, 60]

    map(函数,可迭代的对象),将2个数组的值加起来

    ret=map(lambda x,y:x+y,[11,100,5,60],[22,66,15,15])
    print(ret)

    globals #获取所有全局变量

    locals#获取所有局部变量

    hash#将对象进行hash运行算,这样就可以用一个带索引的值可以在以后的查找中快速定位,ye可以将一个很长的串减小空间

    >>> f1="aaaaaaasdaxzczxvcxvzxvc00..asd"
    >>> hash(f1)
    -936964852

    isinstance #判断某个对象是否是某个类创建的

    >>> li=[1,2,3]
    >>> r=isinstance(li,list)
    >>> print r
    True

    issubclass#盘对某个类是不是子类

    next#取迭代器下一个值

    iter#迭代器,生成一个可以迭代的对象,当值取完后再next将报异常,一般和yield生成器配合使用。只有用的时候才会运行

    >>> obj=iter(range(5))
    >>> next(obj)
    0
    >>> next(obj)
    1
    >>> next(obj)
    2

    max#取出最大值

    >>> max([11,22,33])
    33

    min#回去最小值

    >>> min([11,22,33])
    11

    pow#求指数,2的10次方

    >>> pow(2,10)
    1024

    repr#这个和ascii一样返回类的__repr__方法,区别在于ascii遇到中文会进行处理

    reversed#将值反转

    round#四舍五入

    slice#切片,一般不会用到。可以切片的对象直接就可以处理

    sum#求和

    zip#将2个可迭代的对象进行组合,如果2个可迭代的对象个数不一致,那将被删除

    >>> a=[1,2,3,4,5]
    >>> b=['a','b','c','d','e']
    >>> zip(a,b)
    [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]

    __import__ #跟import 作用一样

    a=__import__(getpass)

    a.xxxxx  #有点类似于别名了

    sorted#排序

    列表中也有个sort排序,实际上你用sorted(li)排序的时候也是调用list下的sort方法

    >>> li=[12,1,5,9,2]
    >>> li.sort()
    >>> li
    [1, 2, 5, 9, 12]

    如果排序中包含汉子或者字符,字母转成ascii码,然后根据数字对比,汉子也会转成'xas/sd/'这样编码,这样也可以用ascii来转换了

  • 相关阅读:
    可视化理解卷积神经网络
    方差 标准差区别
    SSIS中出现数据流数据源假死状态的解决办法
    IIS中ASP.NET虚拟目录不继承主站点web.config设置的办法(转载)
    SSAS 度量值中的distinct count局聚合方式会数为null的值
    SSAS中CUBE的多对多关系既可以出现在中间事实表上也可以出现在中间维度表上
    SSAS中事实表中的数据如果因为一对多或多对多关系复制了多份,在维度上聚合的时候还是只算一份
    获取当前正在执行的Javascript脚本文件的路径
    C#中try catch中throw ex和throw方式抛出异常有何不同
    SqlServer 一个查询语句导致tempdb增大55G(转载)
  • 原文地址:https://www.cnblogs.com/menkeyi/p/6669915.html
Copyright © 2011-2022 走看看