day7回顾

静态方法:

    与类无关,不能访问类里的任何属性和方法

类方法:

    只能访问类变量

属性@property

    把一个方法变成一个静态属性

反射

    getattr(obj,str)

  setattr(obj,str,func)

    hasattr(obj,str)

    delattr(obj,str)

异常:自定义异常

raise:抓取异常

断言:

assert type(obj.name) is int

print('ddddd')

print(obj.name / 2)     断言:进行条件判断

断言:接下来程序的执行依赖于上面的判断。

socket

    tcp/ip

  udp       

    把所有底层网络协议进行封装,只有send,recv()两个方法,不同的是收发的协议不同而已,有些收发视频,文件,音频等等。

socket服务端

    server = socket.socket()   #生命一个socket协议

  server.bind((localhost,9999))   #绑定监听端口

  server.listen()    #等待链接进来

  conn,addr = server.accept()   #阻塞

  data = conn.recv(length)   #接收数据,recv默认是阻塞的

    '''服务器像百度那样,这里会有算法处理,就是处理接收到的消息,在搜索引擎中查找结果,把查找的结果返回'''

  conn.send(data)   #接收消息之后进行发送消息

    服务器端不能接收空的数据,接收空数据会陷入死循环,因此要进行判断。

socket客户端:

    client = socket.socket()    #生成一个socket()实例

  client.connect((localhost,port))  #连接一个IP和端口号,元组形式

  client.send(data)   #发送消息

  client.recv()       #接收消息 

posted @ 2017-08-15 23:07  (野生程序员)  阅读(134)  评论(0编辑  收藏  举报