zoukankan      html  css  js  c++  java
  • Decorators ,Lambda Functions and Sequences of Python

    #using Decorators   not understand really
    import operator
    class Files:
        def __init__(self,**kwargs):
            self.properties =kwargs
    
        def copy(self):
            print "copying"
        def move(self):
            print "moving "
        def remove(self):
            print "deleting"
        def get_properites(self):
            return self.properties
    
        def get_property(self,key):
            return self.properties.get(key)
    
        @property
        def privacy(self):
            return self.properties.get("privacy")
        @privacy.setter
        def privacy(self,c):
            self.properties['privacy'] =c
    
        @privacy.deleter
        def privacy(self):
            del self.properties['privacy']
    
    
    
        #Lambda functions
        def calcuate(self,x):
            return x*2
        def cal2(self,j):
            t = lambda x: x * 2
            return t(j)
    
        # Multiple Arguments Using lambda
        def MulArg(self,x,y):
            t= lambda x,y:(x*y,x+y)
            return t(x,y)
    
        #Operators and KeyWords for sequences
    
        def OKs(self):
            t = tuple(range(29)) # tuple can not changed
            l= list(range(23))    # list can change
            print t
            print l
    
        # itemgetter Not easy really
        def itemgetee(self):
            getseconditem = operator.itemgetter(1)
            ls =['a','b','c','d','e']
            tu=('a','gg','d','c','f')
            print (getseconditem(ls))
            print (getseconditem(tu))
            print (operator.itemgetter(1,3,5)('abcdefg'))
    
    
    def main():  # here not main(self)  ,will get error  TypeError: main() takes exactly 1 argument (0 given)
        imageDoc = Files(privacy="secret",you="your")
        print imageDoc.get_property("privacy")
        print imageDoc.get_property("you")
    
        D = Files()
        D.privacy="dddddddddd"
        print D.privacy # will get dddddddd
        print imageDoc.calcuate(3)  # works
        print D.calcuate(3)         # works
        print D.cal2(3)
        print D.MulArg(13,7)
        print D.MulArg(13, 7)[0]
        print D.MulArg(13, 7)[1]
        print D.OKs()
        D.itemgetee()
    
    main()

  • 相关阅读:
    Yii UI 小部件
    Sketch Measure 产品图例和标注工具
    使用 redis “捕捉” “用户登录过期” 事件
    后端判断用户是否关闭浏览器(关闭网站相关的全部tab)
    js精准时间迭代器(定时器)
    chm只看到目录,看不到内容解决办法
    form提交表单没接收到$_POST
    旺店通erp系统
    DokuWiki 开源wiki引擎程序
    kohana 简单使用
  • 原文地址:https://www.cnblogs.com/TendToBigData/p/10501253.html
Copyright © 2011-2022 走看看