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

  • 相关阅读:
    koa 基础(十)原生node.js 在 koa 中获取表单提交的数据
    koa 基础(九) ejs 模板引擎的使用
    koa 基础(八)koa 中间件的执行顺序
    koa 基础(七)错误处理中间件
    [翻译] KVNProgress
    编写带有点击特效的UIButton
    用Easing函数实现碰撞效果
    EasingAnimation
    什么时候会执行viewDidLoad方法
    UIButton的两种block传值方式
  • 原文地址:https://www.cnblogs.com/TendToBigData/p/10501253.html
Copyright © 2011-2022 走看看