易截截图软件、单文件、免安装、纯绿色、仅160KB

Python之美 Decorator深入详解(一)

There should be one—--and preferably only one –--obvious way to do it.
                                                                                ----摘自The Zen of Python, by Time Peters
                                                         一些往事
  在正式进入Decorator话题之前,请允许我讲一个小故事。
  在最近的项目开发过程中,一位同事在读我的代码的时候,提出质疑,为什么同样的验证代码要重复出现在服务接口中呢?
  如某服务接口是游戏中的玩家想建造建筑:
def build(user, build_name):
if not is_user_valid(user):
redirect("/auth/login/")
return False
#do something here
return create_building(build_name) 
   在build这个方法中,前3行是用来检测玩家是否已经验证过的,如果是非验证的玩家,就重定向到登陆页面;如果是验证过的玩家,就给他建造他想要的建筑。
   他指出这样的3行验证代码(虽然已经很短)将会出现任意一个玩家服务接口中——升级建筑、拆建筑、甚至是频繁的聊天,我说这只是Ctrl+C、Ctrl+V的时间啊,但是那时候我深想,如果现在需求有变动,要在原来的验证失败的情况下,写日志,那原来的3行代码就变成4行:
if not is_user_valid(user):
redirect("/auth/login/")
log_warning(" %s is trying to enter without permission!" %(user["name"]))
return False  
  更痛苦的是,你要在每个出现if not is_u


相关文档:

python写的将一些类型的文件压缩为7z格式

#将一些类型的文件压缩为7z.py
#for folder all file do 7z
import os
import sys
import distutils.file_util
def ImportOkFile():
    if(os.path.isfile("D:\\Records\\将一些类型的文件压缩为7z_record.txt")==False):
        f=open("D:\\Reco ......

python 读http小记

conn = httplib.HTTPConnection(EPG_IP + ":" + HTTP_PORT)
url = FAV_URL_PARTH +"userid=" + USER_ID + FAV_DIR_MODIFY
param = '''<ps100request id="Favorite.Category.modify">
<categoryid>'''+categoryid+'''</categoryid>
<categoryname>'''+categoryname+'''</ ......

初始化函数中的虚函数调用( C++ vs python )

代码+结果,不做解释
当然,对于python没有virtual function一说,估计当作对比一个例子看看吧。
#include <iostream>
using namespace std;
class base
{
public:
virtual void foo() { cout << "base" << endl; }
base() { foo() ;}
};
class derive: public base
{
pub ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号