摘要:
1 多继承的区别 两种调用父类方法的格式 01:父类名.父类方法(self) 02:super().父类方法() 多继承的情况下: 01会多次调用父类方法 02只调用一次父类方法 多继承时,使用super方法,对父类的传参数,必须把参数全部传递, 单继承时,使用super方法,只能传父类所需的方法 阅读全文
摘要:
并发:交替处理多个任务的能力并行:同时处理多个任务的能力 1. GIL 全局解释器锁作用:保证同一时刻只有一个线程使用cpu效果:一个进程中只有一个gil,多个线程需要去抢夺GIl,没有办法真正的使用多个cpu。注意:GIL存在于cpyhton解释器中的 多线程使用情况: 1 科学计算 单线程比较快 阅读全文
摘要:
匹配单个字符# . 匹配任意1个字符(除了\n)# [ ] 匹配[ ]中列举的字符# \d 匹配数字,即0-9# \D 匹配非数字,即不是数字# \s 匹配空白,即 空格,tab键# \S 匹配非空白# \w 匹配单词字符,即a-z、A-Z、0-9、_# \W 匹配非单词字符# 导入模块import 阅读全文
摘要:
1.进程间通信-Queue创建消息队列queue = multiprocessing.Queue(5)在消息队列里写数据queue.put(x)从消息队列里读数据queue.get()实例: 进程池pool创建进程池import multiprocessingpool = multiprocessi 阅读全文
摘要:
解决线程间资源争夺问题的另一种方法:互斥锁 死锁:当互斥锁使用不当时有可能产生死锁例: 多进程完成多任务(进程的创建与线程类似) 多线程的使用格式 查看当前进程:multiprocessing.current_process()查看当前进程ID:multiprocessing.current_pro 阅读全文
摘要:
并发:任务数多于CPU核数时并行:任务数小于CPU核数时 线程:使用threading模块使用线程import threading 线程名 = threading.Thread(target = 函数名)线程名.start() 主线程会等待所有子线程结束后才结束 如果需求时让主线程不等待某个子线程结 阅读全文
摘要:
tcp客户端创建流程 tcp服务端创建流程 tcp文件下载,本质就是客户端向服务端发送要下载的文件名,服务端收到数据后,读取对应文件并将读取内容发送给客户端,同时客户端建立对应名字的文件写入接受内容 文件的另一种打开方式: 阅读全文
摘要:
创建socket 协议:ipv4或ipv6类型:udp或tcp 创建一个tcp socket(tcp套接字) 创建一个udp socket(udo套接字) udp发送数据 udp接受数据 udp绑定端口 阅读全文
摘要:
mv:重命名、移动-f 禁止交互式操作,如果覆盖也不提示-i 交互式操作,给出覆盖提示-v 显示移动进度重命名格式:mv 源文件名或者源目录名 新文件名火新目录名移动格式:mv 原文件名或源目录名 指定目录名[选项] 重定向:将本应该在终端显示的信息输入到文件中> :会覆盖之前的内容>>:追加新内容 阅读全文