06 2019 档案

摘要:def find(index): if index in [1,2]: return 1 return find(index-1)+find(index-1)print(find(5))#def find(index,l=[0]): l[0]+=1 if index==2: l[0]-=1 retu 阅读全文
posted @ 2019-06-29 01:40 谭文章
摘要:# 什么叫算法# 计算的方法 : 人脑复杂 计算机简单 # 99 * 13 = 1287 = 13*100 - 13# 查找 : 找数据# 排序 :# 最短路径 # 我们学习的算法 都是过去时# 了解基础的算法 才能创造出更好的算法# 不是所有的事情都能套用现成的方法解决的# 有些时候会用到学过的算 阅读全文
posted @ 2019-06-29 01:18 谭文章
摘要:#递归函数 # 了解什么是递归 : 在函数中调用自身函数 # 最大递归深度默认是997/998 —— 是python从内存角度出发做得限制 # 能看懂递归 # 能知道递归的应用场景 # 初识递归 —— # 算法 —— 二分查找算法 # 三级菜单 —— 递归实现# while True:# print 阅读全文
posted @ 2019-06-25 13:25 谭文章
摘要:# 3.用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sbname=['alex','wupeiqi','yuanhao','nezha']# def func(item):# return item+'_sb'# ret = map(func,name) #ret是迭代器# f 阅读全文
posted @ 2019-06-25 13:23 谭文章
摘要:def add(x,y): return x+yadd = lambda x,y:x+yprint(add(1,2))dic={'k1':10,'k2':100,'k3':30}def func(key): return dic[key]print(max(dic,key=func)) #根据返回值 阅读全文
posted @ 2019-06-25 13:22 谭文章
摘要:# 迭代器# 生成器进阶# 内置函数 # 55个 # 带key的 max min filter map sorted # 思维导图上红色和黄色方法必须会用# 匿名函数 # lambda 参数,参数2 : 返回值表达式 # 和五个特殊的内置函数可以结合使用 阅读全文
posted @ 2019-06-25 13:22 谭文章
摘要:# 数据类型 :int bool 。。。# 数据结构 : dict list tuple set str reversed()l = [1,2,3,4,5]l.reverse()print(l)l = [1,2,3,4,5]l2 = reversed(l)print(l2)保留原列表,返回一个反向的 阅读全文
posted @ 2019-06-25 13:21 谭文章
摘要:# def demo():# for i in range(4):# yield i## g=demo()## g1=(i for i in g)# g2=(i for i in g1)## print(list(g))# print(list(g1))# print(list(g2))def ad 阅读全文
posted @ 2019-06-23 18:09 谭文章
摘要:3.处理文件,用户指定要查找的文件和内容,将文件中包含要查找内容的每一行都输出到屏幕def check_file(filename,aim): with open(filename,encoding='utf-8') as f: #句柄 : handler,文件操作符,文件句柄 for i in f 阅读全文
posted @ 2019-06-23 18:08 谭文章
摘要:迭代器和生成器迭代器 可迭代协议 —— 含有iter方法的都是可迭代的 迭代器协议 —— 含有next和iter的都是迭代器 特点 节省内存空间 方便逐个取值,一个迭代器只能取一次。生成器 —— 迭代器 生成器函数 含有yield关键字的函数都是生成器函数 生成器函数的特点 调用之后函数内的代码不执 阅读全文
posted @ 2019-06-23 18:07 谭文章
摘要:'\r' 回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖; '\n' 换行,换到当前位置的下一行,而不会回到行首; 阅读全文
posted @ 2019-06-23 17:59 谭文章
摘要:def generator(): print(123) content = yield 1 print(' ',content) print(456) arg = yield 2 '''''' yieldg1 = generator()g2 = generator()g1.__next__()g2. 阅读全文
posted @ 2019-06-21 10:08 谭文章
摘要:迭代器和生成器迭代器:双下方法 : 很少直接调用的方法。一般情况下,是通过其他语法触发的可迭代的 —— 可迭代协议 含有__iter__的方法('__iter__' in dir(数据))可迭代的一定可以被for循环迭代器协议: 含有__iter__和__next__方法迭代器一定可迭代,可迭代的通 阅读全文
posted @ 2019-06-21 10:06 谭文章
摘要:#生成器函数# def generator():# print(1)# return 'a'## ret = generator()# print(ret)#只要含有yield关键字的函数都是生成器函数# yield不能和return共用且需要写在函数内# def generator():# pri 阅读全文
posted @ 2019-06-21 00:48 谭文章
摘要:# 双下方法# print([1].__add__([2]))# print([1]+[2])# 迭代器# l = [1,2,3]# 索引# 循环 for# for i in l:# i## for k in dic:# pass# list# dic# str# set# tuple# f = o 阅读全文
posted @ 2019-06-21 00:47 谭文章
摘要:# 函数 —— 2天 # 函数的定义和调用 # def 函数名(形参): #函数体 #return 返回值 #调用 函数名(实参) # 站在形参的角度上 : 位置参数,*args,默认参数(陷阱),**kwargs # 站在实参的角度上 : 按照位置传,按照关键字传 # 返回值:没有返回值 返回一个 阅读全文
posted @ 2019-06-21 00:46 谭文章
摘要:# 复习# 讲作业# 装饰器的进阶 # functools.wraps # 带参数的装饰器 # 多个装饰器装饰同一个函数# 周末的作业 # 文件操作 # 字符串处理 # 输入输出 # 流程控制 # 装饰器# 开发原则 : 开放封闭原则# 装饰器的作用 :在不改变原函数的调用方式的情况下,在函数的前后 阅读全文
posted @ 2019-06-19 14:01 谭文章
摘要:接收的时候是聚合,调用的时候是打散 print(*args)本来在里面用的时候是用args,是一个元祖,加上一个 * 号,把元祖解包了(打散了)。 from functools import wraps def wrapper(func): @wraps(func) def inner(*args, 阅读全文
posted @ 2019-06-19 14:00 谭文章
摘要:复习: # 三元运算符# 接收结果的变量 = 条件为真的结果 if 条件 else 条件为假的结果# 接收结果的变量 = “真结果” if 条件 else “假结果”## 命名空间 和 作用域# 三种:内置 全局 局部# 作用域:全局 局部 globals() locals()# global 在局 阅读全文
posted @ 2019-06-18 23:28 谭文章
摘要:要背的: 阅读全文
posted @ 2019-06-18 17:16 谭文章
摘要:局部命名空间一般之间是独立,局部命名空间是调用函数时生成的函数的名字指向它所在的地址局部不会对全局产生影响,除非加global。# def max(a,b):# return a if a>b else b## def the_max(x,y,z): #函数的嵌套调用# c = max(x,y)# 阅读全文
posted @ 2019-06-17 23:10 谭文章
摘要:def max(a,b): return a if a>b else bprint(max(1, 2)) # 函数进阶# a = 1# def func():# print(a)# func()# 命名空间和作用域# print()# input()# list# tuple#命名空间 有三种#内置 阅读全文
posted @ 2019-06-17 19:53 谭文章
摘要:函数的定义与函数的调用是两个部分 定义函数的时候里面的代码不执行,等到调用函数的时候再执行 只写return和不写return返回None 函数遇到return,这个函数就被结束 元祖和列表都可以解包,字典也可以 def func(): lis=['火狐','谷歌'] for i in lis: p 阅读全文
posted @ 2019-06-13 15:02 谭文章
摘要:read()原样输出 读取出来的是字符串类型 readline()输出一行 读取出来的是字符串类型 readlines()把每行文本作为一个字符串存入列表,并返回列表 打开方式: b以bytes类型打开 open()函数:python是透过操作系统去操作文件的 操作系统是什么编码,open默认就是什 阅读全文
posted @ 2019-06-12 18:24 谭文章
摘要:列表删除:pop([index])有返回值 remove('元素‘)没有返回值 按元素删,元素是什么,就写什么,是数字就写数字,不要加引号,加引号就变成字符串了,没有就报错。 字典删除:pop( ’键‘ ,’报错默认值‘ )按键删除,返回键所对应的值。 如果没有此键,报错默认值没有填写,则报错,如果 阅读全文
posted @ 2019-06-12 17:54 谭文章
摘要:读写只会进行两步, r+模式下写读 seek是按字节去找的 for line in f: for循环是一行一行的读取出来 strip默认去空格和换行符 空格、制表符、换行符、回车、换页垂直制表符和换行符称为 “空白字符” for in 一个不可变数据类型,比如字符串,先把字符串存到for循环中去了 阅读全文
posted @ 2019-06-06 00:20 谭文章
摘要:集合是无序的 增:add()添加进去是无序,不一定是最后面,update()像extend() 删: 没有改,有查,里面的元素是不可变类型 查用for in 交集: 并集: 反交集 叉集: 子集与超集 面试题: 、 变成不可变数据类型 深浅COPY: 浅copy: 深copy: 对于深copy来说, 阅读全文
posted @ 2019-06-05 23:49 谭文章
摘要:bytes类型默认编码方式是utf-8和gbk,反正不是unicode strn内部的编码方式是Unicode range相当于只有一次,第一次之后相当于一个有序列表。range顾头不顾尾。 range新发现: 结果: 也是左包右不包。所以-1取不到。从5开始 range默认开始是0 字符串和数字 阅读全文
posted @ 2019-06-04 22:44 谭文章
摘要:Unicode转化为gbk和utf-8 表现形式:str转化为bytes 阅读全文
posted @ 2019-06-04 22:13 谭文章
摘要:增加: 结果 删: 结果: 结果: 返回值是一个元组形式的键值 改: 结果: 结果: 代码: 阅读全文
posted @ 2019-06-03 13:15 谭文章
摘要:结果: join:返回一个字符串 列表转化为字符串 可迭代对象都可以 结果: 不报错什么也不执行 结果: 阅读全文
posted @ 2019-06-03 01:15 谭文章