python中的__all__和__slots__

转载:http://leequery.blog.163.com/blog/static/16842209620117184345180/


python两个有趣属性
__all__可用于模块导入时限制,如:
from module import *
此时被导入模块若定义了__all__属性,则只有all内指定的属性、方法、类可被导入~
若没定义,则模块内的所有将被导入。

__slots__用于限定类属性,如:
class A(object):
  __slots__ = ['var']

此时外部调用时,如:
a = A()
a.var = 4    #不会报错
a.other = 4  #此时则会抛出异常AttributeError

你可能感兴趣的:(python中的__all__和__slots__)