当前位置: 首页 > news >正文

网站建设置顶找个做游戏的视频网站

网站建设置顶,找个做游戏的视频网站,网站开发有什么职位,南昌电商网站设计文章目录 python高级基础闭包修饰器单例模式跟工厂模式工厂模式单例模式 多线程多进程创建websocket服务端手写客户端 python高级基础 闭包 简单解释一下闭包就是可以在内部访问外部函数的变量#xff0c;因为如果声明全局变量#xff0c;那在后面就有可能会修改 在闭包中的… 文章目录 python高级基础闭包修饰器单例模式跟工厂模式工厂模式单例模式 多线程多进程创建websocket服务端手写客户端 python高级基础 闭包 简单解释一下闭包就是可以在内部访问外部函数的变量因为如果声明全局变量那在后面就有可能会修改 在闭包中的内部函数如果要修改外部变量就要借助nonlocal关键字 def outer(num1):def inner(num2):nonlocal num1num1num2print(num1,num2)return inner fnouter(10) fn(10) # 20 fn(10) # 30修饰器 闭包修饰器语法 def outer(fn):def inner():print(我睡觉了)fn()print(醒了)return innerdef sleep():import randomimport timeprint(睡眠中。。。)time.sleep(random.randint(1,5))fn1outer(sleep) fn1()注意看加粗的两个地方是语法糖 实际原理还是用的是闭包 单例模式跟工厂模式 工厂模式 优点创建出来的每个对象都是独立的地址 缺点部分属性不一致但是都是独立的内存消耗内存性能 class Person:pass class Student(Person):pass class Worker(Person):pass class Teacher(Person):passclass PersonFac:def get_person(self,type):if(types):return Student()elif(typew):return Worker()else:return Teacher()pfPersonFac() workerpf.get_person(w) stupf.get_person(s) teacherpf.get_person(t)print(worker,stu,teacher)单例模式 实例化类然后在这个单例类上面进行添加删除 # class Stu: # pass # # t1Stu() # t2Stu() # print(id(t1)) # 1755386051920 # print(id(t2)) # 1755386051984# 单例写法 工作中常把创建类单独提出文件 然后引入 class Stu:passt1Stu()s1t1 s2t1 print(id(s1)) # 1790597823824 print(id(s2)) # 1790597823824多线程多进程 以下代码是单线程执行最终输出结果是一直执行sing方法因为是无限循环的 import timedef sing():while True:print(我在唱歌。。。)time.sleep(1)def dance():while True:print(我在跳舞。。。)time.sleep(1)if __name____main__:sing()dance()def sing(msg):while True:print(msg)time.sleep(1)def dance(msg):while True:print(msg)time.sleep(1)if __name____main__:singThreadthreading.Thread(targetsing,args(我要唱歌,)) # 使用Thread方法开启线程 参数要一一对应不然就会跑到第一个参数所以这边使用具名参数danceThreadthreading.Thread(targetdance,kwargs{msg:我在跳舞})singThread.start() # 线程启动danceThread.start()这里面2个注意点 以元祖形式传参一个参数别忘了逗号以字典形式传参参数要与方法参数一一对应不然会报错参数名也不能变 创建websocket 服务端 import socket # 创建socket对象 socket_serversocket.socket() # 绑定ip地址和端口 socket_server.bind((localhost,8888))# 千万注意这里的传参是元组 # 监听端口 socket_server.listen(1) # listen接收一个整数传参数表示接收的链接数量# 等待客户端链接 # result:tuplesocket_server.accept() # connresult[0] # 客户端和服务端的链接对象 # addressresult[1] # 客户端的地址信息 # 简写 conn,address socket_server.accept() # 返回的是二元元祖连接对象客户端地址信息 # 此方法是阻塞的 accept 如果没有链接下面的代码不执行print(f接收到了{address}) # 无线循环发消息 最终根据最后逻辑进行跳出自行解决 while True:data:strconn.recv(1024).decode(GBK)print(f客户顿发来的信息是{data})msginput(发送信息).encode(GBK)conn.send(msg)#关闭链接 conn.close() socket_server.close() 如果报这种错说明你的数据不是utf-8的格式就可以打印出信息进行转换对应的格式 这种是GBK格式自行百度 最终实现的效果 手写客户端 import socket # 创建socket对象 socket_clientsocket.socket() # 绑定ip地址和端口 socket_client.connect((localhost,9999)) while True:msginput(请输入)socket_client.send(msg.encode(UTF-8)) # 输入信息转换recv_datasocket_client.recv(1024) # recv缓冲区1024即可 单线程阻塞print(f服务端返回的信息四{recv_data.decode(UTF-8)}) socket_client.close()
http://www.hkea.cn/news/14406142/

相关文章:

  • 设计师必去十大网站找人 做网站 一般注意
  • 以营销为导向的网站建设wordpress广告公司模板
  • 怎么更改网站备案信息网页制作工具中文版
  • 电影网站排名怎么做比较好的建立站点
  • 徐州网络建站模板传奇三端互通新开服网站
  • 装修网站平台排行榜软件开发接单网站
  • 免费照片的网站模板免费下载建筑人才评价网
  • 做网站行业上海市建设工程咨询网
  • 关于做网站公司周年大促销免费汽车租赁网站模板
  • 山东省建设机械协会网站wordpress网站会员太多
  • 搜狗提交网站入口自己做的网站加载慢的原因
  • 住房城乡建设部执业资格注册中心网站备案 个人网站
  • 做现金贷网站的公司彩钢做网站能赚钱吗
  • 建网站怎么年赚贾汪区住房和城乡建设局网站
  • 做网站用笔记本做服务器吗在萍乡谁可以做网站
  • iis新建网站不能访问绿色科技网站建设
  • 宁波网站seo花店网站建设课程设计
  • 自己怎么1做网站河南省住房和建设厅网站首页
  • 织梦添加网站音乐网站支付方案的设计
  • 外贸电商网站模板一个app能卖多少钱
  • 坪山企业网站建设免费高清网站在线观看
  • 石家庄住建局网站ps切片做网站
  • 泰州网站建设外包公司网站开发需要多少钱
  • dw网站怎么做背景图wordpress 数据
  • 长春给企业做网站的公司怎样编写app软件
  • 龙岗在线网站制作app开发多少钱
  • 香橼做空机构网站wordpress shopy主题
  • 网站怎么写网络推广费用多少
  • 网站建设运维自查问题清单国内做钢铁的网站
  • 汕头有哪些需要建网站的公司医院网站建设的要求