__all__
1. 补充: 导入模块的语法
import 模块名
from 模块名 import 函数名1,函数名2,类名1,类名2...........
# * 代替的是(from 模块名 import 成员名) 中的成员名
from 模块名 import *
2. from 模块名 import * : 一次性导入模块中的所有内容
缺点: 导入的内容太多,不一定都用, 浪费空间
解决: 通过 __all__ = ["类名","函数名","变量"] 限制只能导入列表中的内容
掌握模块的定位
1. 导入模块的,系统寻找模块(某个路径中查找)
如果找不到,抛出异常 ModuleNotFoundError
2. 模块的查找路径(模块的定位)
(1) 系统规定死的路径
先后顺序:
a. 内置模块路径(python.exe中), 任意地方都能使用
b. 系统标准模块路径(python安装路径/Lib目录中), 任意地方都能使用
c. 主执行文件所在当前目录
d. 第三方包的安装路径(pip install PyMySQL): python安装路径/Lib/site-packages,
任意地方都能使用
(2) 自定义的路径
任意指定一个路径作为包/模块的查找路径
实现方式:
import sys
sys.path # 系统路径, 列表, 可以修改的
sys.path.append("新目录路径")
sys.path.insert(0,"新目录路径")
3. 补充坑爹货(pycharm)
pycharm自动将 项目根目录添加到了 sys.path 中, 原本可能是没有的
包
1. 标准的包中有个__init__.py文件, 是一个目录.
2. 作用: 管理多个模块/包
3. 包的使用
from 包名 import 模块名
from 包名.模块名 import 函数/类/变量
from 包名.模块名 import *
# 导入包中的所有模块
from 包名 import *
4. from 包名 import * : 一次性导入所有的模块
缺点: 会导入很多的模块及内容到内存中, python要求必须限制能够导入的模块
解决: 在 __init__.py 文件中通过 __all__ = ["模块名"] 指定能够导入的模
range(): 函数用于生成指定范围的对象(可迭代对象)
使用方式:
obj = range(start,end,step)
start: 默认0
end: 设置(包前不包后)
step: 默认1
# 转换成立列表
list(obj)
# 直接遍历
for .. in ...
给程序传递参数
1. 给程序传递参数: 指给python.exe传递参数
传递参数的方式:
python.exe 脚本路径 参数2 参数3
接收参数的方式:
import sys
sys.argv
列表推导式
1. 概念: 列表推导式 根据指定的表达式 用于快速生成列表
语法:
变量 = [表达式 for tmp in 容器 简单if语句] # 简单 if xxx else xxx
集合操作
1. 集合可以用于去重
2. 集合可以运算
交集: &
并集: |
差集: -
python
最新推荐文章于 2023-03-29 17:07:06 发布