Python其它
Python其它
Mr.&
这个作者很懒,什么都没留下…
展开
-
基础
数据结构数据结构是计算机存储、组织数据的方式按照不同的角度,数据可分为逻辑结构和物理结构 其中逻辑结构是面向问题的, 而物理结构是面向计算机的, 它们的基本目标都是将数据及其逻辑关系存储到计算机内存中。物理结构顺序存储结构:把数据元素放在地址连续的存储单元中,数据间的逻辑关系和物理关系一致。如,数组。链式存储结构:数据元素的存储关系不能反映其逻辑关系。如,链表。逻辑结构集合结构:数据之间无联系线性结构:数据之间有联系树形结构:数据之间是树形联系图形结构:数据原创 2020-06-28 17:55:28 · 117 阅读 · 0 评论 -
反射
反射核心本质其实就是利用字符串的形式去对象(模块)中操作(查找/获取/删除/添加)成员,一种基于字符串的事件驱动!demo:random.randrange(10)module,cls = input('').split('/') # 输入为 random/randrange 参数均为字符串obj = _import_(module) # `_import_`为动态导入模块,根据输入的名称导入该模块func = getattr(obj,cls) # getattr原创 2020-06-28 17:55:10 · 112 阅读 · 0 评论 -
定时任务
定时任务一、time模块(阻塞)# 此方法有一个弊端,若在sleep期间过去了第30s,则不会提示from datetime import datetimeimport timedef timer(): while True: a = datetime.now().strftime("%S") if a == '30': # 每分钟的第30s执行 print('铃铃铃') print(datetime.原创 2020-06-28 17:54:52 · 3104 阅读 · 0 评论 -
datetime模块
时间与时间段相加:timedeltaa = datetime.timedelta(minutes=45) # 时间段为45分钟b = datetime.datetime.now() + a # timedelta(时间段),可以将目标时间加上时间段,算出时间结果print(b.strftime('%H:%M:%S')) # 结果时间时间与字符串相减,求得相隔时间段a = datetime.datetime.strptime('16:12:00','%H:%M:%S') # 将字符原创 2020-06-28 17:54:34 · 114 阅读 · 0 评论 -
Celery
Celery 是一款基于 python 的异步任务处理框架,用以实现分布式任务队列Celery组件worker (任务执行者),用来执行具体任务,可在多台服务器部署实现扩展,项目中我们使用 python 进行开发broker (中间人),用来实现任务调度、worker 管理等功能;支持 RabbitMQ、Redis、Zookeeper 等中间件,项目中我们使用 redis,RabbitMQ较难配置,但是队列效果比Redis好。backend 用来存储任务结果,项目中我们使用 redisapplic原创 2020-06-28 17:41:39 · 255 阅读 · 1 评论 -
上下文管理
拥有__enter__和__exit__ 属性的才可以被上下文管理a = open('a.txt','w')dir(a) # 此时a有__enter__ 和 __exit__ 属性,所以才可进行打开与关闭,即可进行下文管理with open('a.txt','w') as f: pass # 正确with open(1,'w') as f: # 错误,1不存在__enter__ 和 __exit__ pass...原创 2020-06-28 17:55:38 · 182 阅读 · 0 评论 -
类和方法
Class类类在创建时会被执行# 此时 test 会被输出class Demo(object): print('test') # 就算不调用类依然会输出 def __init__(self): pass魔法方法_new_ 一般在实例化类时使用# __new__ 方法必须返回类的引用class Demo(object): def __new__(cls): .... return object.__new__(c原创 2020-06-28 17:32:55 · 169 阅读 · 0 评论 -
位运算符
虚拟环境第一种python3 -m venv myenv 此代码可生成虚拟环境,并拥有独立的pip包source myenv/bin/activate 激活虚拟环境deactivate 退出虚拟环境第二种安装:pip install virtualenvwrapper-win常用命令:mkvirtualenv envname(名称) # 创建虚拟环境并自动切换到该环境下workon envname(名称) # 切换到某虚拟环境下pip list原创 2020-06-28 17:27:29 · 168 阅读 · 0 评论 -
字符串操作
切片取值name = "abcdefghijklmn"index = name[2:] #输出第3个之后所有的,包括第3个index_1 = name[:2] #输出到第3个,不包括第3个index_2 = name[2:8] #输出从第3个(包括)开始到第9个(不包括)index_3 = name[2:-1] #输出从第3个(包括)开始到倒数第1个(不包括)index_4 = name[2:8:2] #输出从第3个(包括)开始到第9个(不包括),然后开始输出第二原创 2020-06-28 17:06:23 · 331 阅读 · 1 评论 -
python生成二维码
python生成二维码pip install qrcode简单调用import qrcode# 调用qrcode的make()方法传入url或者想要展示的内容img = qrcode.make('https://www.baidu.com')# 第一种写入with open('baidu.png', 'wb') as f: img.save(f)data = {'code': 'token111111111111111111', 'user': 'id123123', 'ispay原创 2020-06-28 17:02:53 · 296 阅读 · 0 评论 -
字符串转字典
三种方式1、json# 问题:转字典的字符串中{}里必须是",不能是'。否则会报错import jsona = {'name': 'xl', 'age': 12, 'car': {'type': '汽车', 'price': 10}, 'person': {'job': 'programmer', 'age': 3}}a = json.dumps(a) # 字典转jsona = json.loads(a) # json转字典({}中必须是")2、eval# 问题:虽然不存在单双引号原创 2020-06-28 17:01:28 · 286 阅读 · 1 评论 -
日志配置
日志的配置文件import osPROJECT_NAME = "monitor_demo" # 项目名称,以此作为日志文件夹名TOOLS_PROJECT_NAME = "monitor_tools" # 项目中的常用脚本,需要日志记录# NOTE: default level is DEBUGLOG_LEVEL = os.getenv('LOG_LEVEL', "DEBUG") # 日志级别,低于此级别不会别记录# NOTE: default handler is 'console,原创 2020-06-28 16:59:54 · 162 阅读 · 0 评论