第十章:Python の 网络编程进阶

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十章:Python の 网络编程进阶相关的知识,希望对你有一定的参考价值。

本課主題

  • Python中的作用域补充
  • socketserver 源码
  • 本周作业

 

Python中的作用域补充

  1. Python世界里沒有块级作用域的在 Java/C+ 世界里没法打印 name。
    技术分享
    # 在 Java/C+ 世界里没法打印 name
    # 但在 Python/ JavaScript 世界里可以打印 name
    >>> if 1 == 1:
    ...     name = Janice
    ... 
    >>> print(name)
    Janice
    Python中无块级作用域(小知识点一)
    技术分享
    >>> for i in range(10):
    ...    name = i
    ... 
    >>> print(name)
    9
    Python中无块级作用域(小知识点二)
  2. 但在 Python/ JavaScript 世界里可以打印 name。在 Python 中是以函数作为作用域。
    技术分享
    >>> del name
    >>> def func():
    ...     name = Janice
    ... 
    >>> print(name)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name name is not defined
    Python 中是以函数作为作用域(小知识点三)
  3. Python是有作用域链条,对于作用域来说,在函数没有执行之前,它的作用域已经确定啦,作用域链也已经确定啦
    技术分享
    >>> name = alex
    
    # 这是 f1()是作用域,它是一个内部的作用域
    >>> def f1():
    ...     print(name)
    ... 
    
    # 这是 f2()是作用域
    >>> def f2():
    ...     name = eric
    ...     f1()
    ... 
    
    >>> f2()
    alex
    Python是有作用域链条(小知识点四)
    技术分享
    >>> name = alex
    
    # 这是 f1()是作用域,它是一个内部的作用域
    >>> def f1():
    ...     print(name)
    ... 
    
    # 这是 f2()是作用域
    >>> def f2():
    ...     name = eric
    ...     return f1
    ... 
    
    >>> ret = f2()
    >>> ret() # 这相当于运行 f1()
    alex
    Python是有作用域链条(小知识点五)
  4. For 循环,然后把每一个元素都加1,最后生成一个列表
    技术分享
    # 它会执行一个 For 循环,然后把每一个元素都加1,最后生成一个列表
    
    li = [x+1 for x in range(10) if x > 6]
    print(li)
    Python lambda + for 循环(小知识点六)
    技术分享
    >>> li2 = [lambda :x for x in range(10)]
    >>> ret = li2[0]()
    >>> print(ret)
    9
    Python lambda + for 循环(小知识点七)
    技术分享
    >>> li = []
    >>> for i in range(10):
    ...     def f1(x=i):
    ...        return x
    ...     
    ...     li.append(f1)
    ... 
    >>> print(li[0]())
    0
    >>> print(li[1]())
    1
    >>> print(li[2]())
    2
    Python lambda + for 循环(小知识点八)

      

socketserver 源码

用到了IO多路復用

多线程、多進層、協程 

 

 

 

本周作业

 

 

 

day10作业

 

參考資料

银角大王:Python之路【第七篇】:线程、进程和协程

金角大王:

 

以上是关于第十章:Python の 网络编程进阶的主要内容,如果未能解决你的问题,请参考以下文章

第十三章:Python の 网络编程进阶

第十二章:Python の 网络编程进阶

Python 编程快速上手 让繁琐工作自动化-第十章实践项目 10.8 调试硬币抛掷

Python入门到精通精品第十章 - 爬虫

父与子的编程之旅第十章学习

Python编程:从入门到实践——作业——第十章(文件和异常)