zoukankan      html  css  js  c++  java
  • 留给晚上分享用的python代码

    #encoding=utf8
    __author__ = 'Administrator'

    #如果是直接运行文件的话
    if __name__=="__main__":
        print("main")

    #怎么做性能测试
    import time
    def timer(reptimes,func,*pargs,**kargs):
        start=time.clock()
        for i in range(reptimes):
            func(*pargs,**kargs)
        return time.clock()-start
    def test(test):
        [i for i in range(test)]
    print(timer(100,test,100))

    #字符串格式化
    print("{0}-{1}-{2}".format(1,1,1))
    print("{name}-{age}".format(name="name",age="age"))

    #代替linq
    x=range(10)
    print(str(x))
    #解析表达式 速度最快
    x1=[i for i in x if i%2==0]
    print(x1)
    x2=x[0::2]
    print(x2)
    x3=list(map((lambda i:i%2==0 and i or None),x))
    print(x3)
    x4=list(filter(lambda i:i%2==0,x))
    print(x4)


    #普通类
    class Person(object):
        def __init__(self,name,age):
            self._name=name
            self._age=age
        @property
        def name(self):
            return self._name
        @name.setter
        def name(self,value):
            self._name=(value+"...")
        @name.deleter
        def name(self):
            raise RuntimeError("no")
        @staticmethod
        def Run(someone):
            if isinstance(someone,Person):
                print("run")
            else:
                raise RuntimeError("只有人能跑")
        def __str__(self):
            return "my name is "+self._name+" i'm "+str(self._age)
    john=Person("john",11)
    print(john)
    Person.Run(john)
    #Person.Run(1)
    john.name="john"
    print(john)
    #del john.name

    #演示继承
    class Man(Person):
        def __init__(self,name,age,sex):
            super(Man,self).__init__(name,age)
            self.sex=sex
        def __str__(self):
            return super(Man,self).__str__()+self.sex
    man=Man("man",21,"男")
    print(man)

    from abc import abstractmethod,abstractproperty,ABCMeta
    #抽象类
    class abClass():
        __metaclass__=ABCMeta
        @abstractmethod
        def abMethod(self):
            pass
        @abstractproperty
        def abPr(self):
            pass
    #abEntity=abClass()

    #演示AOP
    class trace(object):
        def __init__(self,func):
            self.func=func
        def __call__(self, *args, **kwargs):
            print("------begin------")
            print(dir(self.func))
            print(self.func.__code__)
            self.func(*args,**kwargs)
            print("----------end----------")
    #演示AOP
    def mydecorator(func):
        def _mydecorator(*pargs,**kargs):
            print("ffff")
            res=func(*pargs,**kargs)
            return res
        return _mydecorator

    def complexDecorator(name):
        def _mydecorator(func):
            def _mydecorator(*pargs,**kargs):
                print(name)
                res=func(*pargs,**kargs)
                return res
            return _mydecorator
        return _mydecorator

    @complexDecorator("bw")
    @mydecorator
    @trace
    def demoTrace():
        print("me")
    demoTrace()

  • 相关阅读:
    Palindrome Linked List 解答
    Word Break II 解答
    Array vs Linked List
    Reverse Linked List II 解答
    Calculate Number Of Islands And Lakes 解答
    Sqrt(x) 解答
    Find Median from Data Stream 解答
    Majority Element II 解答
    Binary Search Tree DFS Template
    188. Best Time to Buy and Sell Stock IV
  • 原文地址:https://www.cnblogs.com/brightwang/p/2068547.html
Copyright © 2011-2022 走看看