show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 模块 就是 封装好功能的一个部件
- 比如一个 wifi模块
-
导入
__hello__
module模块- 可以 输出
hello world!
- 可以 输出
-
可以 做个
自己的
模块吗??🤔
- 尝试 编辑
- my file.py
- 注意
- my file 之间 是 空格
vi my file.py
- 运行结果
- 打开了一个my
- 为什么会这样?
- :ls
- 底行命令ls
- 显示文件缓冲列表
- 可以看到打开了两个文件
- my
- file.py
- 空格 成了
- 分割 文件名的 符号
- 这 怎么办 呢?
- :q!
- 先退回到 shell
- 下划线 可以代替 空格
- 而且
能
用在 文件名中
- 而且
- 编辑 my_file.py
vi my_file.py
- 先试着引入
__hello__
- 注意hello两端各有两个下划线
- 然后保存并运行
- 确实在my_file.py中
- 引入了
__hello__
模块
- 引入了
为什么
要引入 模块 呢?
- 我们可以通过
- 引入
traceback
- 使用跟踪调试
- 引入
__hello__
- 完成输出
Hello world!
- 完成输出
- 引入
time
- 使用各种时间函数
- 引入
- time模块里面有个asctime函数
- 可以得到当前时间
- asctime 中的 asc 什么意思?
- asc的意思是ascii
- 是 7-bit的
- 字符和序号的固定对应关系
- 黑暗森林 至今还是黑的
- 把 time中的asctime
- 导入 my_file
import __hello__
import time
print(time.asctime())
- my_file.py如上图所示
- 通过引入time包
- 就可以得到当前时间了
- 这my_file.py
- 也可以作为
- 自定义模块
被
引入吗?
- 自定义模块
- 可以 被导入
- my_file可以被导入到
- 一个新的py文件吗?
- 键入
:e oeasy.py
- e 指的是 edit 编辑
- 编辑一个oeasy.py
- 在vim中
- 新建了 oeasy.py 的 缓存
- buffer
- :ls
- 列出所有打开的
- 缓存
- buffer
- :b1
- 意思是 buffer1
- 切换到
- 1号缓存文件
- my_file.py
- :b2
- 意思是 buffer2
- 切换到
- 2号缓存文件
- oeasy.py
- 打开 oeasy.py
- 并进行 编辑
- 在oeasy.py中只有一句话
- import my_file
- 导入 my_file这个模块
- 保存并运行
- 虽然oeasy.py中
- 只有一句话
-
但是通过 导入my_file模块
- 实现了
- hello
- 报时
- 实现了
-
导入 对应关键词
- import
- 该
如何
理解呢?
- 进口(import)
- 导入模块
- 是 python的 强大之处
- 可以导入 各种模块 来使用
- 可以导入多个文件吗?😱
- 下图建议的 是
- 不同模块
- 分行导入
- 可以在 自己模块 里
- 输出说明 吗?
import __hello__
import time
print(time.asctime())
print("This is my first module")
- 在自己的模块 my_file中
- 输出了 一句话
-
导入模块时
- 除了 可以调用其代码
- 还能 做什么 呢?
-
oeasy.py中
- 可以使用
- my_file模块中的
- 变量吗?
- 切换 缓存
- 来到my_file.py
- 把最后一行
- 修改 为
- pi = 3.14
- 可以在oeasy.py中
- 访问到
- my_file模块 中的
- pi这个变量 吗?
import my_file
print(dir(my_file))
- my_file 里面有 导入的
- 模块 time、
__my_file__
- 变量 pi
- 模块 time、
- 总共两句话
- 1.导入my_file这个模块
- 2.输出my_file模块中 pi这个变量
- 在oeasy.py中
- 导入my_file模块之后
- 尝试输出my_file.pi
- 输出成功!
- 可以
- 直接 输出pi 吗?
- 尝试直接输出pi
- 尝试失败
- pi 是模块中的变量
- 想用 就必须带上模块的名字
- my_file.pi
- 中间
.
的意思是的
- my_file 模块中的 pi属性
- 就像
- 访问 time模块中的
- asctime函数
- time.asctime()
- 想用 就必须带上模块的名字
import time
print(time.asctime)
- 这就是 名字空间
- 这个pi是有
- 名字空间(namespace)的
- 名字空间 就是
- 模块的名字
- my_file
- 直接找pi找不到
- 带着名字空间
- 就可以找到了
- 这次导入了系统模块
__hello__
time
- 而且导入了自定义的模块
- import my_file
- 导入 自己定义的my_file.py
- 作为my_file模块
- 还可以使用my_file模块中的变量pi
- my_file.pi
- import my_file
- 但是不可以
- 直接 使用pi
- 如果
就
想直接使用pi- 又应该怎么办呢???🤔
- 下次再说 👋