
python
文章平均质量分 57
HelloWorld程序猿
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python中==和is的区别,a==b和a is b
在python的条件判断中有这两个表达式:a==b和a is b,现在咱们来分析一下他们的不同,以下咱们通过真实的例子来说明吧:上面这个事例说明,对于一个普通变量,数值相同,它在内存中所占据的位置也相同,python认为它们是同一个变量下面我们再来看一个例子:上面的例子说明了,对一个对象来说,它们分别占据了内容空间的一个位置,但是如果我们把a,b之间通过赋值操作呢,原创 2017-07-03 21:16:24 · 5065 阅读 · 0 评论 -
python装饰器,一种更容易理解的方式
装饰器的策略可以这样来概括,它是对原有函数封闭性的保持,又对原有函数进行扩展;就是说对你原有的代码不做修改,保证其功能模块不发生改变,在原有函数的基础上,再加一层,对原有函数进行扩展;假如说有这样一件事情:def printout(num): print "This is a Test"上面是输出一个字符串,但是我们现在想在print之前进行一次判断,最简单的做法是:def printout...原创 2018-03-11 22:44:20 · 319 阅读 · 0 评论 -
python实现单粒模式,模块方法/装饰器方法/__new__方法
我们首先理解一下什么叫做单例模式。就是说,系统环境里面有一个类,无论在系统的什么地方,只要想实例化,就只能得到一个实例,实例化后对实例的任何操作,也只和第一个实例相关。另外一个层面,单例模式同样避免了重复实例化的内存浪费,如果使用得当,能够大大节约系统资源。 下面就说一下python里面实现实例的几种方法,里面有几个和我之前讲过的知识点相关,这里mark一下:使用模块使用魔法方法 __new__使...原创 2018-03-11 16:17:44 · 321 阅读 · 0 评论 -
python的取值技巧
python中常用的数据类型是字典,字典的取值就是通过当前对象然后加上对于的key值就得到了对应的value;x={"key1":"value1"}python对字典的取值有以下三种:1. y = x["key1"]这样得到的值y为value1,但是这样有一个坏处,假如取一个不存在的key就会抛出异常,如x["error"],这时候就会抛出AttributeError2. y原创 2018-01-25 22:54:23 · 4001 阅读 · 0 评论 -
python的字典去重
字典的key值判断或者去除重复的key和value,下面介绍list和set两种方法:x={"a":"1","b":"2","c":"3","a":"1","b":"2","c":"3"}或者x={"a":"1","b":"2","c":"3","a":"11","b":"22","c":"33"}都是一样的;首先看list方法:y=list(x)就是["a","b","c"],这样得原创 2018-01-25 22:45:13 · 26553 阅读 · 0 评论 -
python动态绑定的特性
python作为一种脚本语言,无需编译,解释执行,在使用python的过程中运用了动态绑定的这一特性,故此总结一下;先看一段代码:dynamic.pyclass People(object): def test(self): print "this is a function in class"def test(): print "this is a test funct原创 2018-01-17 22:19:14 · 445 阅读 · 0 评论 -
python自定义模块和模块引入
到现在才知道怎么把自己写的模块加入到查找路径中,方便在使用过程中解释器能索引到自定义的模块进入python环境中,首先引入sys模块:import sys然后使用sys.path查询现有python解释器所查找的模块路径书写自己的模块放置到一个文件夹下然后使用sys.path.append("my_model_path"),my_model_path就是自定义模块所存放的路径这原创 2017-12-17 20:18:43 · 2184 阅读 · 0 评论 -
RabbitMQ消息通信,一个生产者和多个消费者
上一则文章讲解了RabbitMQ的安装和简单一对一消息通信实现方法,具体可参考上一篇文章:http://blog.youkuaiyun.com/u012631731/article/details/72887588这则文章讲述一个生产者和多个消费者的消息通信。直接上源码,在源码里面进行注释讲述吧client.py#!/usr/bin/env pythonimport pikaimp原创 2017-11-05 17:06:20 · 19533 阅读 · 1 评论 -
RabbitMQ消息通信,一个生产者和多个消费者,广播式消息通信
上一则我们说到了一个对多个的RabbitMQ消息队列通信的实现方法,生产者发送的消息只能被一个消费者接收并处理,上则请阅读:http://blog.youkuaiyun.com/u012631731/article/details/78450389本则说的是广播式的消息通信方法实现,所有的消费者都可以收到生产者发送的消息还是直接上代码吧,有描述直接在代码里面注释:client.py#!原创 2017-11-05 21:50:44 · 14092 阅读 · 0 评论 -
Python下使用pika简单实现RabbitMQ通信
MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。现在介绍一下基本的RabbitMQ的通信过程:RabbitMQ基本的通信模型是这样的,它类似于C-S通信模型,它包含一个producer (生产者),queue(消息队列)和一个consumer(消费者),生产者发送的消息只会存储在中间的消息队列中:原创 2017-06-06 21:16:58 · 5109 阅读 · 0 评论 -
使用python下的Flask应用
Flask是一个使用 Python 编写的轻量级 Web 应用框架。在学习过程中进行一些总结:1.一个最小的Flask应用 flask_test1.py:from flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world(): return 'Hello World!'i原创 2017-11-01 22:34:59 · 488 阅读 · 0 评论 -
RabbitMQ消息通信,生产者发送消息给指定的消费者的消息队列
上一篇文章描述了,通过使用广播式的通信方式,让生产者把消息广播给每一个消费者,本节我们介绍另外一个方式,生产者可以指定消费者,把消息发送给它:client.py#!/usr/bin/env pythonimport pikaimport sysconnection = pika.BlockingConnection(pika.ConnectionParameters(host='l原创 2017-11-10 21:37:25 · 13047 阅读 · 0 评论 -
使用virtualenv搭建Python下的Flask开发环境,ubu测试有效
Flask 依赖两个外部库:Werkzeug 和 Jinja2 。不过使用virtualenv就可以搞定这一切。下面重点介绍一下环境搭建的步骤:如果你在 Mac OS X 或 Linux 下,下面两条命令可能会适用:$ sudo easy_install virtualenv或更好的:$ sudo pip install virtualenv上述的命令会在你的系统中安装 v原创 2017-11-01 23:06:56 · 422 阅读 · 0 评论 -
python使用sqlalchemy中间件对MYSQL数据库进行创建、查询、删除操作
首先安装sqlalchemy,安装方法有两种:通过官网下载源码进行安装;使用pip install sqlachemly1.建立操作数据库接口模块api.py,描述:在接口模块中首先创建一个engine,这里关联的是mysql数据库,也可以是其他类型的数据库然后定义了几个访问数据库的接口函数,提供对数据库的添加、删除、查询操作from sqlalchemy import cre原创 2017-09-05 22:03:16 · 2934 阅读 · 0 评论 -
python下使用alembic管理MYSQL数据库
本文介绍一下,alembic管理mysql的使用方法,首先需要安装一下模块,这里以ubutun为例进行阐述:1.首先安装setuptools,这个是pip安装需要的依赖:apt-get install steuptools2.然后安装pip,建议下载源码包安装,比较方便,地址为https://pypi.python.org/pypi/pip/,解压后进入文件目录执行python step.原创 2017-08-20 15:45:51 · 2312 阅读 · 0 评论 -
Python下使用sqlalchemy关联MySQL数据库,建立主外键关联关系,实现相互约束和级联删除
主外键是关系型数据库提供的一直关联表的一种方法,这里的级联关系提供了至少两个功能。第一:Machine表中的id字段为其主键,Car表中的machine_id为外键,这样就对Car中的machine_id字段进行了约束,使得machine_id字段的值必须是Machine表中id中的其中一个;第二:提供了两个表数据的级联删除功能,relation中的cascade和ondelete等属性值原创 2017-09-06 21:28:45 · 1900 阅读 · 0 评论 -
python中参数*和**的使用方法
python中的参数传递,python传递的形参有这两种样式,*和**一、*的这种用法是传递一个元组,python中的元组是一个括弧包含的数据,如(1,2,3,4)eg1:test(*args): print args[0],args[1],args,argument=(1,2,3,4,5,6,7,8)test(*argument)这时候的输出为:1,2,(1,2,3,4,5,6,7,8),...原创 2018-04-10 22:38:15 · 2746 阅读 · 0 评论