30包的定义 一些内置函数的方法定义
包
是包含一堆模块的文件夹
本质上就是一个文件夹
不同的是 包中应该包含__init__.py文件
为什么使用包?:
从文件夹级别来组织代码
如何使用:
与使用模块一样
注意:在导入一个包时 实际上导入的是__init__.py
init的作用
用于初始化包中的模块
init中主要做什么?
导入包中的模块
包的嵌套
包里面还有包
绝对导入
从执行文件所在位置开始的完整路径
相对导入
相对于某个模块而言 通常是相对当前被执行的文件
.表示当前文件 ..表示上一级 ...再上一级
注意:相对导入仅用于包内模块的相互导入
不能超过顶层包
from 导入时 .点的左边必须是一个包名
import 后面必须时一个明确的名字 不能包含点
# print(complex(1)) # 转换为复数形式
# print(dir([])) # 查看内置的属性和方法 不传参数 就是当前对象
# print(divmod(10,3)) # 执行除法运算 返回商和余数
# print(list(enumerate(["a",2,3,4]))) # 将值和索引组成一个元组 称为枚举
# myset = {1,2,3,4}
#
# res = frozenset(myset)#冻结
# print(globals()) # 查看全局空间中有啊哪些名称
# print(locals()) # 查看局部空间中有啊哪些名称
# print(hash([1,2,3])) #不可变类型 可以hash 可变类型不可hash
# print(help([])) # 查看帮助信息就是注释
# print(memoryview("100".encode("utf-8")))#内存查看对象
# print(pow(4,3,3)) # 2 ** 3 % 3
# print(type(repr([1,2,3]))) # 返回对象的字符串表示
# print(list(reversed([1,2,3])))# 反转顺序
# print(round(1.5)) # 四舍五入
# res = slice(1,5,3)#对数据进行切片
# print(vars())# 不传参数和locals一样 如果传 那就调用这个对象的
# print(list(zip([1,2,3,4,5,6,7],[3,2,1,0,-1])))# 拉链函数 将多个可迭代对象中的数据 一一对应