python 控制包是否可导入
init.py
__all__=["list_utils","str_utils"]
list_utils.py
def show_list(list1):
return list1
str_utils.py
str_name = ''
def str_reverse(s):
global str_name
reversed1 = reversed(str(s))
if len(s) == 0:
str_name = ''
else:
for e in reversed1:
str_name = f"{str_name}{e}"
print(f"方法内调用{str_name}")
return str_name
def str_length(s):
print(s)
return len(s)
if __name__ == '__main__':
str_reverse("小猪猪")
test_my_package.py
from my_package_utils import *
reverse = str_utils.str_reverse("这是一个奥特曼")
show_list = list_utils.show_list(["这是一个奥特曼"])
print(reverse)
print(show_list)
如果__init__.py中的__all__=[“list_utils”,“str_utils”]数组不包含str_utils,那么str_utils的所有方法都无法被test_my_package.py使用