zoukankan      html  css  js  c++  java
  • 内置函数,匿名函数

    1.内置函数2

    2.匿名函数

    一,**dir:函数不带参数时,返回当前范围内的变量,方法和定义的类型列表.

    将对象所有的方法名放置在一个列表中 .例print(dir(str))#就是把str所有的操作方式打印出来.

    ***range():函数配合着for循环用,获取到一组数据.

    **next:函数for循环内部实际使用了__next__方法,返回迭代器的下一个项目

    **iter:函数用来生成迭代器(讲一个可迭代对象,生成迭代器.)

    1,4,1数字相关

    数据类型:

    **bool:用于将给定参数转换为布尔类型,如果没有参数,返回False.例: print(bool(""))

    **int:函数用于将一个字符串或数字转换为整型.

    print(int("111"))     print(int(12.34))#浮点型,转化成整数(取整)    print(int("12.34"))#会报错

    print(int("0100",base=2))#将2进制的0100转化成十进制.结果为4

    **float:函数用于将整数和字符串转换成浮点数. 例:print(1.22,type(1.22))

    *complex:函数用于创建一个值为real+imag*j的复数或者转化一个字符串或数为复数,如果第一个参数为字符串,则不需要指定第二个参数.

    print(complex(1,2))

    *bin:将十进制转换成二进制并返回.例:print(bin(3))  #0b11

    *oct:将十进制转换成八进制字符串并返回.例:print(oct(9)) #0o11

    *hex:将十进制转换成十六进制字符串并返回.

    例:print(hex(10))  #0xa

    print(hex(15))  #0xf

    print(hex(17))  #0x11

    数学运算

    abs:函数返回数字的绝对值.  例print(abs(-5))  # 5

    **divmod:计算除数与被除数的结果,返回一个包含商和余数的元组(b//a,b%a)  例:print(divmod(7,3))

    *round:保留浮点数的小数位,默认保留整数.

    例:print(round(2.1242332))  #默认保留整数

    print(round(2.14353,2))#保留小数点后两位(有四舍五入的坑)

    *pow:求x**y次幂,(三个参数为x**y的结果对z取余)

    print(pow(3,3))  #pow(x,y)  x**y

    print(pow(3,3,5))  #pow(x,y,z)  x**y%z

    ***sum:对可迭代对象进行求和计算(可设置初始值)

    li = [1,2,3,55,77]

    print(sum(li))

    print(sum(li,100))  #设置初始值

    ***min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)

    li = [1,2,3,55,77]

    l2= [-1,-2,3,55,-77]

    print(min(li)

    print(min(l2,key=abs))  #求l2中绝对值最小的

    ***max:返回可迭代对象的最大值(可加key,key为函数名,通过函数的规则,返回最大值)

    li = [1,2,3,55,77]

    l2= [-1,-2,3,55,-77]

    print(max(li))

    print(max(l2,key=abs))

    dic = {"a":3,"b":2,"c":1}

    def func(x):return dic[x]

    print(min(dic,key=func))

    print(max(dic,key=func))

    lis = [[1517991992.94, 100], [1517992000.94, 200], [1517992014.94, 300], [1517992744.94, 350], [1517992800.94, 280]]

    def func1(x): return x[1]

    print(max(lis,key=func1))

    **list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表元素)

    li = [1,2,3]

    l2 = list([1,2,3])#创建列表

    l3 = list((1,2,3))

    print(l3)

    **tuple:将一个可迭代对象转化成元组(如果是字典,默认将key作为元组元素)

    相关内置函数

    ***reversed:将一个序列翻转,并返回此翻转序列的迭代器.

    li = [22,33,55,11]

    print(reversed(li))

    for i in reversed(li):

      print(i)

    **slice:构造一个切片对象,用于列表的切片

    li = [1,2,3,4,5,6,7]

    l2 = [-1,-2,4,7,44,-23]

    print(li[1:4])

    print(l2[1:4])

    rule = slice(1,4,2)

    print(li[rule])

    print(l2[rule])

    format:与具体数据相关,用于计算各种小数,精算等

    print(format("test",">20"))

    print(format("test","<20"))

    print(format("test","^20"))

    bytes:用于不同编码之间的转化.将Unicode--->bytes

    unicode--->utf-8

    s = "alex"

    b = s.encode("utf-8")

    b = bytes(s,encoding="utf-8")#不能解码,只能编码

    print(b)

    print(b)

    s1 = "中国"

    b1 = s1.encode("utf-8")

    b2 = b1.decode("utf-8").encode("gbk")

    print(b2)

    *bytearry:返回一个新字节数组,这个数组里的元素是可变的.并且每个元素的值范围:0<=x<256

    ret = butearray("alex",encoding="utf-8")

    print(id(ret))

    print(ret)

    print(ret[0])

    ret[0]=65

    print(ret)

    print(id(ret))

    *memoryview

     ret = memoryview(bytes('你好',encoding='utf-8')) # [xe4,xbd,xa0,xe5,xa5,xbd]
     print(len(ret)) # 6
     print(ret)
     print(bytes(ret[:3]).decode('utf-8'))
     print(bytes(ret[3:]).decode('utf-8'))

    *ord:输入字符找该字符编码的位置(Unicode的编码)

    print(ord("a"))       print(ord("我"))

    *chr:输入位置数字找出其对应的字符(unicode)

    print(chr(97))

    ascii:是ascii码中的返回该值,不是就返回/u...

    print(ascii('a'))
    print(ascii('中国')) # 'u4e2du56fd'

    **repr:返回一个对象的string形式(原形毕露)

    print(repr("中国")

    print(repr("{"name":"Alex"}"))

    s1 = "我是%s人"%("中国")

    s2 = "我是%r 人"%("中国")

    print(s1)

    print(s2)

    数据结合

    dict:创建一个字典.  set:创建一个集合.   

    frozenset:返回一个冻结的集合,冻结后集合不能再添加或者删除任何元素.

    相关内置函数

    ***len:返回一个对象中元素的个数.

    ***sorted:对所有可迭代的对象进行排序操作

    l1 = [1,2,3,66,4,2]

    print(sorted(l1))

    l = [("a",4),("c",3),("d",1),("b",2)]

    def func(x):

      return x[1]

    l2 = sorted(l,key=func)

    print(l2)

    ***enumerate:枚举,返回一个枚举对象.

    **all:可迭代对象中,全都是True才是True.

    **any:可迭代对象中,有一个True,就返回True

    l1 = ["ax",1,True]

    print(all(l1))

    l2 = [True,"",0,()]

    print(any(l2))

    ***zip:函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元祖,然后返回由这些元组组成的迭代器,如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同.

    l1 = [1, 2, 3,]
    l2 = ['a','b','c',5]
    l3 = ('*','**',(1,2,3), 2, 4)
    print(zip(l1,l2,l3)) 可以视为:[(1, 'a', '*'),(2, 'b', '**'),(3, 'c', (1, 2, 3))]
    for i in zip(l1,l2,l3):
      print(i)

    ***filter:过滤.
    def func(x):
      return x%2 == 0
    ret = filter(func,[1,2,3,4,5,6,7])#生成器
    print(ret)
    for i in ret:
      print(i)
    print((i for i in [1,2,3,4,5,6,7] if i % 2 == 0))#生成器

    ***map:会根据提供的函数对指定序列做映射.

    l = [1,2,4,5,3]

    def func(x):

      return x*x

    ret = map(func,l)

    print(ret)

    for i in ret:

      print(i)

    匿名函数 一句话函数,一行表示

    def func1(x,y):return x+y

    func = lambda x,y : x+y

    print(func1(1,2)

    print(func(1,2)

  • 相关阅读:
    [原创]java WEB学习笔记26:MVC案例完整实践(part 7)---修改的设计和实现
    [原创]java WEB学习笔记25:MVC案例完整实践(part 6)---新增操作的设计与实现
    [原创]java WEB学习笔记24:MVC案例完整实践(part 5)---删除操作的设计与实现
    [原创]java WEB学习笔记23:MVC案例完整实践(part 4)---模糊查询的设计与实现
    Tapestry IoC Configuration
    Tapestry IoC Decorator
    Tapestry IoC Service
    Tapestry-Again
    mysql error nr.1045 解决方法
    Bootstrap学习 导航
  • 原文地址:https://www.cnblogs.com/fengkun125/p/9210589.html
Copyright © 2011-2022 走看看