变量作用域,lambda函数,迭代器生成器
来源:互联网 发布:不用网络看小说 编辑:程序博客网 时间:2024/06/07 03:32
12.22
1. 变量作用域
(1) 全局变量
① 一般命名的时候前面加g 意思为global
② 要想在局部里面定义一个全局变量需要定义说明:这是一个全局变量
例如:defc():
globala # 声明这是一个全局变量
a =30
print(a)
③
④ 当全局变量和局部变量同名时局部变量优先
⑤ 全局变量和局部变量的作用域不同
⑥ 生命周期不同
(2) 局部变量
2. 匿名函数:没有名字的函数
(1) 使用一次
(2) 语法:lambda 函数简洁时候 比如只有一行就用lambda
(3) 三个重要的大数据用到的函数
① Filter过滤掉不想要的留下需要的
1) filter()为已知的序列的每个元素调用给定的布尔函数,调用中,返回值为非零的元素将被添加至一个列表中
例如:foo = [2,3,4,5,6,7]
print filter(lambda x: x%3 == 0,foo)
② Map 遍历输出
1) map()将函数调用映射到每个序列的对应元素上并返回一个含有所有返回值的列表
③ Reduce
1) 在Python 3里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里 用的话要先引入:
2) >>> from functools import reduce
3. Strip() 还可以删除俩边占表位( \t \n \v)
4. 自定义排序函数
(1) Sorted 排序函数
① Sorted() 通过reverse = True/Flase进行升降排序
② 还可以对字典进行排序
1) 通过key
2) 通过value
③ 还可以在括号里写其他条件 比如 lower upper lambda等
④ 它也是一个高阶函数.
⑤ 排序时不影响原来数据,产生新的排序数据
(2) Sort反转
① Sort(key=none,reverse=false)
1) 对列表元素进行排序,就地修改默认升序,无返回值
2) Reverse为True,反转,降序例如:.sort(reverse=True)
3) Key一个函数,指定key如何排序
a. Lst.sort(key=functionname)
② 对原来的列表进行排序,改变原来列表
5. Random随机数 之前有笔记
6. 迭代器和生成器
(1) 迭代器
① 协议:
② 可迭代对象:
③ 迭代案例:
④ 练习
生成器