1. 多任务并行:真的多任务并发:假的多任务2. 线程Python的 Thread模块是比较底层的模块,Python的 Threading模块 是对Thread做了一些包装,可以更加方便的被使用2.1 使用threading模块单线程执行 原文:https://www.cnblogs.com/douzujun/p/10468603.html
UDP:相当于写信,需要IP,端口,内容 然后一起发出。不安全,甚至可能丢或者被别人收走TPC:相当于打电话,连接时需要应答,超时后会验证,比较麻烦但是比较安全。虽然内容可能丢失,套接字是全双工的 UDP: 流程: 1.创建套接字 2.接受/发送数据 3.关闭套接字 发送数据 创建套接字: 概念:s = socket.socket(AddressFamily(协议IPV4,IPV6),Type(类型TCP,UDP)) 创建的是...
** day2** 单分支结构(if语句)、二分支结构(if-else) 多分支结构 if-elif-else语句、嵌套 for<循环变量>in<遍历结构>: (这里有缩进)<语句块> 其中: 循环变量:暂时储存被取出的元素,任意取名 遍历结构:字符串、range()函数、组合数据类型、文件等。 (序列比如:元组、列表等) 注意:range函数,相当于一个”迭代器“,表示执行的次数, 输出的次数是range内两个数的差, 比如range(3,5),执行5-3=2次代码。 #左闭右开[,...
高级特性 切片:前10个数,每两个取一个: L[:10:2]:[0, 2, 4, 6, 8] 可迭代对象的判断: isinstance(abc, Iterable) list变成索引-元素对:for i, value in enumerate([A, B, C]):print(i, value) 列表生成式:一行语句生成list:[x * x for x in range(1, 11)] 生成器:一边循环一边计算的机制,称为生成器:generator。 第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator:g = (x * x for x in range(...
面向对象编程 变量名类似__xxx__的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的,不是private变量,所以,不能用__name__、__score__这样的变量名。 有些时候,你会看到以一个下划线开头的实例变量名,比如_name,这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。 但是强烈建...
pid = os.fork() if pid == 0: print('I am child process (%s) and my parent is %s.' % (os.getpid(), os.getppid())) else: print('I (%s) just created a child process (%s).' % (os.getpid(), pid)) p = Process(target=run_proc, args=('test',)) print('Child process will start.') p.start() p.join() p = Pool(4) for i in range(5): p.apply_async(long_time_task, args=(i,)) print('Waiting for...