随笔分类 - 开发 / python
python技术栈
摘要:cfg Module来自于OpenStack中的重要的基础组件oslo.config,通过cfg Module可以用来通过命令行或者是配置文件来配置一些options, 对于每一个选项使用Opt类或者其子类来定义。首先我们来看一个定义option的例子: Opt是父类,其下有很多特定类型的子类。下面
阅读全文
摘要:简单队列方式 #!/usr/bin/env python # -*- coding:utf-8 -*- import Queue import threading #建立队列长度为10 message = Queue.Queue(10) #生产者 def producer(i): #往队列中扔消息
阅读全文
摘要:SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 SQLAlchemy是一个独立的orm,对比django的orm框架而言,django无法把它的o
阅读全文
摘要:官方:http://www.celeryproject.org 文档:http://docs.jinkan.org/docs/celery/index.html FAQ:http://docs.celeryproject.org/en/master/faq.html 为什么使用Celery? 基础配
阅读全文
摘要:,多对多: 创建多对多: 方式一:自定义关系表 class Host(models.Model): nid=models.AutoField(primary_key=True) hostname=models.CharField(max_length=32,db_index=True) ip=mod
阅读全文
摘要:解读Python发送邮件 Python发送邮件需要smtplib和email两个模块。也正是由于我们在实际工作中可以导入这些模块,才使得处理工作中的任务变得更加的简单。今天,就来好好学习一下使用Python发送邮件吧。 SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、
阅读全文
摘要:创建django 项目 django-admin startproject mysite 目录介绍 mysite - mysite # 对整个程序进行配置 - init - settings # 配置文件 - url # URL对应关系 - wsgi # 遵循WSIG规范,生产环境中一般不用djan
阅读全文
摘要:MTV模式 著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层;他们之间以一种插件似的,松耦合的方式连接在一起。 模型负责业务对象与数据库的对象(ORM),视图负责与用户的交互(页面),控制器(C)接受用户的输入调用模型和视图完成用户的请求。 Django的MT
阅读全文
摘要:简单异常捕捉 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块或包;基本上是路径问题或名称错误 IndentationError 语法错误(的子类) ;代码没有正
阅读全文
摘要:成员 类,对象=》静态字段,静态方法,普通字段,普通方法 通过类访问有:静态字段,静态方法 通过对象访问:普通字段,普通方法 成员修饰符 面向对象中一些常用特殊方法 __init__ __call__ __delitem__ 反射查找类的成员 反射: 反射导入模块,在找类然后初始化对象,最后根据对象
阅读全文
摘要:1面向对象不是所有情况都适用 2面向对象编程 a定义类 class 类名: def 方法1(self,参数) b根据类创建对象 使用对象执行类中方法 3 self,形式参数,python内部传递 obj=abc() obj.abc() >self:obj 4 类+括号 =》 自动执行类中的__ini
阅读全文
摘要:反射 1通过字符串的形式,导入模块 2通过字符串的形式,去模块中寻找指定函数,并执行 先看下这个例子 1 #这样导入模块没有问题 2 import comm as cc 3 4 #也可以这样导入,根据字符串导入模块。dd实际等于上面的as 5 dd= __import__("comm") 6 7 d
阅读全文
摘要:生成器#只要函数中有yield那么这个函数就编程了生成器函数def x(): print(1) a=2 #yield保存了函数的执行状态 yield 1 #这里打印上次yield的变量值 print(a) yield 2 print(3) yield 3a=x()a.next()a.next()a.
阅读全文
摘要:1、百分号方式 %[(name)][flags][width].[precision]typecode (name) 可选,用于选择指定的key flags 可选,可供选择的值有: + 右对齐;正数前加正好,负数前加负号; - 左对齐;正数前无符号,负数前加负号; 空格 右对齐;正数前加空格,负数前
阅读全文
摘要:import 导入模块方法 time和datetime模块 >>> import time >>> time.sleep(5) #睡觉5秒>>> import datetime>>> print(time.time()) #从1970年1月1日开始到现在用多少秒1492678911.17 其它方法:
阅读全文
摘要:正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被
阅读全文
摘要:如果明白装饰器的原理那么带参数的装饰器就很容易理解了 代码: 现在有个问题如果装饰的函数有的参数是1个有的是2个怎么办? 解决这个很简单:
阅读全文
摘要:结果: hello1word234 解析原理: 结果: 11111hello1word22222234 多个装饰器的原理可以记住下个图: 手动实现装饰器 结果: hello1wordNone 显示结果: 11111hello1word22222None
阅读全文
摘要:先来个示例代码: 递归比较适合做非波那锲数列这串数里隐含着一个规律,从第 3 个数开始,后面的每个数都是它前面两个数的和 红色箭头就是每一次递归的入口函数,满足条件后,递归程序就开始返回,紫色箭头就是返回线路。每一层都逐一返回
阅读全文
摘要:冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排
阅读全文
浙公网安备 33010602011771号