摘要:
# ### 生成器函数 ''' (用def定义,里面含有yield) # yield 类似于 return 共同点在于:执行到这句话都会把值返回出去 不同点在于:yield每次返回时,会记住上次离开时执行的位置 , 下次在调用生成器 , 会从上次执行的位置往下走 而return直接终止函数,每次重头调用. yield 6 和 yield(6) 2种写法都可以 yield 6 ... 阅读全文
摘要:
# ### 生成器 ''' #生成器本质是迭代器,允许自定义逻辑的迭代器 #迭代器和生成器区别: 迭代器本身是系统内置的.重写不了.而生成器是用户自定义的,可以重写迭代逻辑 #生成器可以用两种方式创建: (1)生成器表达式 (里面是推导式,外面用圆括号) (2)生成器函数 (用def定义,里面含有yield) ''' # (1) 生成器表达式 generator ... 阅读全文
摘要:
# ### 集合推导式 """ 案例: 满足年龄在18到21,存款大于等于5000 小于等于5500的人, 开卡格式为:尊贵VIP卡老x(姓氏),否则开卡格式为:抠脚大汉卡老x(姓氏) 把开卡的种类统计出来 """ listvar = [ {"name":"王家辉","age":18,"money":10000}, {"name":"王水机","age":19,"money": 阅读全文
摘要:
#(1).{'x': 'A', 'y': 'B', 'z': 'C' } 把字典写成x=A,y=B,z=C的列表推导式 dic = {'x': 'A', 'y': 'B', 'z': 'C' } # for a,b in dic.items(): # print(a,b) res = [a+"="+b for a,b in dic.items() ] print(res) # (2). 阅读全文
摘要:
# ### 推导式 ''' 通过一行循环判断,遍历出一系列数据的方式就是推导式 特点:方便,简介,可以实现一些简单的功能 推导式当中只能跟循环和判断(单项分支) 种类中分为三种: 列表推导式,集合推导式,字典推导式 [val for val in iterable] {val for val in iterable} {a:b for a,b in iterable} ''' #... 阅读全文
摘要:
# (1) name = ['oldboy', 'alex', 'wusir'] def func(n): return n+"_leader" # map 返回迭代器 # None 地址 容器 迭代器 map(func,name) it = map(func,name) print(list(it)) # 匿名函数 it = map(lambda n : n+'_leader',na... 阅读全文
摘要:
# (1)计算任意数n的阶乘 # 5! 5*4*3*2*1 # 8! 8*7*6*5*4*3*2*1 ''' 递归函数通过两个条件出发回的过程: (1) 当前函数彻底执行完毕的时候,触发回的过程,回到上一层函数的调用处 (2) 当前函数遇到return 返回值的时,触发回的过程,回到上一层函数的调用处 ''' # 普通方法 n = 5 total = 1 for i in range(1,n+... 阅读全文
摘要:
# ### 递归函数 : 自己调用自己的函数 ''' 递:去 归:回 有去有回是递归 ''' # (1) 最简单的递归函数 def digui(n): print(n) if n>0: digui(n-1) print(n) digui(5) ''' 代码解析: 去的过程: n = 5 print(5) 5>0 digui(5-1) => digui(4) 执行到第12行,自己... 阅读全文
摘要:
# ### sorted ''' sorted(iterable,reverse=False,key="函数") 功能: 排序 把可迭代性的数据进行排序. 参数: iterable: 可迭代型数据(常用:容器类型数据 range对象 迭代器) reverse=False 从小到大排序 (升序,正序) reverse=True 从大到小排序 (降序,倒序) key = 内置函数 或者... 阅读全文
摘要:
# ### filter ''' filter(func,iterable) 功能: 过滤数据 参数: func 自定义函数 (return True 保留数据,return False 舍弃数据) iterable : 可迭代型数据(常用:容器类型数据 range对象 迭代器) 返回值: 迭代器 ''' # 保留奇数,不要偶数 def func(n): if n % 2 == 1: ... 阅读全文
摘要:
# ### reduce ''' reduce(func,iterable) 功能:计算 先把iterable中的前两个数据拿出来,扔到func当中, 进行计算,把计算的结果在和iterable当中的第三个数据扔到func中 进行计算, 依次类推... ... 直到iterable中的数据全都拿出来为止. 参数: func: 内置函数 或者 自定义函数 iterable:可迭代性... 阅读全文
摘要:
# ### 迭代器 ''' 能够被next调用,并不断返回下一个值的对象,叫迭代器(迭代器是对象) 特征:迭代器会生成惰性序列,它通过计算把值依次的返回,一边循环一边计算而不是一次性得到所有数据 优点:需要数据的时候,一次取一个,可以大大节省内存空间.而不是一股脑的把所有数据放进内存. 总结: 1.惰性序列,节省内存空间 2.遍历获取值得时候使用next,方向不可逆 3.迭代器可以遍历无限... 阅读全文
摘要:
# ### 高阶函数 :能够把函数当成参数传递的就是高阶函数 (map reduce sorted filter ) # map ''' map(func,iterable) 功能:把iterable里面的数据一个一个的拿出来放到func函数中进行处理,最后把处理的结果返回到迭代器中 参数: func : 自定义函数 或 内置函数 iterable: 可迭代性数据 (常用:容器类型数据,ra... 阅读全文
摘要:
# ### 匿名函数 ( lambda表达式 ) ''' 用一句话来表达只有返回值的函数,叫匿名函数 特点:简洁方便 语法: lambda 参数 : 返回值 ''' # (1)不带有参数的lambda表达式 def func(): return "今天要下雨,天气挺冷" # 定义一个lambda表达式 func = lambda : "今天要下雨,天气挺冷" res = func(... 阅读全文