day10 知识点
上节回顾 socket 1、导入模块 2、创建socket 3、 字节 send sendall 10 = send('abcdefg') sendall: while True: 10 = send('abcdefg') 10 = send('abcdefg') recv(20148) // 上传文件时,最多接受2048个字节 粘包: ack socketserver 1、自定义类 2、继承socketserver.BaseRequestHandeler 3、运行handle 4、调用server = socketserver.ThreadingTCPServer(('127.0.0.1', 8009), MyServer) 5、运行server_server_forever() 作业回顾: 编码 utf-8 3个字节 gbk 2个字节 接收: subprocess > win > gbk编码的字节 断点续传: 文件: a,追加 w,清空写 文件指针: seek(num) 知识点: 作用域 python 中无块级作用域 if 1 == 1: name = 'rain' print(name) # 可以打印(原因,python无块级作用域) python 中以函数为作用域 def func(): name = 'rain' return name func() print(name) # NameError: name 'name' is not defined python 作用域链,由内向外找 函数未执行前,作用域已经定义 python的作用域在执行之前已经确定 name = 'rain' def f1(): print(name) def f2(): name = 'sunny' return f1 f1() # rain py27多继承、py35多继承 python27分类 新式类 继承(object) 经典类 不继承(object) python35 新式类 默认继承(object)
作用域
# 作用域 # python中无块级作用域 if 1 == 1: name = '123' print(name) # python中以函数为作用域 def func(): name = 'rain' return name func() print(name) """ Traceback (most recent call last): File "E:/s13/day10/test.py", line 16, in <module> print(name) NameError: name 'name' is not defined """
name = 'rain'
def f1():
print(name)
def f2():
name = 'sunny'
return f1
f1()
知识点: 作用域 python 中无块级作用域 if 1 == 1: name = 'rain' print(name) # 可以打印(原因,python无块级作用域) python 中以函数为作用域 def func(): name = 'rain' return name func() print(name) # NameError: name 'name' is not defined python 作用域链,由内向外找 函数未执行前,作用域已经定义 python的作用域在执行之前已经确定 name = 'rain' def f1(): print(name) def f2(): name = 'sunny' return f1 f1() # rain
lambda知识点
li = [lambda :x for x in range(10)] res = li[0]() print(res)
# 原型 li = [] for i in range(5): def f1(): return i li.append(f1) a = li[2]() print(a) li = [] for i in range(5): def f1(x=i): return x li.append(f1) print(li[0]()) # 0 print(li[1]()) # 1 print(li[2]()) # 2
py27多继承、py35多继承
python27分类
新式类
继承(object)
经典类
不继承(object)
python35
新式类
默认继承(object)