PythonÖ®ÃÀ DecoratorÉîÈëÏê½â(Ò»)
There should be one—--and preferably only one –--obvious way to do it.
----Õª×ÔThe Zen of Python, by Time Peters
һЩÍùÊÂ
ÔÚÕýʽ½øÈëDecorator»°Ìâ֮ǰ£¬ÇëÔÊÐíÎÒ½²Ò»¸öС¹ÊÊ¡£
ÔÚ×î½üµÄÏîÄ¿¿ª·¢¹ý³ÌÖУ¬Ò»Î»Í¬ÊÂÔÚ¶ÁÎҵĴúÂëµÄʱºò£¬Ìá³öÖÊÒÉ£¬ÎªÊ²Ã´Í¬ÑùµÄÑéÖ¤´úÂëÒªÖØ¸´³öÏÖÔÚ·þÎñ½Ó¿ÚÖÐÄØ£¿
Èçij·þÎñ½Ó¿ÚÊÇÓÎÏ·ÖеÄÍæ¼ÒÏ뽨Ô콨Öþ£º
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
Ïà¹ØÎĵµ£º
def getText(self,nodelist):
rc=""
for node in nodelist:
if node.nodeType == node.TEXT_NODE or node.nodeType == node.CDATA_SECTION_NODE:
rc = rc + node.data
return rc
def parseXML(self,requesturl,xml):
dom = minidom.parse(requesturl)
for node in dom.getElementsByTagName('ca ......
#½«Ò»Ð©ÀàÐ͵ÄÎļþѹËõΪ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 ......
ÎÊÌâÃèÊö
ÔÚC++ºÍPython»ìºÏ±à³ÌÖУ¬ÔÚÈí¼þ·¢²¼µÄʱºòÐèÒª½«pythonµÄ½âÊÍÆ÷´ò°üµ½°²×°³ÌÐòÖУ¬ÎªÁËÌá¸ßÓû§ÌåÑ飬ÎÒÃÇÐèÒªÈÃÓû§¸Ð¾õ²»µ½pythonµÄ°²×°£¬Èç¹ûÓû§ÒѾ°²×°ÓÐpythonµÄ»·¾³£¬ÎÒÃÇÒ²Òª±£Ö¤²»Ó°ÏìÏÖÓеÄϵͳ¡£
½â¾ö·½°¸
ÔÚPython2.5ÒÔºó£¬pythonÖ§³Ö´ÓzipÎļþÖжÁÈ¡python½Å±¾Îļþ£¬Ö§³Ö¶ÁÈ¡py£¬pyc£¬pyo£¬²»Ö ......
´úÂë+½á¹û£¬²»×ö½âÊÍ
µ±È»£¬¶ÔÓÚpythonûÓÐvirtual functionһ˵£¬¹À¼Æµ±×÷¶Ô±ÈÒ»¸öÀý×Ó¿´¿´°É¡£
#include <iostream>
using namespace std;
class base
{
public:
virtual void foo() { cout << "base" << endl; }
base() { foo() ;}
};
class derive: public base
{
pub ......
#coding=utf-8
from math import sqrt,cos,sin
import Image, ImageDraw
class SpireShape(object):
def __init__(self, draw):
self.draw = draw
self.line_width = 1
& ......