回顾模块3
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 回顾模块3 2 3 4 静态方法 5 与类无关,不能访问类里的任何属性和方法 6 类方法 7 只能访问类变量 8 属性@property 9 把一个方法变成一个静态属性, 10 flight.status 11 @status.setter 12 flight.status = 3 13 @status.delter 14 反射 15 getattr(obj,str) 16 setattr(obj,str,val) 17 hasattr(obj,str) 18 delattr(obj,str) 19 20 21 __new__ 22 23 class Foo(object): 24 def __call__() 25 print 'call' 26 27 Foo()()#执行call方法 28 29 30 __metaclass__ 用来定义这个类以怎样的形式被创建 31 32 33 try 34 ... 35 36 except (ValueError,KeyError) as e : 37 38 except Exception as e: #放在异常处理的最后面。 39 40 #断言 #assert 41 assert type(obj.name) is int 42 43 if type(obj.name)is not int : 44 exit('must be in') 45 46 47 48 else: #没有发生异常,就执行 49 50 finally, #无论如何都执行 51 52 __call__ 53 54 55 56 57 58 59 60 socket 61 62 tcp/ip send,recv 63 64 udp 65 66 family address 67 AF.INET IPV4 68 AF.INET6 IPV6 69 AF.UNIX local本地 70 71 socket protocol type 72 sock.SOCK_STREAM tcp/ip 73 socket.SOCK_DGRAM 数据报式 socket , for UDP 74 75 #服务端 76 77 server = socket.socket(AF.INET,sock.SOCK_STREAM) #IPV4 78 79 server.bind(localhost,9999) 80 81 server.listen() 82 83 84 while True: 85 conn,addr = server.accept() #阻塞(等待) 86 87 while True: 88 print('new conn',addr) 89 90 data = conn.recv(1024) #8192 官方最大值8K # recv默认是阻塞的 91 if not data: 92 break #客服端已断开, xonn.recv 收到的就都是空数据, 93 94 print (data) 95 96 conn.send(data.upper()) 97 98 99 100 #客户端 101 102 103 client 104 client =socket.socket() 105 client.connect(serverip,9999) 106 client.send(data) 107 client.send(data) 108 client.recv(data)
![](https://files.cnblogs.com/files/ujq3/wxzf.gif)
您的资助是我最大的动力!
金额随意,欢迎来赏!
![](https://files.cnblogs.com/files/ujq3/zfbzf.gif)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的
因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【颜言】!