Python学习笔记-模块导入

常规模块导入在这里插入图片描述

自定义模块导入

自定义一个 model.py 文件,内部有函数 test()

# model.py
def test(a, b):
	return a + b

新建一个 once.py ,并导入model模块

import model

print(model.test(3, 4))
===========================
>>> 7

main变量

若在 model.py 文件的编写测试过程中,会出现一些无关的输出,而这些输出在我们的 once.py 文件的运行中并不需要,该如何在运行 once.py 的过程中避免运行输出 model.py 的内容呢?
可以在 model.py 中加入main() 函数,将我们测试运行 model.py 文件过程中的运行代码放入到 main() 函数中,这样我们在导入到 once.py 并运行的时候,就不会被 model.py 中的一些代码输出所干扰。
(表达的有点模糊 0.0)
换个说法:
if name == ‘main:’ 表示,只有当程序是直接执行的才会进入if内部,如果是被导入的,则if无法进入

示例:

def test(a, b):
    return print(a + b)


if __name__ == '__main__':
    test(2, 3)
===============================
>>> 5

测试 model.py 的过程中会输出5,将 test(2, 3) 放入 main() 函数体内后,如果将 model.py 导入到别的模块后,这个 5 就不会被输出。

__all__变量

语法:
all = [‘函数1’, ‘函数2’,…]

如果在另一个文件里使用 **import ***的方式进行导入的话
只有在__all__ = [‘函数1’, ‘函数2’,…]内的函数,在导入后可以被调用,不在列表内的函数不可调用

# model.py
__all__ = ['test_a']


def test_a(a, b):
    print(a + b)


def test_b(a, b):
    print(a - b)

此时在另一个文件中导入model模块,只有test_a()函数可用。

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值