摘要: user_dic={'username':None,'login':False} def auth_func(func): #高阶函数传的是函数名 def wrapper(*args,**kwargs): if user_dic['username'] and user_dic['login']:#先判断有没有用户登录,登录状态是不是True ... 阅读全文
posted @ 2018-10-19 15:08 犀利的攻城狮 阅读(102) 评论(0) 推荐(0)
摘要: 框架 但是以上方法需要给test做赋值工作,需要将所有的函数都一一赋值,所以有个小技巧。 返回值 将res赋值func() 非固定参数 解压序列 假设有一个很长的序列 ,只想取第一个和最后一个值 值互换 阅读全文
posted @ 2018-09-06 16:41 犀利的攻城狮 阅读(96) 评论(0) 推荐(0)
摘要: 装饰器:本质就是函数,修饰其他函数(为其他函数添加附加功能) 原则: 1、不修改被修饰函数的源代码 2、不修改被修饰函数的调用方式 记录代码运行时间,不重要。 装饰器只是储备: 装饰器=高阶函数+函数嵌套+闭包 高阶函数 1、函数接受的参数是一个函数名 2、函数的返回值是一个函数名 3、满足上述任意 阅读全文
posted @ 2018-09-05 15:32 犀利的攻城狮 阅读(114) 评论(0) 推荐(0)
摘要: 什么是生成器 可以理解为一种数据类型,这中数据类型自动实现了迭代器协议(其他的数据类型需要调用iter方法),所以生成器就是可迭代对象。 python有两种不用的方式提供生成器 1,生产器函数:常规函数定义,但是使用yield语句而不是return语句返回结果,yield语句一次返回一个结果,在每个 阅读全文
posted @ 2018-09-04 15:36 犀利的攻城狮 阅读(138) 评论(0) 推荐(0)
摘要: 1、迭代器协议:对象必须提供一个next方法,执行方法要么返回迭代中的下一项,要么就引一个stoplteration异常以终止迭代。(智能往后不能往前走) 2、可迭代对象:实现了迭代器协议的对象(如何实现 对象内部定义一个__iter__()方法) 3、协议是一种约定,可迭代对象实现了迭代器协议,p 阅读全文
posted @ 2018-09-04 14:34 犀利的攻城狮 阅读(99) 评论(0) 推荐(0)
摘要: ~ 阅读全文
posted @ 2018-08-23 16:26 犀利的攻城狮 阅读(68) 评论(0) 推荐(0)
摘要: map函数(处理可迭代对象), map函数相对于for循环,将对象l交给str函数处理,map直接处理的结果为内存地址,需要用list转换 以下是将列表转换成字符串 str reduce函数 一定要先引用 从函数库中导入 from funtools import reduce reduce 相当于合 阅读全文
posted @ 2018-08-23 16:09 犀利的攻城狮 阅读(108) 评论(0) 推荐(0)
摘要: 处理流程: 1、打开文件,得到文件句柄并复制给一个变量 2、通过句柄对文件进行操作 3、关闭文件 基本操作 readline( ) 一次读一行 readlines 读取后为列表 w 只读模式 如果文件存在会把当前文件清空,然后进行其他的操作。如果文件不存在,会新建一个新的文件 追加操作 a 所有的文 阅读全文
posted @ 2018-08-20 15:29 犀利的攻城狮 阅读(172) 评论(0) 推荐(0)
摘要: chr & ord pow reversed round slice 切片 sorted 从小打到排序 不用类型不能排序 此方法同max 阅读全文
posted @ 2018-08-15 16:30 犀利的攻城狮 阅读(112) 评论(0) 推荐(0)
摘要: MAX函数 print(listmax(zip(xxx.key,xxx.value)))) MIN用法一样 不同类类型间不能进行比较 1,max函数处理的是可迭代对象,相当于一个for循环去除每个元素进行比较, 不同类型之间不能进行比较, 2,每个原色间进行比较,是从每个元素的第一个位置依次比较,如 阅读全文
posted @ 2018-08-14 16:00 犀利的攻城狮 阅读(194) 评论(0) 推荐(0)