首页 > 代码库 > PythonDay7

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 socketserver=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 socketclient=socket.socket()#声明协议类型同时生成socket对象链接client.connect((localhost,9999))client.send("".encode("utf-8"))#发送请求data=http://www.mamicode.com/client.recv(1024)#接收返回信息print(data.decode())client.close()

 

客户端

PythonDay7