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()

客户端

时间: 2024-09-29 19:42:59

PythonDay7的相关文章

从零开始学Python-day7

python-Day7 学习要有定位,明确目标地去学习.希望自己能坚持下去,并有所收获---leaves(ps月初有事耽误计划了,进度落后计划蛮多了,算了.不多想,复习,学会才是硬道理,坚持fighting!) python06 -- python的pickle模块以及mysql数据库初始用 一.python的pickle模块 1.1 pickle模块的作用 pickle是为了序列化/反序列化数据的,可以把数据持久化存储.eg:你有些数据想下次运行程序的时候直接使用,或者想把数据传给网络上的其他

python-day7 python内置模块 面向对象

1.configparser模块 configparser用于处理特定格式的文件,其本质上是利用open来操作文件 # 注释1 ; 注释2 [section1] # 节点 k1 = v1 # 值 k2:v2 # 值 [section2] # 节点 k1 = v1 # 值 指定格式 1.2.获取所有节点 import configparser config = configparser.ConfigParser() config.read('xxxooo', encoding='utf-8') r

Python-Day7 面向对象进阶/异常处理/Socket

一.面向对象高级语法部分 1.静态方法     通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量,但静态方法是不可以访问实例变量或类变量的,一个不能访问实例变量和类变量的方法,其实相当于跟类本身已经没什么关系了,它与类唯一的关联就是需要通过类名来调用这个方法. class Dog(object): def __init__(self,name): self

人生苦短,我用python-- Day7

目录 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 静态方法