Python
文章平均质量分 79
python进阶,多任务,面向对象开发(OOP),web 框架
长星照耀十三州府_
中国科学技术大学研究生
展开
-
Python日积月累_7_使用协程实现多任务
协程1. 借助生成器实现两个函数的并发# 借助生成器实现 两个子函数的并发import timedef task1(): while True: print("---1---") time.sleep(1) yielddef task2(): while True: print("---2---") time.sleep(1) yielddef main(): t1 =原创 2021-12-10 22:24:45 · 497 阅读 · 0 评论 -
Python日积月累_1_创建UDP聊天室
文章目录IP地址和端口号端口号socket的创建创建udp_socket,并收发数据UDP socket发送数据的完整流程注:本系列的环境是VScode+WSL,使用说明可参考官方文档和wsl配置anaconda的步骤。我们在这一章的目的是建立一个UDP套接字,并尝试发送数据,首先了解一下TCP/IP协议族的基本框架:IP地址和端口号IP地址的目的是在网络层标记设备,端口号是在传输层标记应用程序/进程。Linux中可通过ifconfig查看IP地址和端口号,Windows中通过ipconfig查原创 2021-12-06 18:42:52 · 2347 阅读 · 0 评论 -
Python日积月累_2_创建TCP文件下载器
文章目录TCP简介UDP和TCP的区别TCP客户端TCP服务器端案例:基于TCP的文件下载器client端server端TCP补充TCP简介UDP的全称是User Datagram Protocol(用户数据报协议),只提供面向无连接的通信服务,而且也没有流量控制、重发纠错等机制,因此只能适用于包总量比较少的服务,例如DNS、SNMP,或者多媒体即时通信、LAN内通信和广播通信等对于信息完整性要求不高的场景。TCP的全称是传输控制协议,不仅是面向连接的,防止流量的浪费,而且实现了数据传输的各种控制,例原创 2021-12-06 20:02:52 · 199 阅读 · 0 评论 -
Python日积月累_3_多线程
文章目录多线程的实现方案1. 调用threading.Thread()2. 调用实例对象多线程之间共享全局变量python子函数中是否需要声明全局变量?实验:python中多线程共享全局变量互斥锁和循环锁死锁和银行家算法Python实现多线程的方式是 时间片轮转+优先级调度多线程的实现方案1. 调用threading.Thread()示例代码:import threadingimport timedef dance(): for i in range(5): prin原创 2021-12-06 22:03:12 · 525 阅读 · 0 评论 -
Python日积月累_4_多任务UDP聊天器
结合上一讲的python多线程编程的思想和UDP聊天室的内容,编写代码实现基于UDP的多任务聊天室示例代码:import socket,threadingdef udp_recv(udp_socket): while True: recv_data,server = udp_socket.recvfrom(1024) print("接收到来自%s的信息:%s"%(server,recv_data.decode("utf-8")))def udp_send原创 2021-12-07 09:32:26 · 1723 阅读 · 0 评论 -
Python日积月累_5_多进程/文件夹拷贝器
文章目录多进程1. 回顾多线程2. 多进程的创建和维护3. 多进程的资源管理:写时拷贝Ubuntu中通过`ps`查看进程信息4. 多进程和多线程的区别5. 进程间的通信_队列(Queue)进程池多进程应用:文件夹拷贝器第一版:实现基本功能第二版:增加进度条多进程1. 回顾多线程多线程比较轻量,通过threading.Thread类管理线程,通过start方法开始线程;通过threading.Lock方法创建互斥锁避免资源冲突,通过acquire和release管理互斥锁;此外还有守护线程等特殊线程。原创 2021-12-07 15:31:17 · 149 阅读 · 0 评论 -
Python日积月累_6_迭代器+生成器
文章目录迭代器1. 可迭代对象2. 迭代器3. 动手写一个可迭代的类4. 封装到一个类中5. 迭代器的应用range和xrange使用迭代器生成斐波那契数列列表解析式生成器生成器的函数实现通过send方式启动生成器迭代器1. 可迭代对象from collections import Interable print(isinstance([11,22,33],Interable))如果要使一个对象是可迭代的,必须重写__iter__方法,这样才能通过Interable的检验,但是此时仍不能通过fo原创 2021-12-07 17:36:36 · 313 阅读 · 0 评论