Python基础第六课

 

filter() 过滤 (惰性计算)

 
filter() 接收一个函数(过滤的标准)和一个序列。filter() 把传入的函数依次作用于每个元素,
然后根据返回值是 True 还是 False 决定保留还是丢弃该元素。
 
    过滤标准:
def is_odd(n):
    return n % 2 == 1
 
a = list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))
print(a)
 

sorted 排序

 
sorted([36, 5, -12, 9, -21])
[-21, -12, 5, 9, 36]
 
带key
    先做key函数处理,但是结果还是对应到原来的
sorted([36, 5, -12, 9, -21], key=abs)
[5, 9, -12, -21, 36]
 
字符串排序
sorted(['bob', 'about', 'Zoo', 'Credit'])
['Credit', 'Zoo', 'about', 'bob']
 
        反向排序
            传入第三个参数 reverse=True 
sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower,reverse=True)
['Zoo', 'Credit', 'bob', 'about']
 
 

返回 函数

            函数作为返回值
 
def lazy_sum(*args):
    def sum():
        ax = 0
        for n in args:
        ax = ax + n
        return ax
    return sum
 
f = lazy_sum(1, 3, 5, 7, 9)
调用f()才计算
 

匿名函数

    适用于比较简单的函数
    关键字 lambda 表示匿名函数,冒号前面的 x 表示函数参数
lambda x: x * x 实际上就是:
def f(x):
    return x * x
 
 

偏函数

 
import functools
int2 = functools.partial(int, base=2)
这样int2就是一个专门的二进制的int函数
等效于:
def int2(x, base=2):
    return int(x, base)
 
当函数的参数个数太多,需要简化时,使用 functools.partial 可以创建一个新的函数
,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。
 

模块

在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。
为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,
这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。
在 Python 中,一个.py 文件就称之为一个模块(Module)。
Python 又引入了按目录来组织模块的方法,称为包(Package)。
 
模块代码规范:
 
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
 
' 注释字符串 '
 
__author__ = '作者名字'
 
代码体
 
 
安装第三方模块
 
除了内建的模块外,Python 还有大量的第三方模块。
基本上,所有的第三方模块都会在 https://pypi.python.org/   上注册,只要找到对应的模块名字,即可用pip 安装。   
pip3 install 模块名  (-i 镜像源地址)
import sys 
sys.path
 
查看模块搜索路径
 
 



原文地址:https://www.cnblogs.com/MarmaladeCat/p/5f567e5aa5d4a4970f43577f4d79fda7.html