• 内置函数以及闭包


    今日内容

    1. 匿名函数:一句话函数,比较简单的函数。

      1. 此函数不是没有名字,他有名字,他的名字就是你给其设置的变量。
      2. lambda是定义匿名函数的关键字,相当于函数的def。
      3. lambda后面直接加形参,形参加多少都可以,只要用逗号隔开就行了。
      4. 返回值在冒号之后设置,返回值和正常函数一样,可以是任意数据类型。
      5. 匿名函数不管多复杂,只能写一行,且逻辑结束后直接返回数据。
      def func(a,b):
          return a + b
      #构建匿名函数
      func1 = lambda a,b:a+b
      print(fun(1,2))
      
      

      ​ 接收一个可切片的数据,返回索引为0与2的对应的元素(元祖形成)。

      func2 = lambda a:(a[0],a[2])
      print(func([22,33,44,55]))#(22, 44)
      
      

      写匿名函数:接收两个int参数,将较大的数据返回。

      lambda a,b:a if a>b else b
      
      1. 内置函数

      python 提供了68个内置函数。
      eval 剥去字符串的外衣运算里面的代码,有返回值。
      s1 = '1+3'
      print(s1)
      print(eval(s1))
      s = '{"name":"alex"}'
      print(s,type(s))
      print(eval(s))
      
      exec 与eval几乎一样,代码流。
      msg = '''
      for i in range(10):
      	print(i)
      
      '''
      print(msg)
      exec(msg)
      
      callable 判断一个对象是否可被调用
      print(callable(s1))
      print(callable(func))
      
      int #浮点数取整
      print(int(3.6))
      
      float#浮点数
      print(type(3.6))
      
      complex#转化一个字符串或数为复数
      print(complex(1,2))#(1+2j)
      
      bin:将十进制转换成二进制返回。
      print(bin(100))
      oct:将十进制转化成八进制字符串返回。
      print(oct(10))
      hex:将十进制转化成十六进制字符串返回。
      print(hex(10))
      
      divmod 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元祖
      print(divmod(10,3))
      
      round 保留浮点数的小数位数
      print(round(3.1415926,2))#3.14
      
      pod:求x**y次幂。(三个参数为x**y的结果对z取余)
      print(pow(2,3))
      print(pow(2,3,3))#2**3%3
      
      bytes
      s1 = '太白'
      b = s1.encode('utf-8')
      print(b)
      b = bytes(s1,encoding='utf-8')
      print(b)
      
      ord:输入字符找到该字符编码的位置
      ascii unicode
      print(ord('a'))
      print(ord('中'))#20013 Unicode
      
      chr:输入位置数字找出其对应的字符
      print(chr(97))
      print(chr(20013))#unicode
      
      repr:返回一个对象的string形式(原形毕露)。***
      s1 = 'happe.豪'
      print(repr(s1))#'happe.豪'
      
      all:可迭代对象中,全是True才是True
      l1 = [1,2,'太白',True,[1,2,3],'']
      print(all(l1))
      
      any:可迭代对象中,有一个True就是True
       l1 = ['',(),'太白']
      print(any(l1))
      
      abs()返回数字的绝对值 ***
      prinnt(abs(-6))
      
      sum 对一个可迭代对象进行求和
      l1 = [i for i in range(10)]
      print(sum(l1))
      
      reversed 返回的是一个翻转的迭代器 ***
      l1 = [i for i in range(10)]
      l1.reverse()#列表方法
      print(l1)
      l1 = [i for i in range(10)]
      obj = reversed(l1)
      print(list(obj))
      
      zip 拉链方法 ***
      l1 = [1,2,3,4,5]
      tu1 = ('太白','b哥','德刚')
      s1 = 'abcd'
      obj = zip(l1,tu1,s1)
      print(list(obj))
      
      min max
      l1 = [33,2,3,54,7,-1,-9]
      print(min(l1))
      #以绝对值的方式取最小值
      print(min(l1,key(lambda a:abs(a))))
      凡是可以加key的:它都自动的将可迭代对象中的每个元素按照顺序传入key对应的函数中,已返回值比较大小
      dic = {'a': 3, 'b': 2, 'c': 1}
      print(min(dic,key=lambda a:dic[a]))
      
      sorted 排序函数
      l1 = [22,33,1,2,8,7,6,5]
      l2 = sorted(l1)
      print(l2)
      
      filter 相当列表推导式的筛选模式
      l1 = [2,3,4,5,6,7]
      ret = filter(lambda x:x>3,l1)#返回的是迭代器
      print(list(ret))
      
      reduce 对参数序列中元素进行累计
      
      

  • 相关阅读:
    Docker 第一篇 认识Docker 的作用好处
    AspNetCoreApi 跨域处理
    VS 2017 发布:由于构建错误,发布失败
    iTerm2 cheatsheet (from github)
    find命令:忽略一个目录或者多个目录
    git push throws error: RPC failed; result=22, HTTP code = 411的解决办法
    sourceTree 一款图形化GIT工具
    生产力工具之vimwiki 和 calendar
    source : not found 原因及解决办法
    亚马逊开放机器学习系统源代码:挑战谷歌TensorFlow
  • 原文地址:https://www.cnblogs.com/wang-xing-hao/p/10877959.html
Copyright © 2020-2023  润新知