随笔分类 -  python

摘要:编写规范 每个import 语句只导入一个模块,尽量避免一次导入多个模块。 不要在行尾添加分号“;”,也不要用分号将两条命令放在同一行。 建议每行不超过80个字符,如果超过,建议使用小括号将多行内容隐式地连接起来,而不推荐使用反斜杠进行连接 使用必要的空行可以增加代码的可读性。一般在顶级定义(如函数 阅读全文
posted @ 2019-01-24 21:02 嵌动初心(aaron) 阅读(406) 评论(0) 推荐(0)
摘要:什么是rabbitMQ rabbitMQ是一款基于AMQP协议的消息中间件,它能够在应用之间提供可靠的消息传输。在易用性,扩展性,高可用性上表现优秀。而且使用消息中间件利于应用之间的解耦,生产者(客户端)无需知道消费者(服务端)的存在。而且两端可以使用不同的语言编写,大大提供了灵活性。 rabbit 阅读全文
posted @ 2018-06-14 19:17 嵌动初心(aaron) 阅读(1939) 评论(3) 推荐(2)
摘要:Gevent官网文档地址:http://www.gevent.org/contents.html 进程、线程、协程区分 我们通常所说的协程Coroutine其实是corporate routine的缩写,直接翻译为协同的例程,一般我们都简称为协程。 在linux系统中,线程就是轻量级的进程,而我们通 阅读全文
posted @ 2018-06-13 15:32 嵌动初心(aaron) 阅读(4553) 评论(1) 推荐(2)
摘要:process类介绍 multiprocessing 模块官方说明文档 Process 类用来描述一个进程对象。创建子进程的时候,只需要传入一个执行函数和函数的参数即可完成 Process 示例的创建。 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_cou 阅读全文
posted @ 2018-06-13 01:20 嵌动初心(aaron) 阅读(1565) 评论(1) 推荐(0)
摘要:线程queue介绍 Queue的种类: FIFO: Queue.Queue(maxsize=0) FIFO即First in First Out,先进先出。Queue提供了一个基本的FIFO容器,使用方法很简单,maxsize是个整数,指明了队列中能存放的数据个数的上限。一旦达到上限,插入会导致阻塞 阅读全文
posted @ 2018-06-12 12:33 嵌动初心(aaron) 阅读(562) 评论(0) 推荐(1)
摘要:threading模块中的对象 其中除了Thread对象以外,还有许多跟同步相关的对象 threading模块支持守护线程的机制 Thread对象 直接调用法 继承类方式 注意:当要启动这个线程时,只会去调用这个类的run方法,因此,在定义子类时,一定要去重写父类的run方法,不然在线程启动后,该线 阅读全文
posted @ 2018-06-11 18:11 嵌动初心(aaron) 阅读(515) 评论(0) 推荐(0)
摘要:文章作者:卢钧轶(cenalulu) 本文原文地址:http://cenalulu.github.io/python/gil-in-python/ ,对文章做了适当的修改,加入了一些自己的理解。 CPU-bound(计算密集型) 和I/O bound(I/O密集型) 计算密集型任务(CPU-boun 阅读全文
posted @ 2018-06-11 12:47 嵌动初心(aaron) 阅读(5215) 评论(0) 推荐(3)
摘要:SocketServer类介绍 The socketserver module simplifies the task of writing network servers. socketserver一共有这么几种类型 This uses the Internet TCP protocol, whi 阅读全文
posted @ 2018-05-05 23:14 嵌动初心(aaron) 阅读(253) 评论(0) 推荐(0)
摘要:socket函数介绍 socket.socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None) Create a new socket using the given address family, socket type and p 阅读全文
posted @ 2018-05-05 22:49 嵌动初心(aaron) 阅读(529) 评论(0) 推荐(0)
摘要:程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等。如果你接触过这些语言,对于程序入口这个概念应该很好理解,C 和 C++ 都需要有一个 main 函数来作为程序的入口,也就是程序的运行会从 main 函数开始。同样,Java 和 阅读全文
posted @ 2018-05-05 21:04 嵌动初心(aaron) 阅读(497) 评论(0) 推荐(3)
摘要:一、背景 软件开发是一个系统工程,当然编码实现是其中尤其重要的一个环节,关乎到功能需求的实现好坏。这个环节中除了编码这一硬功之外,与之相关的编码风格这一柔道,虽然没有直接决定功能的实现与否,但却在很大程度上决定了的项目代码整体的可读性、健壮性、移植性、可维护性等重要特性。编码风格不仅涉及到代码如何编 阅读全文
posted @ 2018-05-04 23:49 嵌动初心(aaron) 阅读(296) 评论(0) 推荐(0)
摘要:可变/不可变对象定义 不可变对象 该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址。 可变对象 该对象所指向的内存中的值可以被改变。变量(准确的说是引用)改变后,实际上是其所指的值直接发生 阅读全文
posted @ 2018-04-21 22:42 嵌动初心(aaron) 阅读(421) 评论(0) 推荐(0)
摘要:什么是装饰器 在我们的软件产品升级时,常常需要给各个函数新增功能,而在我们的软件产品中,相同的函数可能会被调用上百次,这种情况是很常见的,如果我们一个个的修改,那我们的码农岂不要挂掉了(有人就说了 ,你笨呀,修改函数定义不就行了!同学,你醒醒吧,如果要新加的功能会修改参数,或者返回值呢?)。这个时候 阅读全文
posted @ 2018-04-06 13:39 嵌动初心(aaron) 阅读(497) 评论(0) 推荐(1)
摘要:对python中集合的理解 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集、差集、并集等关系 常用操作 阅读全文
posted @ 2018-04-02 22:03 嵌动初心(aaron) 阅读(264) 评论(0) 推荐(0)
摘要:函数定义 def是定义函数的关键字 文档字符串使用三个引号括起来 文档字符串下的为函数体 参数传递 函数参数的定义方式有4种,位置参数,关键参数,元组参数和字典参数。 位置参数 按照函数形式参数的顺序传递参数,一旦改变参数的顺序结果就会不同。 关键参数 关键参数指的是在传递参数时,不必考虑形式参数的 阅读全文
posted @ 2018-04-01 18:00 嵌动初心(aaron) 阅读(350) 评论(1) 推荐(0)
摘要:字典定义 字典是一种 key-value 的数据类型,这点很重要,是区别使用列表和字典的依据。 语法格式: 字典的特性 dict是无序的 key必须是唯一的,所以字典具有天生去重 与键值向关联的值可以是数字,字符串和列表 字典操作 字典查找 字典值添加 字典值修改 字典值删除 字典遍历 遍历分为三种 阅读全文
posted @ 2018-03-29 11:46 嵌动初心(aaron) 阅读(322) 评论(0) 推荐(0)
摘要:列表定义 列表是由一系列案特定顺序排列的元素组成。在python中,用方括号([])来表示,并用逗号来分隔其中的元素。 列表访问 列表元素的访问从索引0开始,而不是索引1开始。 列表的索引可以是从负数开始。这种语法经常在需要在不知道列表长度的情况下访问元素。 >> names[0] 'Alex' > 阅读全文
posted @ 2018-03-27 16:16 嵌动初心(aaron) 阅读(446) 评论(0) 推荐(0)
摘要:变量使用注意事项 字符串 在python中,用引号括起来的都是字符串,其中的引号可以是单引号和双引号。 首字母变大写 利用title方法实现 1 name = "aaron" 2 print(name.title()) 字符串变小写 利用lower方法实现。存储数据时,很多时候,你无法依靠用户来提供 阅读全文
posted @ 2018-03-27 11:34 嵌动初心(aaron) 阅读(283) 评论(0) 推荐(0)
摘要:编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言,每个分类代表什么意思呢,我们一起来看一下。 编译型vs解释型 编译型 优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离 阅读全文
posted @ 2018-03-26 22:44 嵌动初心(aaron) 阅读(581) 评论(0) 推荐(0)