2005年06月08日 星期三 21:04
继续:模块和包 28:模块 模块就是一些函数和一些class的一个集合,放到一个*.py 例如 sys 就是一个模块 import就是加载一个模块,dir显示出模块里面的 变量成员 >>> import sys >>> dir(sys) ['__doc__', '__name__', '__stderr__', '__stdin__', '__stdout__', 'argv', 'builtin_module_names', 'copyright', 'dllhandle', 'exc_info', 'exc_type', 'exec_prefix', 'executable', 'exit', 'getrefcount', 'hexversion', 'maxint', 'modules', 'path', 'platform', 'prefix', 'ps1', 'ps2', 'setcheckinterval', 'setprofile', 'settrace', 'stderr', 'stdin', 'stdout', 'version', 'winver'] 我会写 文件 model_test.py ,但不知道 if __name__=="__main__": 是什么意思 """ this is a module """ one = "a attribute" def fun(): return "haha" if __name__=="__main__": fun() >>> import model_test >>> fun>>> fun() 'haha' >>> >>> fun >>> fun() 'haha' >>> one 'a attribute' >>> print __doc__ this is a module >>> 模块也是个对象可以赋值的,如 >>> pp=model_test >>> pp.fun >>> pp.fun() 'haha' 要仔细体会Python 中 很多对象的概念 模块的使用要注意name space的概念 注意自己模块的名字不要和系统的名字一样 29:包 包packge 是一组module 的集合。 建立一个包的过程是这样的 1:建立一个目录如 testpackage 2:建立一个空文件 __int__.py (我不知道这个文件是做什么用的) 3:把要打包的*.py文件复制到该目录下 按照如下的方式访问就可以了 >>> import testpackage.testmodule >>> testpackage.testmodule.sayHello() Hello 包是一种防止名字冲突,我更喜欢叫,名字空间的污染 同时包里面还可以打包 用来更方便的管理模块。 以上是Python 模块和包 下一篇将是Python 的name space 邹胖小 2005年6月8日 祝大家快乐安康 今天高考结束了
2005年06月08日 星期三 23:02
在 05-6-8,Chao Zou<chao.zou at gmail.com> 写道: > 继续:模块和包 > 28:模块 > 模块就是一些函数和一些class的一个集合,放到一个*.py > 例如 sys 就是一个模块 import就是加载一个模块,dir显示出模块里面的 > 变量成员 > > >>> import sys > >>> dir(sys) > ['__doc__', '__name__', '__stderr__', '__stdin__', '__stdout__', 'argv', > 'builtin_module_names', 'copyright', 'dllhandle', 'exc_info', > 'exc_type', > 'exec_prefix', 'executable', 'exit', 'getrefcount', > 'hexversion', 'maxint', > 'modules', 'path', 'platform', 'prefix', 'ps1', 'ps2', > 'setcheckinterval', > 'setprofile', 'settrace', 'stderr', 'stdin', 'stdout', > 'version', 'winver'] > > 我会写 > 文件 model_test.py ,但不知道 if __name__=="__main__": 这是一个运行的技巧。当此模块为主程序时,__name__的值为__main__,当模块被导入时,它的值是模块名。因此它可以用来对一些模块作测试,这样可以单独运行这些模块,则 if __name__ == '__main__':就会执行。如果是被其它模块导入,则它不会执行。 > 是什么意思 > > """ > this is a module > """ > one = "a attribute" > > def fun(): > return "haha" > > if __name__=="__main__": > fun() > > >>> import model_test > >>> fun >> >>> fun() > 'haha' > >>> > >>> fun > > >>> fun() > 'haha' > >>> one > 'a attribute' > >>> print __doc__ > > this is a module > > >>> > > 模块也是个对象可以赋值的,如 > >>> pp=model_test > >>> pp.fun > > >>> pp.fun() > 'haha' > > 要仔细体会Python 中 很多对象的概念 > 模块的使用要注意name space的概念 > 注意自己模块的名字不要和系统的名字一样 > > 29:包 > 包packge 是一组module 的集合。 > 建立一个包的过程是这样的 > 1:建立一个目录如 testpackage > 2:建立一个空文件 __int__.py (我不知道这个文件是做什么用的) 相当于类的构造方法。在__init__.py(上面写错了)中还可以导入模块,方法,变量,从而改变包的结构,有可能是为了方便起见,一般不用。 > 3:把要打包的*.py文件复制到该目录下 > > 按照如下的方式访问就可以了 > >>> import testpackage.testmodule > >>> testpackage.testmodule.sayHello() > Hello > > 包是一种防止名字冲突,我更喜欢叫,名字空间的污染 > 同时包里面还可以打包 用来更方便的管理模块。 > > 以上是Python 模块和包 下一篇将是Python 的name space > > 邹胖小 2005年6月8日 祝大家快乐安康 今天高考结束了 > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- I like python! My Donews Blog: http://www.donews.net/limodou New Google Maillist: http://groups-beta.google.com/group/python-cn
2005年06月08日 星期三 23:31
Chao Zou wrote: > 继续:模块和包 > 28:模块 > 模块就是一些函数和一些class的一个集合,放到一个*.py > 例如 sys 就是一个模块 import就是加载一个模块,dir显示出模块里面的 > 变量成员 dir返回一个对象的属性列表,模块也只不过是一个对象而已,你可以用dir(0)获 得0这个对象都有些什么属性。 [...] > 我会写 > 文件 model_test.py ,但不知道 if __name__=="__main__": > 是什么意思 当一个模块被直接执行(python model.py)时,__name__为"__main__";如果是 使用import语句导入的话,__name__为模块名。(你可以理解成主模块的名字叫 "__main__")。因此,if __name__ == "__main__"下的子句仅仅在直接执行本模 块的情况下才会被执行,import时则忽略之。 [...] > 29:包 > 包packge 是一组module 的集合。 > 建立一个包的过程是这样的 > 1:建立一个目录如 testpackage > 2:建立一个空文件 __int__.py (我不知道这个文件是做什么用的) 目录下必须有__init__.py文件才成为包。包被import时会自动执行__init__.py。 [...] -- Qiangning Hong ______________________________________________ ( Kaufman's First Law of Party Physics: ) ( ) ( Population density is inversely proportional ) ( ) ( to the square of the distance from the keg. ) ---------------------------------------------- o o ,__, | | (oo)\| |___ (__)\| | )\_ | |_w | \ | | || * Cower....
Zeuux © 2025
京ICP备05028076号