• Pyhton学习——Day10


    ################################################################################################################
    #高阶函数的定义:
    #1.函数接收的参数是一个函数名
    #2.函数的返回值是一个函数名
    #3.满足上述条件的任意一个都可以称为高阶函数
    ## import time
    # def foo():
    # time.sleep(3)
    # print('你好啊林师傅')
    #
    # def test(func):
    # # print(func)
    # start_time=time.time()
    # func()
    # stop_time = time.time()
    # print('函数运行时间是 %s' % (stop_time-start_time))
    # # foo()
    # test(foo)
    ###############################################################################################################
    # def foo():
    # print('from the foo')
    # def test(func):
    # return func

    # res=test(foo)
    # # print(res)
    # res()

    # foo=test(foo)
    # # # print(res)
    # foo()
    # import time
    # def foo():
    # time.sleep(3)
    # print('来自foo')
    #不修改foo源代码
    #不修改foo调用方式
    ##############################################################################################################
    #多运行了一次,不合格
    # def timer(func):
    # start_time=time.time()
    # func()
    # stop_time = time.time()
    # print('函数运行时间是 %s' % (stop_time-start_time))
    # return func
    # foo=timer(foo)
    # foo()
    #没有修改被修饰函数的源代码,也没有修改被修饰函数的调用方式,但是也没有为被修饰函数添加新功能
    # def timer(func):
    # start_time=time.time()
    # return func
    # stop_time = time.time()
    # print('函数运行时间是 %s' % (stop_time-start_time))
    #
    # foo=timer(foo)
    # foo()
    ##################################################################################################################
    #函数的嵌套:在函数内部重新定义新的函数称为函数的嵌套,在函数内部调用其他函数不是函数的嵌套
    # def bar():
    # print('from bar')
    # def foo():
    # print('from foo')
    # bar()
    # pass
    # print(foo())
    #######################
    # def father(name):
    # print('from father %s'%name)
    # def son():
    # print('from son')
    # def grandson():
    # print('from grandson')
    # grandson()
    # son()
    # father('pandaboy')
    # from father pandaboy
    # from son
    # from grandson
    #闭包:在当前函数内找到的自己包中的变量,找不到的变量去外部找,函数作用域的体现
    ###################################################################################################################
    #装饰器的实现:
    # 1.定义一个函数(参数为另一个函数)
    # 2.设定返回值,返回值为内部函数名称
    # 3.定义内部函数,设定内部函数的方法
    #####################################################################################################################
    #装饰器的框架:
    # def timer(func):
    # def wrapper():
    # # print(func)#嵌套的作用域
    # strat_time = time.time()
    # func()
    # stop_time = time.time()
    # print('运行时间是%s'%(stop_time-strat_time))
    # return wrapper
    ####################################################################################################################
    # import time
    # @timer#作用是对函数进行计时
    # def test():
    # time.sleep(3)
    # print('test函数运行完毕')
    # timer(test)#返回的是wrapper的地址
    # test = timer(test)
    # test()
    # test函数运行完毕
    # 运行时间是3.0108001232147217
    ########################################加上返回值#####################################################
    # def timer(func):
    # def wrapper():
    # # print(func)#嵌套的作用域
    # strat_time = time.time()
    # res = func()#赋值给func(),实际会赋值给test函数的一个返回值
    # stop_time = time.time()
    # print('运行时间是%s'%(stop_time-strat_time))
    # return res#设定返回值
    # return wrapper
    # import time
    # @timer#作用是对函数进行计时
    # def test():
    # time.sleep(3)
    # print('test函数运行完毕')
    # return 1
    # # timer(test)#返回的是wrapper的地址
    # # test = timer(test)
    # res1 = test()
    # print(res1)
    #########################################加上参数######################################################
    # def timer(func):
    # def wrapper(*args,**kwargs):#默认可以输入任何参数
    # # print(func)#嵌套的作用域
    # strat_time = time.time()
    # res = func(*args,**kwargs)#就是在运行test(),赋值给func(),实际会赋值给test函数的一个返回值
    # stop_time = time.time()
    # print('运行时间是%s'%(stop_time-strat_time))
    # return res#设定返回值
    # return wrapper
    # import time
    # @timer#test = timer(test)作用是对函数进行计时
    # def test(name,age):
    # time.sleep(3)
    # print('test函数运行完毕,【名字是】:%s,【年龄是】:%s'%(name,age))
    # return 1
    # # timer(test)#返回的是wrapper的地址
    # # test = timer(test)
    # res1 = test('alex','18')#就是在运行wrapper
    # print(res1)
    #################################################################################################################
    #解压序列 a,b,c = (1,2,3)数值是一一对应的关系
    #交换解压序列
    # a,b = (1,2)
    # a,b = b,a
    # print(a,b)
    # 2 1
    # user_dic = {'username':None,'login':False}
    #
    # def auth_func(func):
    # def wrapper(*args,**kwargs):
    # if user_dic['username'] and user_dic['login'] == True:
    # res = func(*args, **kwargs)
    # return res
    # username = input('用户名:').strip()
    # password = input('密码:').strip()
    # if username =='pandaboy' and password =='123456':
    # user_dic['username'] = username
    # user_dic['login'] = True
    # res = func(*args,**kwargs)
    # return res
    # else:
    # print('用户名或密码错误')
    # return wrapper
    # @auth_func
    # def index():
    # print('欢迎来到主页')
    # @auth_func
    # def home(name):
    # print('欢迎访问根目录%s'%name)
    # def shopping_car():
    # print('查询数据库里的内容')#需要访问列表中的数据库数据
    # def order():
    # print('查询订单内容')
    # #给所有的函数加上验证功能
    # index()
    # home('alex')
    ###################################根据列表内容查询用户名及密码(不写死)####################################################
    # user_list=[
    # {'name':'alex','passwd':'123'},
    # {'name':'linhaifeng','passwd':'123'},
    # {'name':'wupeiqi','passwd':'123'},
    # {'name':'yuanhao','passwd':'123'},
    # ]
    # current_dic = {'username':None,'login':False}
    # def auth_func(func):
    # def wrapper(*args,**kwargs):
    # if current_dic['username'] and current_dic['login'] == True:
    # res = func(*args, **kwargs)
    # return res
    # username = input('用户名:').strip()
    # password = input('密码:').strip()
    # for user_dic in user_list:
    # if username ==user_dic['name'] and password ==user_dic['passwd']:
    # current_dic['username']=username
    # current_dic['login']=True
    # res = func(*args, **kwargs)
    # return res
    # else:
    # print('用户名或密码错误')
    # return wrapper
    # @auth_func
    # def index():
    # print('欢迎来到主页')
    # @auth_func
    # def home(name):
    # print('欢迎访问根目录%s'%name)
    # def shopping_car():
    # print('查询数据库里的内容')#需要访问列表中的数据库数据
    # def order():
    # print('查询订单内容')
    # #给所有的函数加上验证功能
    # index()
    # home('alex')
    # # 用户名:alex
    # # 密码:123
    # # 欢迎来到主页
    # # 欢迎访问根目录alex
    ##################################################################################################################
    # 关系型数据库:Mysql Oracle
    #集中账号管理ldap
    Win a contest, win a challenge
  • 相关阅读:
    实现一个简单的Form授权 How to: Implement Simple Forms Authentication
    寄存器寻址方式
    HDU2094 产生冠军
    HDU1060 Leftmost Digit 数论
    HDU1496 Equations [hash]
    HDU1298 T9 字典树 DFS
    HDU1051 Wooden Sticks
    HDU1800 Flying to the Mars
    HDU1285 确定比赛名次 拓扑排序
    HDU1716 排列2 组合数
  • 原文地址:https://www.cnblogs.com/pandaboy1123/p/8462586.html
Copyright © 2020-2023  润新知