Python
文章平均质量分 68
爱很遥远
事有其道
展开
-
Python中的函数参数
默认参数: 默认参数必须放在必选参数后; 一般来讲,经常变化的参数放在前面,不经常变化的放在后面; 多个默认参数时,入参按顺序赋值,也可以用指定参数名的方式赋值。 默认参数必须指向不可变对象!因为函数定义时,默认参数就定义了,如果参数指向对象可变,调用函数时改变了对象,则下次调用函数时,默认参数的值就不是定义时的值了。原创 2017-02-06 22:48:26 · 791 阅读 · 0 评论 -
python基础笔记-8
模块,就是一个py文件import my_module #使用时需要my_module.my_func()from my_module import my_func #使用时直接my_func() from my_module import func1, func2from my_module import *如果不同模块有相同名字的函数等,后导入的会覆盖前面导入的。尽原创 2017-05-31 23:06:49 · 314 阅读 · 0 评论 -
python基础笔记-7
异常处理try: ….except (异常名, 异常名) as err: 处理except Exception as err:#捕获所有异常 处理else: #没有异常则进入 处理finally: #无论有没有异常都要执行 处理 Python3中一次捕获多个异常,需要原创 2017-05-31 23:04:19 · 327 阅读 · 0 评论 -
python基础笔记-6
面向对象 Python是动态语言,可以给对象动态添加属性和方法。 魔法方法__str__ 对象的字符串形式,print函数打印对象时,对象的__str__函数被调用,其返还的内容被打印。 私有属性和私有方法以__开头,在类外部不能直接使用 __del__ 方法对象被释放(引用计数为0)时Python解释器自动调用 sys.getrefcount(原创 2017-05-31 23:01:14 · 332 阅读 · 0 评论 -
python基础笔记-5
文件操作打开方式r 只读方式打开,不存在报错,open的默认打开方式w 只写方式打开,不存在创建,存在覆盖原内容a 只写方式打开,不存在创建,存在追加rb 二进制只读,不存在报错wb二进制只写,不存在创建,存在覆盖原内容ab二进制只写,不存在创建,存在追加r+读写方式打开,不存在报错w+读写方式打开,不存在创建,存在覆盖原内容a+读写方式打开,不存在创建,存原创 2017-05-31 22:56:32 · 265 阅读 · 0 评论 -
python基础笔记-4
函数返回多个值,默认为元组 局部变量,定义在函数中,只能在当前函数内使用;全局变量定义在函数外,任何地方都可以使用。函数内使用变量,先看局部变量,再找全局变量。如果要在函数内修改全局变量,需要先用global 声明一下,否则认为是定义了一个局部变量。全局变量必须定义在使用它的函数调用之前,不必在函数声明之前,但一般习惯把全局变量放在最前面。一般尽量避免全局变量和局部变量原创 2017-05-31 22:55:19 · 432 阅读 · 0 评论 -
python基础笔记-3
Python中的列表可以存储不同类型的数据 列表的添加append,将元素追加到列表尾insert 将元素插入到指定位置extend将一个列表添加到列表尾 列表append和extend如果参数都是列表,extend是将列表中的元素合并到目标列表中,append是将列表作为一个整体添加到目标列表中pop将尾部元素删除remove,删除指定内容的元素,从左查找,只删一原创 2017-05-31 22:53:51 · 258 阅读 · 0 评论 -
python基础笔记-2
字符串可以直接用+拼接也可以像print中格式化c = a + bd = “%s”%(a+b)字符串可以用下标访问单个字符,可以从后向前取,-1表示最后一个元素 字符串切片,区间是前闭后开的str[3:7] 从str[3]到str[6]str[3:-1] 从str[3]到倒数第二个str[3:] 从str[3]到串尾str[3:7:2] 步长为2,即原创 2017-05-31 22:50:44 · 271 阅读 · 0 评论 -
RabbitMQ官网教程5——topic
前面的章节我们改进了日志系统,利用direct交换机,可以选择性的接收日志。但是,这仍然有局限,不能基于多个规则进行路由。在日志系统里,我们可能不只根据安全级别订阅日志,还可能想根据日志源来订阅。就像Unix 工具syslog,根据安全级别及设备来路由日志。这样就比较灵活了。为了实现这种效果,我们需要学习topic交换机。 topic交换机 发送到topic交换机的消息,翻译 2017-03-09 23:04:21 · 406 阅读 · 0 评论 -
RabbitMQ官网教程1——Hello World
RabbitMQ是一个消息中间件——接收和发送消息。你可以把它想象成一个邮局,当你把邮件投递到邮箱后,你就可以确信邮递员最终会帮你把邮件寄给收件人。术语: 生产者——发送消息; 队列:“邮箱”,存在于RabbitMQ内。虽然消息可以在RabbitMQ及应用中流转,但是只能在队列中存储,队列没有限度,可以存储任意多的消息,多个生产者可以向一个队列中发送消息,多翻译 2017-03-05 22:22:34 · 1280 阅读 · 0 评论 -
RabbitMQ官网教程2——工作队列
第一节中我们实现了简单的发送接收消息。现在我们创建一个工作队列,用于在多个worker中分配耗时任务。工作队列是为了避免立即执行资源密集型任务并等待其完成,有了工作队列,就可以稍后再处理任务。我们把任务封装成消息并发送到队列,后台的工作进程从队列中取出任务并执行。当有多个工作进程时,任务会在它们中分发。 web app中,在一个很短的http请求时长内不可能处理一个复杂的任务,这翻译 2017-03-06 22:59:11 · 338 阅读 · 0 评论 -
RabbitMQ官网教程3——发布订阅
前面我们创建了工作队列,工作队列中每个任务只分发给一个worker。现在我们要把一个消息分发给多个消费者,这种模式就是发布订阅。为解释这种模式,我们将构建一个简单的日志系统,它包括两个程序——一个提交日志,另一个接收并打印。日志系统中每个接收程序的拷贝都会收到消息,这样可以一个将日志写入磁盘,另一个输出到屏幕。本质上讲,发布的日志消息被广播给了所有的消费者。 交换机 前面翻译 2017-03-07 22:49:35 · 276 阅读 · 0 评论 -
RabbitMQ官网教程4——路由
前面的章节我们创建了一个简单的日志系统,可以把消息广播到许多接收者。本节我们将增加一个特性——只订阅一部分消息。比如只把错误日志输出到文件,同时把所有日志输出到屏幕。绑定 前面的例子里我们已经创建过绑定。绑定就是交换机和队列间的一种关系,简单解读为队列关注该交换机的消息。创建绑定时可以增加一个参数routing_key,为了避免跟basic_publish的参数混淆,翻译 2017-03-08 23:15:52 · 279 阅读 · 0 评论 -
python基础笔记-1
程序中若有中文字符,Python3没有问题,Python2需要在程序开始添加#-*- coding:utf-8 -*-或#coding=utf-8推荐前者,注意不是下划线。 变量第一次出现时即定义,之后都是赋值。 交换变量的值a,b =b,a Python2和Python3中的input不同,Python2中input函数获取用户输入后,将其作为表达式执原创 2017-05-31 21:51:07 · 270 阅读 · 0 评论