首页 > 代码库 > 第十章:Python の 网络编程进阶
第十章:Python の 网络编程进阶
本課主題
- Python中的作用域补充
- socketserver 源码
- 本周作业
Python中的作用域补充
- Python世界里沒有块级作用域的:在 Java/C+ 世界里没法打印 name。Python中无块级作用域(小知识点一)
# 在 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/ JavaScript 世界里可以打印 name。在 Python 中是以函数作为作用域。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是有作用域链条,对于作用域来说,在函数没有执行之前,它的作用域已经确定啦,作用域链也已经确定啦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
- For 循环,然后把每一个元素都加1,最后生成一个列表Python lambda + for 循环(小知识点六)
# 它会执行一个 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
socketserver 源码
用到了IO多路復用
多线程、多進層、協程
本周作业
day10作业
參考資料
银角大王:Python之路【第七篇】:线程、进程和协程
金角大王:
第十章:Python の 网络编程进阶
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。