Python
文章平均质量分 64
IQer_AC
这个作者很懒,什么都没留下…
展开
-
Python矩阵库 numpy 文档 中文翻译
list中的数据可以不同类型的数据,但array中必须是同构的数据结构numpy比list更快,numpy使用更少的内存占用来存储数据,并提供了指明数据类型的机制。这让代码优化更进一步。原创 2023-08-04 16:18:52 · 294 阅读 · 0 评论 -
Django源码分析5 - url路由部分流程
文章目录1. path()可以是视图函数, 也可以是元组1. path()可以是视图函数, 也可以是元组原创 2021-03-26 21:00:29 · 112 阅读 · 0 评论 -
Django源码分析4 -startapp流程分析
startapp1.和startproject类似2.从准备好的app_template模板中生成数据1.和startproject类似2.从准备好的app_template模板中生成数据原创 2021-03-25 22:44:58 · 327 阅读 · 0 评论 -
Django源码分析 3 - runserver启动流程及接受请求流程
文章目录1. 提要 runserver不可在生产环境使用2. self.run()->inner_run()->run->run_forever()3. BaseServer持续监听请求4. WSGIHandler类5. 在WSGIHandler实例化时, 就会把Django的中间件middleware初始化好6.resolve解析请求7. get_response()1. 提要 runserver不可在生产环境使用Django意义在于完善Web框架, 而不是Web服务器2. sel原创 2021-03-23 19:40:23 · 380 阅读 · 0 评论 -
Django源码解析2 - 目录结构
文章目录1. /conf/bin/django-admin.py2. /conf/project_template/project/name3. /core/management/commands1. /conf/bin/django-admin.pydjango管理命令入口点2. /conf/project_template/project/name初始化项目模板所在位置3. /core/management/commands管理命令具体实现目录未完待续...原创 2021-03-23 17:01:15 · 180 阅读 · 0 评论 -
Django源码解析 01- 项目创建初始化
文章目录1. django-admin startproject name2. ManagementUtility().execute()3. fetch_command4. run_from_argv5. 执行命令6. 执行handle处理命令7. 寻找父类TemplateCommand中handle实现8. Engine().from_string()完成模板渲染初始化并把文件创建在项目目录下,至此完成项目初始化1. django-admin startproject name从django-adm原创 2021-03-23 16:52:52 · 108 阅读 · 0 评论 -
Flask框架源码走读
文章目录原创 2021-01-03 13:16:23 · 755 阅读 · 0 评论 -
Flask框架开发实录
文章目录1.业务背景介绍2.技术栈介绍3.开发中做的好的与不好的1.业务背景介绍之前在做某量化投资交易平台, 主要业务就分为回测与模拟交易.使用对象是基金公司或私募公募的基金经理.具体产品的使用方式, 就是使用任意年份的交易数据, 尝试跑一些交易策略的回测, 觉得收益合适之后, 再放到模拟交易中进行模拟, 如果收益依旧不错的话, 可能会被基金经理采纳进真实投资组合中.当然以上是本人对产品的使用的概述, 实际中基金经理可能有更多贴近实践的方式的.2.技术栈介绍项目是前后端分离的, 前端由前端团队原创 2021-01-03 13:11:09 · 214 阅读 · 0 评论 -
为什么有Web框架
文章目录Web开发涉及的点1.请求request2. 响应Response3. 表单输入和验证4.操作数据库/SQL注入/ORM5.安全(XSS, CSRF等)6.发送邮件通知7. 模板渲染语言(Jinja2或类Jinja2)总结Django VS FlaskWeb开发涉及的点个人认为, 技术的出现皆因实际业务的驱使. 如果不是Web应用承接的功能越来越丰富, 越来越复杂, Web框架也不会出现.先看看目前开发一个Web应用, 没有Web框架, 都需要做哪些重复工作.1.请求request进入一个原创 2021-01-03 12:37:58 · 283 阅读 · 1 评论 -
Python Web开发实录
Python Web开发实录系列文章链接Python Web开发实录前言:为什么有Web框架一.Flask框架开发实录二. Flask框架源码走读三.近期阅读完毕的书籍分享总结前言:为什么有Web框架文章链接:一.Flask框架开发实录文章链接:二. Flask框架源码走读文章链接:三.近期阅读完毕的书籍分享文章链接: 程序员经验之谈类书籍总结快捷方便的实现业务逻辑, 依据框架设计的模式放置代码, 提供可读性, 可维护性, 可扩展性等....原创 2021-01-02 16:21:02 · 110 阅读 · 0 评论 -
Python基础-变量1
pyhton基础对象基础python自带的帮助命名规则对象基础内置函数id(obj)可返回对象的标识type(obj)可返回对象的所属类型print(obj)可直接打印出值)变量位于: 栈内存(压栈出栈细节)对象位于: 堆内存python自带的帮助交互式命令下输入help(), 会进入python自带的帮助指令中命名规则模块和包名: 全小写字母, 尽量简单, 若多个单词之间用下划线.math , os, sys函数名: 全小写字母, 多个单词之间用下划线隔开.phone, my_ph原创 2020-09-15 21:57:13 · 79 阅读 · 0 评论 -
Effective Python 50.用包来安排模块,并提供稳固的API
当模块数量增多,可以引进一种抽象层,使得代码容易理解在目录放入名字__init__的空文件,并以此来定义包.只有目录包含__init__.py,我们就可以采用相对与该目录的路径,来引入目录中的其他python文件from mypackage import utils1.名称空间,python从3.4引入名称空间,相同模块名可以来自不同包中,可以用as改名2.稳固的API.为包或者模块定...原创 2019-09-06 20:04:39 · 112 阅读 · 0 评论 -
effective python 42.用functools.wraps定义函数装饰器
根据开放封闭原则,选择装饰器模式,A像B,但A还不够像Bdef far(): """ Δ~~~~Δ ξ •ェ• ξ ξ ~ ξ ξ ξ ξ “~~~~〇 ξ ξ ξ ξ ξ~~~ξ ξ ξ_ξξ_ξ ξ_ξξ_ξ ヽ(´•ω•)ノ | / UU ""...原创 2019-08-29 22:47:02 · 200 阅读 · 0 评论 -
Effective Python 43.考虑用contextlib和with语句来改写可复用的try/finally代码
from multiprocessing import Locklock = Lock()with lock: print('Lock is held')lock.acquire()try: print('lock is held')finally: lock.release()class 囧rz(): def __enter__(self):...原创 2019-08-30 22:16:37 · 114 阅读 · 0 评论 -
Effective Python 44.用copyreg实现可靠的pickle操作
import copyregimport pickleclass GameState(object): def __init__(self, level=0, lives=4, points=0): self.level = level self.lives = lives self.points = pointsdef pick...原创 2019-08-31 22:06:30 · 225 阅读 · 0 评论 -
Effective Python 45.应该用datetime模块来处理本地时间,而不是time模块
UTC是一种标准的时间表述方式,它与时区无关,用某一时刻与UNIX时间原点(1970年1月1日0时0分0秒),但对普通人来说不太适合.我们只会说早上8点而不会说离UTC时间15点还差7小时所以需要UTC与当地时间之间进行转换python提供了两种方式1.time模块,有个名叫localtime的函数import timenow = 1407694710local_tuple = ti...原创 2019-09-01 20:25:16 · 109 阅读 · 0 评论 -
Effective Python 46.使用内置算法与数据结构
1.双向队列from collections import dequefifo = deque()fifo.append(1)x = fifo.popleft()print(x)输出:12.有序字典标准的字典是无序的,在拥有相同键值对的两个dict上迭代,可能出现不同的迭代顺序的情况,是因为快速哈希表的实现方式而导致的.书中例子实验失败from random import ...原创 2019-09-02 22:38:02 · 123 阅读 · 0 评论 -
Effective Python 47.在重视精确度的场合,应该使用decimal
>>> seconds = 5 >>> cost = rate * seconds / 60 >>> cost 0.004166666666666667 >>> print(round(cost, 2)) 0.0使用decimal模块中的Decimal类>>&g...原创 2019-09-03 20:28:31 · 125 阅读 · 0 评论 -
Effective Python 48.学会安装由Python开发者社区所构建的模块
pypi地址:https://pypi.org社区维护,模块作者会将模块提供在这里,可以用pip进行安装class InstallCommand(RequirementCommand): """ Install packages from: - PyPI (and other indexes) using requirement s...原创 2019-09-04 19:38:03 · 268 阅读 · 0 评论 -
Effective Python 49.为每个函数,类和模块编写文档字符串
描述编写的功能或使用方式1.为模块添加文档2.为类添加文档3.为函数添加文档 demo.py中内容如下: """ help doc """ def イケメン(): """ イケメン """ print(イケメン.__doc__) c...原创 2019-09-05 20:13:32 · 132 阅读 · 0 评论 -
Effective python 阅读总结NO.41 考虑用concurrent.futures来实现真正的平行计算
起因:GIL的存在,python无法实现真正的平行多线程计算可以用C语言将程序中对性能要求高的部分代码,改写为扩展模块,但代价较大(移植,测试)而有时python程序执行慢不是一部分代码导致的,可能跟多方面有关系,而需要把程序中的大量代码移植到C,所以催生一种更好的办法实现利用concurrent.futures中的multiprocessing模块,这就是python3中的多进程模块fr...原创 2019-08-29 09:32:14 · 287 阅读 · 0 评论