想要充实自己 发表于 2020-8-20 09:39:45

模块问题求解....

曾经我们讲过有办法阻止 from…import * 导入你的“私隐”属性,你还记得是怎么做的吗?

答:如果你不想模块中的某个属性被 from…import * 导入,那么你可以给你不想导入的属性名称的前边加上一个下划线(_)。不过需要注意的是,如果使用 import … 导入整个模块,或者显式地使用 import xx._oo 导入某个属性,那么这个隐藏的方法就不起作用了。

这个答案是怎么用的呢?
我的想法是输入
from hello import *_hi()
但是出现了语法错误,,这个hello是课上的一个模块,hi是程序里面的一个函数
没有例子这个还是看不太懂啊

zltzlt 发表于 2020-8-20 09:42:12

是定义时加上下划线,不是导入时加入下划线…

永恒的蓝色梦想 发表于 2020-8-20 09:47:14

应该是from hello import _hi

lhgzbxhz 发表于 2020-8-20 09:50:32

# a.py
def _hi():
    print("Hi!")

# b.py

from a import *
_hi() # 这样是不行的

import a
a._hi() # 这样是可以的
页: [1]
查看完整版本: 模块问题求解....