zoukankan      html  css  js  c++  java
  • python_函数设计

     1 >>> def check_permission(func):
     2 def wrapper(*args,**kwargs):
     3 if kwargs.get('username')!='admin':
     4 raise Exception('Sorry.You are not allowed.')
     5 return func(*args,**kwargs)
     6 return wrapper
     7 
     8 >>> class ReadWriteFile(object):
     9 '''The check_permisson function is used as a decorator'''
    10 @check_permission
    11 def read(self,username,filename):
    12 return open(filename,'r').read()
    13 def write(self,username,filename,content):
    14 open(filename,'a+').write(content)
    15 write=check_permission(write)
    16 
    17 
    18 >>> t=ReadWriteFile()
    19 >>> print('Originally...')
    20 Originally...
    21 >>> print(t.read(username='admin',filename='/Users/c2apple/Desktop/file.txt'))
    22 hellow world my birthday
    23 >>> print('Now,try to write to a file...')
    24 Now,try to write to a file...
    25 >>> t.write(username='admin',filename='/Users/c2apple/Desktop/file.txt',content='
    hello my love is ended')
    26 >>> print('After calling to write....')
    27 After calling to write....
    28 >>> print(t.read(username='admin',filename='/Users/c2apple/Desktop/file.txt'))
    29 hellow world my birthday
    30 hello my love is ended
  • 相关阅读:
    实现IEnumberable接口和IEnumberator
    XAML-1
    Java基础00-Java概述1
    详解Lombok中的@Builder用法
    stream之map的用法
    stream之forEach的用法
    Java中map.getOrDefault()方法的使用
    BiPredicate的test()方法
    Function.identity()
    java 8 lamda Stream的Collectors.toMap 参数
  • 原文地址:https://www.cnblogs.com/cmnz/p/6902081.html
Copyright © 2011-2022 走看看