[oeasy]python070_如何导入模块_导入模块的作用_hello_dunder_双下划线

简介: 本文介绍了如何在Python中导入模块及其作用,重点讲解了`__hello__`模块的导入与使用。通过`import`命令可以将外部模块引入当前环境,增强代码功能。例如,导入`__hello__`模块后可输出“Hello world!”。此外,还演示了如何使用`help()`和`dir()`函数查询模块信息,并展示了导入多个模块的方法。最后,通过一个实例,介绍了如何利用`jieba`、`WordCloud`和`matplotlib`模块生成词云图。总结来说,模块是封装好的功能部件,能够简化编程任务并提高效率。未来将探讨如何创建自定义模块。

如何导入模块_导入模块的作用_hello_dunder_双下划线

回忆上次内容

  • 新函数 dir
  • 可以查询
  • 模块中的成员

  • 游乐场里面 已经有了一些函数
  • help
  • dir
  • quit
  • print
  • 这些函数 位于 __builtins__ 模块
  • 所以都是 内建函数
  • 可以把 这个__builtins__删除掉吗?

删除结果

  • 按q
  • 退出帮助
del __builtins__
  • 效果

  • 内建模块
  • 可以删除
  • 没有报错
  • 瞬间重生

  • 可以 导入
  • 外部模块 吗?

导入 外部模块

  • 导入命令 是
  • import
  • port是港口
  • import 是进口 、 导入
  • export 是出口 、 导出
  • import 后面接空格
  • 被导入的模块 是
  • __hello__
  • 读作 dunder hello
  • 注意 hello 两边
  • 都有dunder(双下划线)
import __hello__
  • __hello__模块 导入到游乐场

  • 可以 输出那句 hello world

变化

  • 注意!
  • 观察导入前后变化
  • 导入 __hello__模块后
  • 游乐场中的模块 增加了

  • 导入 对应关键词
  • import
  • 怎么 理解 来着?

import

  • 进口(import)
  • 导入模块
  • 可以导入 各种模块 来增强功能

  • 想要深入了解 __hello__
  • 应该怎么办呢?

喊救命

  • 什么不会就 help什么
help(__hello__)
  • 使用help函数 查询手册

  • __hello__
  • 非常简单的
  • 一个模块
  • 里面有个成员变量
  • initialized
  • 可以看看吗?

观察模块

dir(__hello__)
  • 观察模块

  • 确实如help所说
  • 有个成员initialized
  • 值为True
  • 为什么 要引入 模块 呢?

引入模块的意义

  • 我们可以通过
  • 引入__hello__
  • 完成输出 Hello world!
  • 引入 traceback
  • 使用跟踪调试
  • 引入 time
  • 查看时间
  • 设置延时

  • time模块里面有个asctime函数
  • 可以得到当前时间
  • asctime 中的 asc 什么意思来着?

ascii

  • asc的意思是ascii
  • 是 7-bit的
  • 字符和序号的固定对应关系

  • 黑暗森林 上半区
  • 至今还是黑的
  • 可以导入多个文件吗?😱

导入多个文件

  • 根据 下图建议
  • 不同模块
  • 分行导入

  • 各种 模块
  • 各自身怀绝技
  • 可以配合起来使用
  • 有什么 好玩的 模块 吗?

反重力

  • 在vim的正常模式下
  • 键入:!python3
  • 进入游乐场
  • 在游乐场中键入
  • import antigravity

  • 玩完了之后
  • ctrl + d 退出游乐场
  • 回到vim

观察LICENSE

  • 可以通过vim
  • 看到 python的 许可证
vi /usr/lib/python3.8/LICENSE.txt
  • 这段历史
  • 我们见证过
  • Guido的个人简历

  • 我想把 许可证 的 文本
  • 做成 词云图

代码

  • 尝试 加载
  • 分词模块 jieba
  • 词云模块 WordCloud
  • 画图模块 matplotlib
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取文件
with open('/usr/lib/python3.8/LICENSE.txt') as file:
    text = file.read()
# 使用jieba进行中文分词
words = ' '.join(jieba.cut(text))
# 生成词云
wordcloud = WordCloud(font_path='/usr/share/fonts/truetype/wqy/wqy-microhei.ttc', # 指定中文字体路径
                      width=800, height=600,
                      background_color='white').generate(words)
# 使用matplotlib展示词云
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
  • 执行结果
  • ModuleError
  • 找不到模块

新开窗口

:term
  • 在上面开启 shell终端窗口

安装模块

  • 上面的shell中
  • 粘贴命令
pip install wordcloud
pip install matplotlib
pip install jieba
  • 在shell中安装类库

退出shell

  • 在上面的shell中exit退出

运行

  • 安装类库后
  • 再运行当前程序
  • 成功展示了 词云 图

  • 可以考虑修改
  • 高度
  • 宽度
  • 背景颜色
  • 这都是细节
  • 问ai就能解决

总结

  • 模块 就是 封装好功能 的 部件
  • 如 wifi模块
  • 导入 __hello__ module模块
  • 可以 输出hello world!
  • 看起来很简单

  • 我想要做个 自己的模块
  • 能行吗??🤔
