您的位置:首页 > 其它

每日日报

2019-04-29 20:50 38 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_44739931/article/details/89682659

JoinableQueue

  • 可等待的连接

  • 特点

    比普通的进程队列功能增强,多了task_done与join方法
  • 用法

      创建

      jq = multiprocessing.JoinableQueue(容量)
    • 取数据时

      jq.get()
      jq.task_done()

      取出数据后一定要调一下task_done(),否则计数不减的话,join()无法感知

    • 等待连接

      jq.join()

      当队列中有数据时会阻塞,当队列中的数据计数为零时,会解阻塞

    进程池

    • 优点:提升效率,减少开劈进程与销毁进程的时间开销

    • 用法:

      创建对象

      进程池对象 = multiprocessing.Pool(池子的数量)
    • 两种执行方式

      同步

      r = 进程池.apply(函数名, args=(参数1,))

      可以让函数直接跑起来的,但是是同步的。

      返回值r 就是函数的返回值

    • 异步的

      r = 进程池.apply_async(函数名, args(参数1,))

      注,这个r只是一个对象,并且这种方式的调用,并不执行函数内部的代码

      如果希望执行

      r2 = r.get()

      通过get()方法,可以让异步的这种进程池对象运行起来。执行函数内部的代码。同时会获取返值.
      函数的定义

    函数的调用

    函数名的本质

    函数的返回值

    • 什么是返回值

      返回值就是一个函数运行结束后的返回结果
      可以通过一个变量来接收函数的返回值
      
      变量 = 函数名()
    • 函数没有return的时候

      它的返回值默认是

      None

      def show_num():
      n = 1
      n += 1
      
      n = show_num()
      print(n)
    • 函数有return的时候

      该函数return的是什么,返回值就是什么

      def show_num():
      return 3
      
      n = show_num()
      print(n)

    函数的多值传参

    ​ 位置传参

    ​ 关键词传参

    函数的执行顺序

    函数的嵌套调用

    闭包函数

    • 闭包写法的注意点

      函数嵌套式的
    • 内部的函数会调用外部函数的变量
    • 增加,外部函数outter会返回return内部函数的函数名inner
  • 闭包的代码

    def outter():
    n = 100
    def inner():
    print(n)
    return inner
  • 闭包的特点

      延长了外部函数的局部变量的生命周期,即n的生命周期被延长了

    装饰器

  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: