kba977の空想庭院
kba977の空想庭院


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 搜索

python反射和在web开发方面的应用

发表于 2017-12-03 | 分类于 Web开发 | | 阅读次数

  有时候我们会碰到这样的需求,需要执行对象的某个方法,或是需要对对象的某个字段赋值,而方法名或是字段名在编码代码时并不能确定,需要通过参数传递字符串的形式输入。举个具体的例子:当我们需要实现一个通用的DBM框架时,可能需要对数据对象的字段赋值,但我们无法预知用到这个框架的数据对象都有些什么字段,换言之,我们在写框架的时候需要通过某种机制访问未知的属性。

  这个机制被称为反射(反过来让对象告诉我们他是什么),或是自省(让对象自己告诉我们他是什么),用于实现在运行时获取未知对象的信息。

一. 代码示例

a.py
1
2
def a(a):
return [1,2,3,4]
b.py
1
2
def b():
return 1
rest.py
1
2
from a import *
from b import *
阅读全文 »

python拾遗

发表于 2017-12-03 | 分类于 Python | | 阅读次数

用来记录一些经常使用的 python 实现方法

优先队列

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import heapq

class PriorityQueue(object):
def __init__(self):
self._queue = []
self._index = 0

def push(self, item, priority):
heapq.heappush(self._queue, (-priority, self._index, item))
self._index += 1

def pop(self):
return heapq.heappop(self._queue)[-1]

class Item(object):
def __init__(self, name):
self.name = name

def __repr__(self):
return 'Item(!r)'.format(self.name)
阅读全文 »

在Django中使用Celery和RabbitMQ

发表于 2017-10-13 | 分类于 Web开发 | | 阅读次数

原文链接: How to Use Celery and RabbitMQ with Django

1.png

阅读全文 »

部署Django应用

发表于 2017-10-12 | 分类于 Web开发 | | 阅读次数

原文链接: How to Deploy a Django Application to Digital Ocean

默认你已经拥有自己的云主机, 本文系统为 Ubuntu 16.04, 其他类Unix系统操作类似

安装服务环境依赖

首先我们更新源

1
2
sudo apt-get update
sudo apt-get -y upgrade
阅读全文 »

懒人工具-一键上传博客图片到七牛对象存储

发表于 2016-08-05 | 分类于 工具 | | 阅读次数

现在越来越多的博客采用静态页面的形式, 这样做的好处有很多, 一来由于是静态页面, 安全问题不用考虑, 二是我们可以用自己喜欢的编辑器在本机上用markdown编写博客, 本地留存md文件。

缺点是博客图片管理不是很方便, 于是就有了下文。

首先将需要上传的图片统一放在一个文件夹中, 博客标题名字可以当做文件夹名。

阅读全文 »
123…6
kba977

kba977

什么都略懂一点, 生活更精彩一些

30 日志
7 分类
18 标签
Facebook Twitter Github Weibo Email
友情链接
  • MacTalk
  • 兔兔西的Blog
  • 夜殇的小站
  • Thinking Realm
© 2015 - 2021 kba977
由 Hexo 强力驱动
主题 - NexT.Muse