摘要: 1.lambda 匿名函数 zrf = lambda x:x**2 ret = zrf(10) #这里面实际上还是有函数名 print(ret) 2.sorted 排序(list也自带排序功能) 排序函数 sorted(iterable,key=函数名,reverse=False) key:把里面的 阅读全文
posted @ 2019-03-24 19:45 Jonathan1 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 1.生成器 背景:列表太占内存,所以我们想要多少取多少 本质是迭代器 写法和迭代器不一样 用法一样 return和yield都可以返回数据 特点: 1.节省内存 几乎不占用内存 2.惰性机制 3.只能往前走 # 找不到yield报错 # 对程序效率提升特别大 #send()也可以实现类似__next 阅读全文
posted @ 2019-03-24 11:24 Jonathan1 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 闭包 写法:在外层函数声明一个变量 在内层函数使用或者返回这个变量 如果不用这个变量就不是闭包 1.可以保护我的变量 2.可以让一个变量常驻内层(但不是全局变量) 这个执行时间不确定 所以你必须给我留着 3.查看是否有闭包 ret.__closure__ 4.闭包应用: 保护变量 常驻内层 >网络爬 阅读全文
posted @ 2019-03-24 11:09 Jonathan1 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 1.作用域函数之一道有坑的面试题 # 2,(此题有坑)下面代码打印的结果分别是_________,________,________. def extendList(val, list=[]): # 默认值在内存只会产生一份 print(id(list)) list.append(val) retu 阅读全文
posted @ 2019-03-22 20:16 Jonathan1 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 1.作用域:变量或者函数的声明周期 1.全局命名空间--> 我们直接在py文件中, 函数外声明的变量都属于全局命名空间 2.局部命名空间--> 在函数中声明的变量会放在局部命名空间 3.内置命名空间--> 存放python解释器为我们提供的名字, list, tuple, str, int这些都是内 阅读全文
posted @ 2019-03-22 20:06 Jonathan1 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 1. 什什么是函数 对功能和动作的封装 2. 函数定义, 函数名, 函数体以及函数的调⽤用 def 函数名(形参列表): 函数体(return) 3. 函数的返回值 1. 遇到return. 此函数结束, 函数后⾯面的东⻄西将不会再执⾏行行 2. return 返回值 1.如果return什什么都不 阅读全文
posted @ 2019-03-22 10:52 Jonathan1 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 1.关于删除(重点) 1.join可以把列表转化字符串 join里面内容迭代 2.for el in lst: lst.remove(el) # 内部有一个变量来记录当前被循环的位置 # 直接删除是删不干净的, # 原因是每次删除都涉及到元素移动 先把要删除的内容保存到一个新列表里面 循环这个新列表 阅读全文
posted @ 2019-03-21 14:53 Jonathan1 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1.说反话:给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出 1 # 说反话 2 # 方法1 3 str1 = input() 4 lst1 = str1.split(" ") 5 lst1.reverse() 6 s = " ".join(lst1) 7 print(s) 8 9 # 方 阅读全文
posted @ 2019-03-21 11:33 Jonathan1 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 1.小数据池 > 为了快 避免重复创建 1.代码块 每次运行的一个单元 函数/类/command交互命令 eval() 2.is 和 == 内存地址 id(变量名) 内存的开辟是由解释器决定的 is比较的是内存地址 == 判断值是否相等(我们一直在用) 在python里面,默认会把数字、字符串、bo 阅读全文
posted @ 2019-03-21 10:37 Jonathan1 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 1.有字符串 "k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....} 1 # 转换成字典(面试题) 这里面主要就是一个切割 2 str1 = "k:1|k1:2|k2:3|k3:4" 3 dic = {} 4 lst = str1.split("|") 5 for 阅读全文
posted @ 2019-03-21 10:09 Jonathan1 阅读(228) 评论(0) 推荐(0) 编辑