[oeasy]python071_自己做一个模块吗_自定义模块_引入模块_import

liftword1个月前 (03-30)技术文章5

导入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模块名 需要使用 蛇形命名法
  1. 编辑 my_file.py
vi my_file.py
  1. 先试着引入__hello__
  2. 注意hello两端各有两个下划线

  1. 然后保存并运行

  • 确实在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

相关文章

Python批量新建文件夹

工作中常有这样的场景:因需要将文件分发给不同的部门,需要批量创建文件夹并命名。Python三句代码来搞定:import os folder_names=['A部室','B部室','C部室','支行1...

python创建文件夹,轻松搞定,喝咖啡去了

最近经常在录视频课程,一个课程下面往往有许多小课,需要分多个文件夹来放视频、PPT和案例,这下可好了,一个一个手工创建,手酸了都做不完。别急,来段PYTHON代码,轻松搞定,喝咖啡去了!import...

Python模块导入

在Python中,模块是组织代码的基本单位,允许你将功能分组在一起并在多个地方重用。以下是模块导入的一些基本用法:1. 导入整个模块使用import语句导入整个模块。import math prin...

Python3 +服务器搭建私人云盘,再也不怕限速了

先来看看效果Windows版本搭建(1).首先你需要在你的电脑上或者服务器上安装Python3.X。(2).然后通过如下指令来安装updog库,网上有很多关于updog的介绍,我这里就不详细说pip3...

python如何安装模块?

模块Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块能定义函数,类和变量,模块也能包含可执行的代码。一、导入模块...