3.0.python的内置变量
_all_
“__all__”变量是一个特殊的变量,可以在普通模块(Python中一个py文件就是一个模块)中出现中,也可以在包的__init__.py中出现。
1、在普通模块中使用时,表示一个模块中允许哪些属性可以被导入到别的模块中。 属性包括:全局变量、函数、类等。
若没有指定__all__,默认全部属性可以被其他模块导入
若指定了__all__,那么只有__all__指定的属性可以被其他模块导入
示例如下:
2、在包下的__init__.py中使用时,当其他模块使用from sound.effects import *
时,除了导入包,还将包含__all__指定的模块
当__init__.py为空时,只是导入这个包,并非导入模块。
示例:sound/effects/__init__.py
__str__和__unicode__
__str__的作用是美化打印出来的结果,使人类更方便查看。看下面例子,如果没有__st__方法,打印的结果是<__main__.Test object at 0x0000022D6D1387B8>格式,有了__str__方法后,打印时会按照__str__定义的格式来打印,打印结果为Name:xiaoming。
在Django中,如果用的是Python3的话就只能用__str__方法,如果是Python2的话就使用__unicode__方法。因为更安全一些。看看文档
Last updated
Was this helpful?