【Python14】常用内置函数与模块、包

1. 函数


内置函数官网文档

内置函数帮助文档

1.1 map()


map() 会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表


语法

map(function, iterable, ...)
# function -- 函数
# iterable -- 一个或多个序列

实例:

result = map(lambda x: x ** 2, [1, 2, 4, 5])
print(list(result))
result = map(lambda x, y: x + y, [1, 2, 3], [4, 5, 6])
print(list(result))

1.2 reduce()


reduce() 函数会对参数序列中元素进行累积。


函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

注意:Python3.x reduce() 已经被移到 functools 模块里,如果我们要使用,需要引入 functools 模块来调用 reduce() 函数:from functools import reduce


语法

reduce(function, iterable[, initializer])
# function -- 函数,有两个参数
# iterable -- 可迭代对象
# initializer -- 可选,初始参数
# 返回函数计算结果。

实例

from functools import reduce
result = reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])
print(result)

1.3 filter()


filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。


该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中


语法

filter(function, iterable)
# function -- 判断函数。
# iterable -- 可迭代对象。
# 返回一个迭代器对象

实例

# 筛选所有的偶数
result = filter(lambda x: x % 2 == 0, [1, 2, 4, 5, 8])
print(list(result))
# 筛选所有的奇数
result = filter(lambda x: x % 2 != 0, [1, 2, 4, 5, 8])
print(list(result))

1.4 sorted()


sorted() 函数对所有可迭代的对象进行排序操作。


语法

sorted(iterable, key=None, reverse=False) 
# iterable -- 可迭代对象。
# key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
# reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
# 返回重新排序的列表

实例

result = sorted([1, 29, 2, 3])
print(result)
#升序
result = sorted([0, 29, 2, 0], reverse=True)
print(result)
#降序
#将所有0排前面,其他元素不变
result = sorted([0, 9, 8, 0, 16], key=lambda x:0 if x==0 else 1)
print(result)
#[0, 0, 9, 8, 16]


2. 模块


导入模块

  • import 模块1,模块2(导入模块的所有子模块)
  • from 模块 import 模块中的子模块1,子模块2(可以导入模块中的几个部分)
  • 模块名后使用 as 时:直接把 as 后的名称与导入模块绑定

在模块内部,通过全局变量 __name__ 可以获取模块名(即字符串)

模块的查询路径:

import  sys
print(sys.path)

在这里插入图片描述

查找模块定义的名称dir()

dir(模块名)

  • 如果没有给定参数,那么 dir() 函数会罗列出当前定义的所有名称

在这里插入图片描述

查看模块的说明文档:__doc__

显示模块的绝对路径:__file__

__name__

当在模块内部执行__name__的值为__main__
__name__:当模块被导入时,显示的是模块的名称

3. 包


  • 包是一种用“点式模块名”构造 Python 模块命名空间的方法。
  • 例如,模块名 A.B 表示包 A 中名为 B 的子模块。正如模块可以区分不同模块之间的全局变量名称一样,点式模块名可以区分 NumPy 或 Pillow 等不同多模块包之间的模块名称。
  • Python 只把含 __init__.py 文件的目录当成包。这样可以防止以 string 等通用名称命名的目录

包架构:

顶级包/
	__init__.py # 初始化1/
		__init__.py
		1.py
		2.py
	包2/
		__init__.py
		1.py
		2.py
	包3/
		__init__.py
		1.py
		2.py

猜你喜欢

转载自blog.csdn.net/weixin_46069582/article/details/113484534