python __all__ 含义

__all__  = []

约定公开接口 : 可以清晰明了的知道该文件暴露的接口, 约定成俗的调用该接口。
限制该行为from XXX import * : code当中不建议使用 from xxx import * 的写法的,但线下调试的时候经常用到。如果模块中没有定义 all,执行 from XXX import * 的时候会将模块中非下划线开头的成员都导入当前命名空间中,这样就有可能弄脏当前命名空间, 调试容易产生问题。如果显式声明了 __all__import * 就只会导入 __all__ 列出的成员。但它只对import *起作用,对from XXX import XXX不起作用。

用例:
被测文件test.py

__all__ = ['a',
           'b',
           'run',]

a = 'aaa'
b = 'bbb'
c = 'ccc'

def run():
    print ('Run the function.')

测试结果 test1.py

from test import *
print(a)
print(b)
print(run())
print(c)

在这里插入图片描述

from test import c
print(c)

在这里插入图片描述

  • 只能导入__all__声明的变量或函数
  • from test import c 无效

注意
__all__=[] 是list 类型, 接受函数的字符串形式,不要写表达式

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
__init__是Python中的特殊方法之一,用于在创建一个对象时进行初始化操作。具体来说,它被用来声明包预加载、模块的导入和包变量的预定义。在使用类创建对象时,会自动调用该类的__init__方法,可以在这个方法内部对对象的属性进行赋值和初始化操作。 在类的内部,访问自己的属性和方法,都需要通过self来引用。例如,在一个Person类的__init__方法中,可以使用self来引用对象的name和age属性,如self.name和self.age。这样,在创建Person对象并调用desc方法时,可以通过self来访问name和age属性,如self.name和self.age,从而完成对对象的自我介绍。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python 中 __init__ 文件的作用](https://blog.csdn.net/qq_26826585/article/details/126343583)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [python中的_init_的含义](https://blog.csdn.net/sj349781478/article/details/118756469)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [python中__init__函数的作用](https://blog.csdn.net/crayonjingjing/article/details/125386981)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值