071_自定义模块_引入模块_import_diy0 播放 · 0 赞同视频
导入import 回忆上次内容
模块 就是 封装好功能 的 部件
如 wifi模块
导入__hello__module模块
可以 输出hello world!
看起来很简单
我想要做个自己的模块
能行吗??🤔
新建文件 my_file
尝试 编辑
my file.py
注意
my file 之间 是 空格
vi my file.py
运行结果
打开了一个my
为什么会这样?
继续观察
:ls
底行命令ls
显示文件缓冲列表
可以看到打开了两个文件
my
file.py
空格 成了
切开 文件名的利刃
这 怎么办 呢?
退回到shell
:q!
先强制 退回到 shell
下划线的 作用
下划线 可以代替 空格
而且能用在 文件名中
python模块名 需要使用 蛇形命名法
编辑 my_file.py
vi my_file.py
先试着引入__hello__
注意hello两端各有两个下划线
然后保存并运行
确实在my_file.py中
引入了__hello__模块
想要再把 time中的asctime
导入 my_file
my_file.py import __hello__ import time print(time.asctime())
保存并运行
my_file.py如上图所示
通过引入time包
就可以得到当前时间了
这my_file.py
也可以作为
自定义模块被引入吗?
游乐场实战
自定义模块 my_file
可以 被导入
my_file中有什么呢?
dir(my_file)
my_file 中包括
__hello__
time
my_file 可以
作为 模块
被导入到 另一个 py文件 吗?
编辑oeasy.py
退出游乐场
回到vim
再次编辑 my_file.py
键入:e oeasy.py
e 指的是 edit 编辑
编辑一个oeasy.py
在vim中
新建了 oeasy.py 的
缓存(buffer)
缓存列表
:ls
列出 所有打开的
缓存(buffer)
如何 在缓存列表 中
切换 当前buffer 呢?
切换 缓存
:b1
buffer1
切换到 1号缓存文件
my_file.py
:b2
buffer2
切换到 2号缓存文件
oeasy.py
这样 就可以 切换
当前 编辑的 缓存
buffer
引入模块
打开 oeasy.py
并进行 编辑
在oeasy.py中 只有 一句话
import my_file
导入 my_file模块
保存并运行
运行结果
虽然oeasy.py中
只有 一句话
但是通过 导入my_file模块
实现了
hello
报时
可以在 自己模块 里
输出说明 吗?
自定义模块
编辑my_file.py
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这个变量 吗?
查看 模块中的变量
my_file模块里
都有些什么?
import my_file print(dir(my_file))
my_file 里面有 导入的
模块__hello__
变量 pi
模块 time
怎么引入?🤔
尝试 引用模块中的 变量
总共两句话
1.导入my_file这个模块
2.输出my_file模块中 pi这个变量
在oeasy.py中
导入my_file模块之后
尝试输出my_file.pi
输出成功!
可以直接 输出pi 吗?
尝试直接输出pi
尝试直接输出pi
尝试失败
pi 是模块中的变量
想用 就必须带上模块的名字
my_file.pi
中间.的意思是的
my_file 模块中的 pi属性
名字空间
就像
访问 time模块中的
asctime函数
time.asctime()
import time print(time.asctime)
名字空间 就是
模块的名字
成员的所有者
直接找pi找不到
带着名字空间
my_file.file
就可以找到了
总结
这次导入了系统模块
__hello__
time
自己 定义了 模块
my_file
导入 my_file.py
作为 自定义的
my_file模块
可以使用
my_file.pi
my_file模块中的变量pi
但不能直接 用pi
如果就想 直接用pi
又应该怎么办呢???🤔
下次再说 👋
蓝桥->https://www.lanqiao.cn/courses/3584
github->https://github.com/overmind1980/oeasy-python-tutorial
gitee->https://gitee.com/overmind1980/oeasypython