首页 > 编程语言 > 详细

python基础之import* 限定

时间:2021-04-08 15:21:19      阅读:18      评论:0      收藏:0      [点我收藏+]

前面我们说了可以通过import * 来导入一个模块中的所有内容,那么如果我们想限定导入的内容该怎么办呢?

答案是:只需要在被导入的模块中加入__all__ = [限定导入内容]即可

我们看一个例子:
a.py文件:

__all__ = ["a", "func_a", "Test"]

a = "nice"
b = 1


def func_a(x):
    print(x)


def func_b(m):
    print(m)


class Test:

    def __init__(self, y):
        self.y = y

    def test_a(self):
        print("this is test_a")


class TestX:

    def __init__(self, z):
        self.z = z

    def test_b(self):
        print("this is test_b")

a.py中,__all__限定了导入所有时导入的内容为变量a,函数func_a 和类Test
我们在b.py中导入所有的内容看看效果:

from package1.a import *

print(a)
print(b)

func_a(2)
func_b(2)

t1 = Test(2)
t2 = TestX(2)

运行结果如下:
技术分享图片

 

 我们可以看到,打印b的时候就已经报错了,说变量b未定义,所以a.py中的变量a并未被导入进来。

python基础之import* 限定

原文:https://www.cnblogs.com/ctltest/p/14631529.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!