当前位置:Gxlcms > Python > pythontips

pythontips

时间:2021-07-01 10:21:17 帮助过:81人阅读

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()

人气教程排行