相关文章
|
26天前
|
人工智能 Python
[oeasy]python082_变量部分总结_variable_summary
本文介绍了变量的定义、声明、赋值及删除操作,以及Python中的命名规则和常见数据类型。通过示例讲解了字符串与整型的基本用法、类型转换方法和加法运算的区别。此外,还涉及异常处理(try-except)、模块导入(如math和random)及随机数生成等内容。最后总结了实验要点,包括捕获异常、进制转化、变量类型及其相互转换,并简述了编程中AI辅助的应用策略,强调明确目标、分步实施和逐步巩固的重要性。更多资源可在蓝桥、GitHub和Gitee获取。
161 97
|
9天前
|
人工智能 Python
[oeasy]python089_列表_删除列表项_remove_列表长度_len
本文介绍了Python列表(list)的操作方法,重点讲解了`remove`方法的使用。通过实例演示如何删除列表中的元素,探讨了`ValueError`异常产生的原因,并分析了时间复杂度O(n)的概念。同时提及了`clear`方法清空列表的功能及`len`函数获取列表长度的用法。最后以购物清单为例,展示列表的实际应用场景,并预告快速生成列表的方法将在后续内容中介绍。
113 62
|
5天前
|
人工智能 索引 Python
[oeasy]python091_列表_索引_index_中括号_索引函数
本文介绍了Python中列表与字符串的索引及index函数用法。通过range生成列表,使用索引[]访问和修改列表元素,index函数查找元素位置。字符串支持索引访问但不可直接修改。还探讨了16进制数在Python中的表示方法,以及日期、月份等特殊字符的Unicode范围。最后总结了列表与字符串操作的区别,并预告后续内容,提供蓝桥云课、GitHub和Gitee链接供进一步学习。
41 20
|
7天前
|
Python 容器
[oeasy]python090_列表_构造_范围_range_start_end_step_步长
本文介绍了Python中列表的生成方法,重点讲解了`range()`函数的使用。通过`range(start, stop, step)`可生成一系列整数,支持正负步长,但不支持小数参数。文章从基础的列表追加、直接赋值到复杂的应用场景(如生成等宽字体的月份列表),结合实例演示了`range()`的灵活性与实用性。最后总结了`range()`的关键特性:前闭后开、支持负数步长,并提供了进一步学习的资源链接。
41 14
|
18天前
|
Python
[oeasy]python086方法_method_函数_function_区别
本文详细解析了Python中方法(method)与函数(function)的区别。通过回顾列表操作如`append`,以及随机模块的使用,介绍了方法作为类的成员需要通过实例调用的特点。对比内建函数如`print`和`input`,它们无需对象即可直接调用。总结指出方法需基于对象调用且包含`self`参数,而函数独立存在无需`self`。最后提供了学习资源链接,方便进一步探索。
53 17
|
1天前
|
索引 Python
[oeasy]python092_eval_衡量_转化为列表
本文探讨了 Python 中 `eval` 函数的用法及其与字符串和列表之间的转换关系。通过实例分析,展示了如何使用 `eval` 将字符串转化为对应的数据类型,例如将表示列表的字符串转回列表。同时,文章深入讲解了 `eval` 的工作机制,包括根据本地和全局变量对字符串进行计算的能力。此外,还提醒了命名变量时需避免覆盖内置类名(如 `str`、`int`、`list`)的重要性,以免影响程序正常运行。最后,简要提及字符串和列表索引中负数的应用,并为读者提供了进一步学习的资源链接。
14 2
|
28天前
|
人工智能 Java 数据安全/隐私保护
[oeasy]python081_ai编程最佳实践_ai辅助编程_提出要求_解决问题
本文介绍了如何利用AI辅助编程解决实际问题,以猫屎咖啡的购买为例,逐步实现将购买斤数换算成人民币金额的功能。文章强调了与AI协作时的三个要点:1) 去除无关信息,聚焦目标;2) 将复杂任务拆解为小步骤,逐步完成;3) 巩固已有成果后再推进。最终代码实现了输入验证、单位转换和价格计算,并保留两位小数。总结指出,在AI时代,人类负责明确目标、拆分任务和确认结果,AI则负责生成代码、解释含义和提供优化建议,编程不会被取代,而是会更广泛地融入各领域。
85 28
|
11天前
|
人工智能 Python
[oeasy]python088_列表_清空列表_clear
本文介绍了Python中列表的清空方法`clear`。通过实例讲解了`clear`与将列表赋值为空列表的区别,前者会清空原列表内容,而后者创建新空列表,不影响原列表。文中以收银程序为例,展示了`clear`的实际应用场景,并通过地址观察解释了两者的机制差异。最后总结了相关术语如`list`、`append`、`clear`等,帮助理解列表操作及方法调用的概念。
42 6
|
24天前
|
人工智能 Python
[oeasy]python083_类_对象_成员方法_method_函数_function_isinstance
本文介绍了Python中类、对象、成员方法及函数的概念。通过超市商品分类的例子,形象地解释了“类型”的概念,如整型(int)和字符串(str)是两种不同的数据类型。整型对象支持数字求和,字符串对象支持拼接。使用`isinstance`函数可以判断对象是否属于特定类型,例如判断变量是否为整型。此外,还探讨了面向对象编程(OOP)与面向过程编程的区别,并简要介绍了`type`和`help`函数的用法。最后总结指出,不同类型的对象有不同的运算和方法,如字符串有`find`和`index`方法,而整型没有。更多内容可参考文末提供的蓝桥、GitHub和Gitee链接。
43 11
|
1月前
|
Rust JavaScript 前端开发
[oeasy]python075_什么是_动态类型_静态类型_强类型_弱类型_编译_运行
本文探讨了编程语言中的动态类型与静态类型、强类型与弱类型的概念。通过实例分析,如Python允许变量类型动态变化(如`age`从整型变为字符串),而C语言一旦声明变量类型则不可更改,体现了动态与静态类型的差异。此外,文章还对比了强类型(如Python,不允许隐式类型转换)和弱类型(如JavaScript,支持自动类型转换)的特点。最后总结指出,Python属于动态类型、强类型语言,对初学者友好但需注意类型混淆,并预告下期内容及提供学习资源链接。
83 22

热门文章

最新文章

下一篇
oss创建bucket