18-- pitón aprender los ejercicios

# Trabajo: 
# 1, para explicar la clase ha escrito decorador de referencia dictado listo mañana
def auth (tipo_bd):
     def deco (func):
         def envoltura (* args, ** kwargs): 
            nombre = input ( ' Su nombre: >>> ' ) .strip () 
            pwd = input ( ' su contraseña >>> : ' ) .strip () 

            si tipo_bd == ' archivo ' :
                 print ( ' 基于文件的验证' )
                 si el nombre == ' Egon '  y pwd == ' 123 ' :
                    realmente = FUNC (* args, ** kwargs)   # índice (1,2) 
                    de retorno RES
                 la persona :
                     Imprimir ( ' contraseña de usuario o un error ' )
             elif tipo_bd == ' mysql ' :
                 Imprimir ( ' autenticación basada de mysql ' )
             elif tipo_bd == ' LDAP ' :
                 Imprimir ( ' basado en la autenticación LDAP ' )
             de la otra :
                imprimir ( ' 不支持该tipo_bd ' ) 

        de retorno envoltorio 

    volver deco 


@auth (tipo_bd = ' archivo ' )   # @deco # index = deco (índice) Índice # = envoltura 
def index (x, y):
     impresión ( ' en índices> >% s:% s ' % (x, y)) 


@auth (tipo_bd = ' mysql ' )   # @deco # = casa deco (casa) # = casa envoltorio 
def casa (nombre):
     print ( ' Inicio - >> % s ' % nombre)

 
@auth (tipo_bd = ' LDAP ' )   # cuenta de origen es la contraseña LDAP 
DEF Transferencia ():
     Imprimir ( ' Transferencia ' )

 



# 2: ¿Recuerdas los conceptos que utilizamos objeto de función para producir una función de diccionario de operar el equipo, Vamos, vamos, tenemos una práctica en el taller,
# al principio del archivo declarar un diccionario vacío, y luego añadir adornos delante de cada función , una operación de terminación se añade automáticamente al diccionario
info = {} 


def make_dic (Func):
     def envoltorio (* args, ** kwargs): 
        res = func (* args, ** kwargs) 
        nombre = func. __name__ 
        info [nombre] = func
         retorno res 

    vuelven envoltorio 


@make_dic 
def transferencia ():
     print ( ' transferencia ' ) 


@make_dic 
def : login ()
     print ( ' entrada ' ) 


de transferencia () 
de inicio de sesión () 
print (info) 
info [ ' Transfer ' ] ()   # del diccionario utilizando tecla para invocar la función 
'' ' resultados: 
Transferencia 
de sesión 
{' transferencia ': <función de transferencia en 0x100c829d0>,' Login ': <función de inicio de sesión en 0x100c82a60>} 
Transferencia 

Proceso de acabado 0 código de salida con 
'' '

 


# 3, escriba el decorador registro de implementar las funciones tales como: Una vez que el camino de función f1 a cabo, el mensaje 21/07/2017 11:12:11 f1 carrera se escribe en el archivo de registro, el archivo de registro se puede especificar
Nota: formato de tiempo de adquisición
importación tiempo 
time.strftime ( ' % Y-% m-% d% X ' )
 de importación tiempo 


def log_v (PATH):
     def add_log (func):
         def envoltura (args *, ** kwargs): 
            res = func (* args , ** kwargs) 
            con abierto (path, ' ab ' ) como log_f: 
                log_f.write ( ' {} {} run \ n ' .formato (time.strftime ( ' % Y-% m-% d% X ' ) , func. __name__ ) .encode ( ' utf-8 ' ))
            retorno RES 

        retorno warpper 

    retorno add_log 


@log_v ( ' record.log ' )
 DEF func1 ():
     Imprimir ( ' ejecución func1 ' ) 
func1 () 
'' ' 
resultados: 
contenido record.log 
03/24/2020 18:28:31 RUN Func1 
03/24/2020 18:28:33 func1 RUN 
03/24/2020 18:28:34 func1 RUN 

'' '

 


# 4, sobre la base de una manera iterativa, las cadenas de valor, listas, tuplas, diccionarios, mientras iteración del bucle, establezca el objeto de archivo
def while_get (obj): 
    obj_iterator = obj. __iter__ ()
     mientras Verdadero:
         try :
             impresión (. obj_iterator __next__ ())
         excepto StopIteration:
             descanso 
while_get ( ' 123 ' ) 
while_get ([ 1,2,3,4 ]) 
while_get (( 1,2,3 )) 
while_get ( { ' 1 ' : 1, ' 2 ' : 2 }) 
while_get ({ 1,2,3 }) 
con abierto ( 'record.log ' ' rb ' ) como f: 
    while_get (f) 
''' 
结果: 
1 
2 
3 
1 
2 
3 
4 
1 
2 
3 
1 
2 
1 
2 
3 
b'2020-03-24 18:28:31 ejecución func1 \ n ' 
b'2020-03-24 18:28:33 func1 run \ n' 
b'2020-03-24 18:28:34 func1 run \ n ' 
'''

 


# 5, implementar encargo iterador volumen de funciones
def myrange (inicio, final, paso = 1 ):
     mientras (empezar < final):
         rendimiento inicio 
        iniciar + = paso 

para i en myrange (1,7,2 ):
     impresión (i)
 '' ' 
1 
3 
5 

'''

 

Supongo que te gusta

Origin www.cnblogs.com/heirenxilou/p/12560833.html
Recomendado
Clasificación