首页  >  文章  >  后端开发  >  python tips

python tips

巴扎黑
巴扎黑原创
2016-12-09 13:27:142497浏览

1、enum 

Python代码  

#!/usr/bin/env python  
# -*- coding:utf-8 -*-  
  
def enum(**enums):  
    return type('Enum', (), enums)  
Gender = enum(MALE=0,FEMALE=1)  
print Gender.MALE  
print Gender.FEMALE



2、检查字符串是否是number 

Python代码  

s='123456789'  
s.isdigit()#return True


3、list取交集 

Python代码  

s=[1,2,3]  
w=[2,3,4]  
list(set(s).intersection(w))


4、两个list转成一个dict 

Python代码  

dict(zip(a,b))



5、singleton 

Python代码  

def singleton(cls):  
    instances = {}  
    def get_instance():  
        if cls not in instances:  
            instances[cls] = cls()  
        return instances[cls]  
    return get_instance


第二种tornado IOLoop中使用的单例模式: 

Python代码  

@staticmethod  
def instance():  
    """Returns a global IOLoop instance. 
 
    Most single-threaded applications have a single, global IOLoop. 
    Use this method instead of passing around IOLoop instances 
    throughout your code. 
 
    A common pattern for classes that depend on IOLoops is to use 
    a default argument to enable programs with multiple IOLoops 
    but not require the argument for simpler applications:: 
 
        class MyClass(object): 
            def __init__(self, io_loop=None): 
                self.io_loop = io_loop or IOLoop.instance() 
    """  
    if not hasattr(IOLoop, "_instance"):  
        with IOLoop._instance_lock:  
            if not hasattr(IOLoop, "_instance"):  
                # New instance after double check  
                IOLoop._instance = IOLoop()  
    return IOLoop._instance


6、list排重 

Python代码  

{}.fromkeys(list).keys()


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:redis-python下一篇:python decorators