内置函数一

  1. eval:执行字符串类型的代码

  2. exac:执行字符串社类型的代码

    eval与exac 禁止使用

  3. hash()作用就是区分可变数据类型与不可变数据类型

    # print(hash("123"))
    # print(hash(12))
    # print(hash(-1))
    # print(hash(-10))
    # print(hash((2,1))) # dic = {[1,2,3]:2}
    # print(hash([1,2,3]))
  4. help():查看帮助信息

  5. callable():查看对象是否可以调用,

    # def func():
    # print(1)
    # lst = [1,23,4,]
    # print(callable(lst)) # 查看对象是否可调用
  6. int():将字符串或数字转换成整型

  7. float():转换成浮点数

  8. complex():复数

  9. bin():十进制转二进制

  10. oct():十进制转八进制

  11. hex():十进制转十六进制

  12. divmod():计算除数与被除数结果,包含一个商和余数的元祖

  13. round():保留浮点数的小数位数,可以设定保留位数,默认保留整数

  14. pow():求x ** y次幂(三个参数的时候为x ** y的结果对第三个参数取余)

  15. bytes():用于不同编码之间的转换,建议使用encode

  16. ord():通过元素获取当前表位编码位置

  17. chr():通过表位序号查找对应的元素

  18. repr():查看数据的原生态(给程序员使用的)

  19. all():判断容器汇总的元素是否都为真,返回true

  20. any():判断容器中的元素有一个为真,就是True

匿名函数:一行函数lambda(必背)

def func():
print(123)
func()
  1. 语法:

    1. 函数名 = lambda 参数 :返回值

    2. 匿名函数的名字叫做lambda

    3. lambda是定义函数的关键字,相当于函数的def

    4. 只可以返回一个数据类型,

      面试题:
      print ([lambda : i for i in range(5)])
      (返回5个内存地址) print(lst[0]())---结果是4--因为循环最后一次输出是4,调用的全局最后一个就是4
      不加后面的小括号就是调用内存地址
      加了括号就是调用函数
      lst = [lambda X : X+1 for i in range(5)]
      print(lst[0](5))
      输出结果为:6,返回值是x+1
      tu = (lambda : i for i in range(3))
      print(tu[0]) #输出错误,不能索引
      print(tu)#输出内存地址
      print(next(tu)) #一个函数地址
      print(next(tu)()) #输出0
      print(next(tu)()) #输出1
      lst = [lambda : i for i in range(3)]
      print(lst[0]())
      tu = (lambda : i for i in range(3))
      print(next(tu)())
      输出结果:
      2
      0

      函数体中存放的是代码

      生成器中存放的也是代码

      ​ --原因:yield导致函数和生成器的执行结果不一致

      lst = [lambd x:x+5  for i in range(2)]
      print([i(2) for i in lst]) 解开顺序:
      lst = []
      for i in range (2):
      lst.append(lambda x :x+5)
      new_list
      for i in lst:
      print(i) #两个函数的内存地址
      new_list.append(i(2))
      print(new_list) #输出列表【7,7】 输出结果:【7,7】 lst = (lambda x:x+5 for i in range(2))
      print([i(2) for i in lst]) 输出结果:【7,7】 lst = (lambda x:x*i for i in range(2))
      print([i(2) for i in lst]) #【0,2】
  2. lambda == def == 关键字

    1. lambfa x: x

      • x:是普通函数的形参(位置,默认),可以写任意多个,也可以不写
      • :后边是普通函数的返回值,必须写,没有默认,必须要有返回值,只能写一个数据类型

内置函数二(全记住)

内置函数

  1. 两个字典合并成一个:

    1. update--- dic2.update(dic1)
    2. 打散:-- print(dict( ** dic1, ** dic2))
    3. print(dict([(1,2),(3,3)]))---括号里面的数字多一个少一个都不行,列表进行迭代,元祖也可以
    4. dict( ** dict1, ** dict2)
  2. set():将可迭代对象转换成元祖

  3. sep() : 每一个元素之间的分割的方法

    print(1,2,3,sep = "|")
    输出结果:1|2|3
  4. end:print执行完后的结束语句,默认\n

    print(1,2,3,end = "")
    print()
    输出结果:全部在一行
  5. print():屏幕输出

    • flush -- 刷新
  6. file:文件句柄,默认显示到屏幕

    print (1,2,3,4,5,file = open ("test","w",encoding="utf-8"))
  7. sum() -- 求和,必须是可迭代对象,对象中的元素必须为整型,字符串类型不能使用

    print (sum ([1,2,3,1]))
    print (sum ([1,2,3,1],100) #100是起始值,就是从100开始进行取和,指定开始位置的值
  8. abs() : 返回绝对值--转换成正数,不管你是不是负数

  9. dir() : 查看当前对象具有什么方法

  10. zip():拉链,当可迭代对象的长度不一致时,选择最短的进行合并,可以是多个

    面试题:
    list1 =[1,2,3,4]
    lst2 = ["alex","wusir","meet"]
    print(list(zip(lst1,lst2))) 输出结果:[(1,"alex"),(2,"wusir"),(3,"meet")] print(dict(zip(lst1,lst2))) #返回一个字典
    输出结果:{1:"alex",2:"wusir",3:"meet"}
  11. format(): 格式转换

    1. 对齐方式

      print(format("alex",">20"))	#右对齐
      print(format("alex","<20")) #左对齐
      print(format("alex","^20")) #居中
    2. 进制转换

      print(format(10,"b"))		#十进制转二进制
      print(format(10,"08b")) #不够就补0
      print (format(10,"08o"))		#oct,八进制
      print (format(10,"08x")) #hex,十六进制
      print(format(0b1010,"d"))	#二进制转十进制
  12. reversed() : 将一个序列进行翻转,返回翻转序列的迭代器

    l = reversed('你好')  # l 获取到的是一个生成器
    print(list(l))
    ret = reversed([1, 4, 3, 7, 9])
    print(list(ret)) # [9, 7, 3, 4, 1]

最新文章

  1. [sourceTree]这是一个无效的源路径
  2. 习课省市区的三级联动(cxselect的使用)
  3. BZOJ 1797 最小割
  4. 中国用户mac上快速安装nodejs
  5. xml操作
  6. 让CALayer的shadowPath跟随bounds一起做动画改变-b
  7. SQL常用命令浅析
  8. Class org.apache.struts2.json.JSONWriter can not access a member of
  9. css3字阴影text-shadow
  10. 五种实用DOM方法总结
  11. 有趣的keil MDK细节(转)
  12. node.js下mongoose简单操作实例
  13. Windows上安装配置SSH教程(6)——综合应用:在Windows上实现SSH远程登陆与文件传输
  14. ROS-十步完成ROS-indigo安装
  15. Asp.Net MVC+EF+三层架构
  16. linux php5.6 安装扩展 memcached
  17. MySQL(5)---锁
  18. python的出生
  19. 微信小程序echart 折线图legend不显示的问题
  20. tp5生成小程序推广二维码

热门文章

  1. LOJ #2733 [JOI2016春季合宿]Sandwiches (DP)
  2. JavaWeb-RESTful(一)_RESTful初认识
  3. 关于Array.reduce的理解与拓展
  4. pycharm创建.py文件时,自动添加头文件注释
  5. 调用远程linux服务器shell脚本
  6. Mac 下 Android Studio 连 夜神模拟器 调试
  7. 设计模式--观察者模式--python
  8. n个骰子可能的点数和
  9. 集成学习之Adaboost算法原理
  10. android手机使用Fiddler