文章分类 -  python基础

摘要:验证GIL的存在 from threading import Thread money =100 def task(): global money money -=1 t_list = [] # 存储每个线程对象 for i in range(100): t= Thread(target=task) 阅读全文
posted @ 2022-08-11 18:44 荀飞 阅读(38) 评论(0) 推荐(0) 编辑
摘要:互斥锁 互斥锁:就是将并发变成串行,虽然牺牲了程序的执行效率,但是保证了数据安全 代码演示 from multiprocessing import Lock mutex = Lock() mutex.acquire() # 抢锁 mutex.release() # 释放锁 强调:互斥锁只应该出现在多 阅读全文
posted @ 2022-08-10 21:57 荀飞 阅读(22) 评论(0) 推荐(0) 编辑
摘要:创建进程的多种方式 双击桌面程序图标 代码创建进程,需要掌握如下两种 方式1: def task(name): print(f'子进程{name}开始运行') time.sleep(2) print(f'子进程{name}运行结束') if __name__ == '__main__': p = P 阅读全文
posted @ 2022-08-09 16:58 荀飞 阅读(19) 评论(0) 推荐(0) 编辑
摘要:UDP协议 代码演示 # 服务端 import socket server = socket.socket(type=socket.SOCK_DGRAM) server.bind(('127.0.0.1',8080)) msg,addr=server.recvfrom(1024) print('ms 阅读全文
posted @ 2022-08-08 15:39 荀飞 阅读(49) 评论(0) 推荐(0) 编辑
摘要:传输层 PORT协议 TCP协议与UDP协议 ​ 规定了数据传输所遵循的规则 数据传输能够遵循的协议有很多,TCP和UDP是较为常见的两个 TCP协议(Transmission Control Protocol) 可靠的、面向连接的协议、传输效率低全双工通信、面向字节流 ​ 应用场景:Web浏览器、 阅读全文
posted @ 2022-08-05 20:57 荀飞 阅读(93) 评论(0) 推荐(0) 编辑
摘要:软件开发架构 软件开发架构的定义 软件开发架构就是我们在编写项目之前需要遵循的代码层面的规范(代码的流程,环节,步骤) 比如我们之前的ATM三层架构,选课系统的三层架构 软件开发架构的分类 1.软件开发架构可以分为:C/S架构 和B/S架构两种 C/S架构 C:Client(客户端) S:Serve 阅读全文
posted @ 2022-08-04 16:37 荀飞 阅读(160) 评论(0) 推荐(0) 编辑
摘要:设计模式 设计模式的定义 在IT行业有很多前辈针对固定的一些问题设计出的固定的解决套路,提升程序的性能 分类 设计模式大致有23种,可以分为如下三类: 创建型:工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式 结构型:适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式 阅读全文
posted @ 2022-08-01 15:27 荀飞 阅读(29) 评论(0) 推荐(0) 编辑
摘要:反射补充 反射实战案例 加载配置文件纯大写的配置 import settings new_dict = {} """ settings的内容为如下: NAME = 'xunfei' GENDER ='male' age = 18 """ for i in dir(settings): # dir() 阅读全文
posted @ 2022-07-29 19:34 荀飞 阅读(28) 评论(0) 推荐(0) 编辑
摘要:派生方法 实战演练(重要) import datetime import json d = { 't1':datetime.datetime.today(), 't2':datetime.date.today() } res = json.dumps(d) print(res) # 报异常 Type 阅读全文
posted @ 2022-07-28 15:54 荀飞 阅读(29) 评论(0) 推荐(0) 编辑
摘要:对象独有的功能 针对对象独有的方法,我们无法真正的实现 如果在全局则不是独有的 如果在类中则是公共的 python解释器针对上诉问题添加了一个非常牛的特性:定义在类中的函数默认是绑定给对象的(相当于是对象独有的办法) class Person: h_type = '人类' def __init__( 阅读全文
posted @ 2022-07-27 16:21 荀飞 阅读(38) 评论(0) 推荐(0) 编辑
摘要:面向对象前 问题 在未学习面向对象前,如果我们要解决创建对象的问题 如何完成人狗大战这个简单的小游戏 解决 以下我们会一步一步慢慢推导出如何用面向对象的思维去解决这个需求 首先需要创造出人和狗 推导步骤1: 直接手写字典模拟出人和狗 # 人 person = { 'name':'jason', 'p 阅读全文
posted @ 2022-07-26 16:24 荀飞 阅读(52) 评论(0) 推荐(0) 编辑
摘要:openpyxl模块补充 openpyxl模块读数据 from openpyxl import load_workbook wb = load_workbook(r'红牛分公司信息表.xlsx',data_only=True) # 查看excel文件中所有的工作簿名称 print(wb.sheetn 阅读全文
posted @ 2022-07-21 17:40 荀飞 阅读(71) 评论(0) 推荐(0) 编辑
摘要:re模块 模块详解 在python中如果想使用正则表达式,re模块是选择之一 """ findall 通过正则表达式筛选出文本中所有符合条件的数据 """ res = re.findall('a','jason oscar aaa') print(res) # ['a', 'a', 'a', 'a' 阅读全文
posted @ 2022-07-20 15:43 荀飞 阅读(44) 评论(0) 推荐(0) 编辑
摘要:正则表达式 前戏 """ 该知识点不属于任何一门编程语言,是一个独立的学科 主要用于数据的查找与筛选 """ """ 需求:编写代码校验用户输入的手机号是否合法 常见开头:13,15,17,18,19 """ phone_num = input('请输入您的手机号>>>:').strip() if 阅读全文
posted @ 2022-07-19 14:11 荀飞 阅读(36) 评论(0) 推荐(0) 编辑
摘要:前言 py文件名尽量不要与模块名冲突(内置、第三方) datetime模块 常见内置函数 # 与time模块相似,都是与时间操作相关的模块 import datetime 'datetime 年月日 时分秒' res = datetime.datetime.today() print(res) pr 阅读全文
posted @ 2022-07-15 22:12 荀飞 阅读(19) 评论(0) 推荐(0) 编辑
摘要:绝对导入与相对导入 绝对导入 # 其实就是以执行文件所在的sys.path为起始路径,往下一层层查找 from ccc import b from ccc.ddd.eee import b """ 1. 由于pycharm会自动将项目根目录添加到sys.path中所以查找模块肯定不报错的方法就是从根 阅读全文
posted @ 2022-07-14 15:12 荀飞 阅读(32) 评论(0) 推荐(0) 编辑
摘要:迭代取值与索引取值的差异 索引取值 l1 = [11,22,33,44,55] # 索引取值 print(l1[0]) print(l1[1]) print(l1[2]) """ 优势:可以随意反复的获取任意数据值 劣势:针对无序的容易类型无法取值 """ 迭代取值 l1 = [11,22,33,4 阅读全文
posted @ 2022-07-13 17:26 荀飞 阅读(45) 评论(0) 推荐(0) 编辑
摘要:异常捕获 # 1.如何理解异常 程序在运行的过程中如果出现了异常会导致整个程序的结束 异常就是我们口中的'bug' # 2.异常的结构 ''' Traceback (most recent call last): File "/Users/xunfei/PycharmProjects/day21/异 阅读全文
posted @ 2022-07-12 15:52 荀飞 阅读(61) 评论(0) 推荐(0) 编辑
摘要:常见内置函数 """ 内置函数:提前定义好的,直接使用即可,很多内置函数的功能都非常好用 """ # 1. abs() 求绝对值 print(abs(-100)) # 100 # 2.all()与any() 判断容器类型中的数据值对应的布尔值是否为True # 2.1 all() 所有的数据值都是T 阅读全文
posted @ 2022-07-11 16:29 荀飞 阅读(100) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示