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

  • 相关阅读:
    『笔记』数学数论(八)
    『笔记』BSGS
    『笔记』组合数学(六)
    01 分数规划
    高斯消元
    拉格朗日插值法
    洛谷网课数论
    [IOI2013]robots 机器人
    P3530 [POI2012]FES-Festival
    NOIP 2015 day1
  • 原文地址:https://www.cnblogs.com/TendToBigData/p/10501253.html
Copyright © 2011-2022 走看看