PythonDay7
本章知识:
1.反射
2socket网络编程
反射:
反射
hasattr,判断一个对象里是否有对应的字符串的方法映射
getattr 根据字符串去获取对象里对应的方法的内存地址
setattr 通过字符串设置属性
delattr 删除属性
class Dog(object): def __init__(self,name): self.name=name def eat(self): print("%s is eating"%self.name) d=Dog("A") choice = input(">>").strip() print(hasattr(d,choice))#查看方法有没有 print(getattr(d,choice)) getattr(d,choice)()#调用 if hasattr(d,choice): #delattr(d,choice) func=getattr(d,choice) func()
socket网络编程
python2可以发字节,字符串 python3只能发字节 socket工作模式 import socket#调用模块 socket.tcp/ip#定义协议 connect(a.ip,a,port)#连接 socket.send(hello)#发送信息 socket.recv() socket.close
服务端
import socket server=socket.socket() server.bind(('localhost',9999))#绑定要监听的端口 server.listen()#开始监听 print("我要开始等电话了") #conn代表客户端连接服务器所创建的一个实例 conn,addr=server.accept()#等电话打进啦 print("我打电话了") data=conn.recv(1024) print(data) conn.send(data.upper())#回复请求变成大写 server.close()
客户端
import socket client=socket.socket()#声明协议类型同时生成socket对象链接 client.connect(('localhost',9999)) client.send("我".encode("utf-8"))#发送请求 data=client.recv(1024)#接收返回信息 print(data.decode()) client.close()
客户端