《Python 核心技术与实战》 学习笔记 Day13 搭建积木:Python 模块化

简单模块化

说到最简单的模块化方式,你可以把函数、类、常量拆分到不同的文件,把它们放在同一个文件夹,然后使用 from your_file import function_name, class_name 的方式调用。之后,这些函数和类就可以在文件内直接使用了。


# main.py

from utils import get_sum
from class_utils import *

print(get_sum(1, 2))

encoder = Encoder()
decoder = Decoder()

print(encoder.encode('abcde'))
print(decoder.decode('edcba'))

########## 输出 ##########

3
edcba
abcde

项目模块化

在 Linux 系统中,每个文件都有一个绝对路径,以 / 开头,来表示从根目录到叶子节点的路径,例如 /home/ubuntu/Desktop/my_project/test.py,这种表示方法叫作绝对路径。

另外,对于任意两个文件,我们都有一条通路可以从一个文件走到另一个文件,例如 /home/ubuntu/Downloads/example.json。再如,我们从 test.py 访问到 example.json,需要写成 '../../Downloads/example.json',其中 .. 表示上一层目录。这种表示方法,叫作相对路径。

神奇的 if name == 'main'

import 在导入文件的时候,会自动把所有暴露在外面的代码全都执行一遍。因此,如果你要把一个东西封装成模块,又想让它可以执行的话,你必须将要执行的代码放在 if name == 'main'下面。

其实,name 作为 Python 的魔术内置参数,本质上是模块对象的一个属性。我们使用 import 语句时,name 就会被赋值为该模块的名字,自然就不等于 main了。

总结

  1. 通过绝对路径和相对路径,我们可以 import 模块;
  2. 在大型工程中模块化非常重要,模块的索引要通过绝对路径来做,而绝对路径从程序的根目录开始;
    3.. 记着巧用if name == 'main'来避开 import 时执行。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 因为内容太多,没有大纲不方便阅读,所以也可以跳转 前端各种模块化方案总结 附带大纲[https://tenloy....
    Tenloy阅读 4,605评论 0 6
  • 1 Webpack 1.1 概念简介 1.1.1 WebPack是什么 1、一个打包工具 2、一个模块加载工具 3...
    Kevin_Junbaozi阅读 7,030评论 0 16
  • 最简单的模块化方式 最简单的方式就是把函数,类,变量拆分到不同的文件中,然后使用 from your_file i...
    o0龙与猫0o阅读 237评论 0 0
  • 常用模块 认识模块 什么是模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文...
    go以恒阅读 2,171评论 0 6
  • 导入模块 静态导入 (1)import 模块(2)from 模块 import 函数:可以选定要导入的函数,逗号隔...
    dawsonenjoy阅读 329评论 0 0

友情链接更多精彩内容