python中import理解

模块是一个可以交互使用,或者从python程序访问的代码段,只要导入一个模块就可以使用这个模块的任何公共函数、类或者属性。


python有三种导入模块的方法:


1)import modename

使用这种方式相当于在当前导入的命名空间(namespace)里新建了一个modename,所以使用该模块的方法或者属性时,

必须加上模块名称,例如:modname.func()

当方法存在重名函数时,必须使用import modename的导入方式。便于区分是哪个模块的函数。


2)from modename import func/classname      from modename import a,b,c

func/classname 被直接导入到了本地命名空间中,所以可以直接使用,不需要添加模块名称。


3)【mod=__import__("modname",global(),local(),"funcname/classname")】

这个函数相当于from modename import func/classname


python将代码拆分为模块最初的目的是功能的独立,所以所模块提供的是某个独立的功能。

作为函数式编程语言,python模块的内容一般是函数的形式 。


if __name__ == '__main__'

当模块被直接运行时,模块的_name_属性值为_main_,所以可以在直接运行时写入一些调试语句;

当模块被import载入使用时,_name_属性为模块的名称,所以就会自动忽略调试语句。

在创建许许多多模块后,我们可能希望将某些功能相近的文件组织在同一文件夹下,这里就需要运用包的概念了。

包对应于文件夹,使用包的方式跟模块也类似,唯一需要注意的是,当文件夹当作包使用时,文件夹需要包含

__init__.py文件,主要是为了避免将文件夹名当作普通的字符串。__init__.py的内容可以为空,一般用来进行包的某

些初始化工作或者设置__all__值,__all__是在from package-name import *这语句使用的,全部导出定义过的模块。

if __name__ == "__main__":  
    tf.app.run()   

from __future__ import absolute_import  
from __future__ import division  
from __future__ import print_function  
  
import sys  
  
from tensorflow.python.platform import flags  
  
  
def run(main=None):  
  f = flags.FLAGS  
  f._parse_flags()  
  main = main or sys.modules['__main__'].main  
  sys.exit(main(sys.argv)) 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值