Python
终身开发者
一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android、Python、Java和Go,这个也是我们团队的主要技术栈。
Github:https://github.com/hylinux1024
微信公众号:终身开发者(angrycode)
展开
-
一文搞懂Python可迭代、迭代器和生成器的概念
在Python中可迭代(Iterable)、迭代器(Iterator)和生成器(Generator)这几个概念是经常用到的,初学时对这几个概念也是经常混淆,现在是时候把这几个概念搞清楚了。原创 2019-08-09 14:37:34 · 240 阅读 · 0 评论 -
Python中的字典数据结构
字典又称为哈希表(hashmap)、映射(map),它是以key-value的方式进行存储,通过key进行存储、查找操作的效率非常高。原创 2019-08-10 00:45:19 · 4241 阅读 · 0 评论 -
Python中面向对象你应该知道的事
Python中面向对象你应该知道的事原创 2019-08-10 00:45:31 · 93 阅读 · 0 评论 -
一个简单的Python调度器
Python中有什么简单好用的调度器原创 2019-08-10 00:45:45 · 669 阅读 · 0 评论 -
Python源码学习Schedule
我翻阅了一下它的源码,惊奇的发现核心库才一个文件,代码量短短700行不到。这是绝佳的学习材料。原创 2019-08-10 00:45:56 · 616 阅读 · 0 评论 -
Python Web Flask源码解读(一)——启动流程
开始学习Flask源码原创 2019-08-10 00:46:24 · 222 阅读 · 0 评论 -
Python Web Flask源码解读(二)——路由原理
继续阅读Flask的源码原创 2019-08-10 00:46:34 · 105 阅读 · 0 评论 -
Python Web Flask源码解读(三)——模板渲染过程
前面对Flask启动流程和路由原理都进行了源码走读。今天我们看看模板渲染的过程。原创 2019-08-10 00:46:44 · 215 阅读 · 0 评论 -
基于Flask开发企业级REST API应用(一)
前面对Python WEB框架Flask的源码进行走读,对服务的启动流程、路由原理和模板渲染有了一个宏观的认识。原创 2019-08-10 00:46:57 · 200 阅读 · 0 评论 -
基于Flask开发企业级REST API应用(二)
本节开始项目的编码实现。首先我们来实现登录注册模块的相关API。本项目我们是使用前后端分离的模式,在实现登录注册功能之前,假设我们的接口是开放的,那么需要确定接口校验方案。原创 2019-08-10 00:47:11 · 218 阅读 · 0 评论 -
基于Flask开发企业级REST API应用(三)
前两章把程序的结构以及API的协议基本上搭建起来了。本文开始不打算对每个模块接口都进行实现,因为基本上都是业务逻辑代码,而且整篇文章都把代码贴出来,那将是一个灾难。原创 2019-08-10 00:47:21 · 206 阅读 · 0 评论 -
基于Flask开发企业级REST API应用(四)
几乎现在所有应用都会用到缓存技术,而在服务器端redis是很多实现缓存的首选技术原创 2019-08-20 14:51:00 · 254 阅读 · 0 评论 -
Python中栈、队列和优先级队列的实现
栈、队列和优先级队列都是非常基础的数据结构。Python作为一种“编码高效”的语言,对这些基础的数据结构都有比较好的实现。原创 2019-08-10 00:45:06 · 362 阅读 · 0 评论 -
如何在Python中表示一个对象
在Python中一切都是对象。如果要在Python中表示一个对象,除了定义class外还有哪些方式呢?我们今天就来盘点一下。原创 2019-08-10 00:44:48 · 103 阅读 · 0 评论 -
为何你还不懂得如何使用Python协程
在Python早期的版本中协程也是通过生成器来实现的,也就是基于生成器的协程(Generator-based Coroutines)。原创 2019-08-09 16:06:39 · 224 阅读 · 0 评论 -
简单了解一下事件循环(Event Loop)
asyncio模块中的核心就是事件循环(Event Loop)。它可用于执行异步任务、事件回调、执行网络IO操作和运行子进程。官方的文档也是建议开发者应该尽量使用asyncio包提供的高级的API,避免直接使用Event Loop对象中的方法。原创 2019-08-09 16:09:30 · 1817 阅读 · 0 评论 -
快速了解Python并发编程的工程实现(上)
在前面的文章中对Python协程的概念和实现做了简单地介绍。为了对Python并发编程有更加全面地认识,我也对Python线程和进程的概念和相关技术的使用进行了学习,于是有了这篇文字。原创 2019-08-09 16:11:23 · 78 阅读 · 0 评论 -
快速了解Python并发编程的工程实现(下)
Python中由于Global Interpreter Lock(全局解释锁GIL)的存在,每个线程在在执行时需要获取到这个GIL,在同一时刻中只有一个线程得到解释锁的执行,Python中的线程并没有真正意义上的并发执行,多线程的执行效率也不一定比单线程的效率更高。原创 2019-08-09 16:12:17 · 102 阅读 · 0 评论 -
谈谈装饰器的实现原理
熟悉Java编程的程序猿对装饰器模式一定不陌生,它是能够动态的给一个类添加新的行为的一种设计模式。原创 2019-08-09 16:13:59 · 218 阅读 · 0 评论 -
你是否真的了解全局解析锁(GIL)
GIL是计算机语言解析器用于同步线程执行的一种同步锁机制。很多编程语言都有GIL,例如Python、Ruby。原创 2019-08-09 16:16:06 · 142 阅读 · 0 评论 -
关于Python虚拟环境与包管理你应该知道的事
Python拥有大量的第三方库,引用这些库也非常方便,通过pip install就可以将这些第三方库安装到本地Python库文件目录中,然后就可以import到项目中,极大地提升了开发者的编码效率。原创 2019-08-09 16:17:03 · 368 阅读 · 0 评论 -
Python程序包的构建和发布过程
当我们开发了一个开源项目时,就希望把这个项目打包然后发布到pypi.org上,别人就可以通过pip install的命令进行安装。原创 2019-08-09 16:22:32 · 258 阅读 · 0 评论 -
你会写单元测试吗
也许你已经听说过`Test Driven Development`,但不知道你是否遵循这个规则呢?其实我自己在写代码的时候也很少会先写单元测试再写业务功能逻辑。原创 2019-08-09 16:23:52 · 98 阅读 · 0 评论 -
一文了解Python常见的序列化操作
marshal使用的是与Python语言相关但与机器无关的二进制来读写Python对象的。这种二进制的格式也跟Python语言的版本相关,marshal序列化的格式对不同的版本的Python是不兼容的。原创 2019-08-09 16:29:17 · 109 阅读 · 0 评论 -
一文搞懂Python中的所有数组数据类型
数组类型是各种编程语言中基本的数组结构了,本文来盘点下Python中各种“数组”类型的实现。原创 2019-08-09 16:34:34 · 1494 阅读 · 0 评论 -
Python Web Flask源码解读(四)——全局变量
Flask中全局变量有current_app、request、g和session。不过需要注意的是虽然标题是写着全局变量,但实际上这些变量都跟当前请求的上下文环境有关,下面一起来看看。原创 2019-08-24 15:14:36 · 690 阅读 · 2 评论