Java&Python 中import的区别

一、区别

引用:http://blog.csdn.net/waitforfree/article/details/51254146
1、Java的import本质是声明以下出现的标识符前面都加上命名空间(java只能导入类和静态的成员)

2、Python的import本质是执行了整个模块的代码(python只能导入模块,from语句例外)
Java在import类的时候,并不执行类代码,也不把类加载进内存,所以说import语句对于java来说只在编译器起作用,运行期就没用了。

python在import模块的时候,是执行了模块的所有代码。这里有两种理解方式都正确:一种是代码执行完后,产生了一个模块对象,以后通过这个模块对象访问所有的模块里定义的成员。另一种是代码执行完后,并没有产生一个模块对象(或者仅仅认为产生了一个非常简单的不带要任何成员的对象),但代码里面定义的所有成员前面自动加上了命名空间。以上两种理解方式都可以帮助理解代码(不同的书讲的不一样)。但是我更倾向于第一张理解方式,因为模块的作用就是为了封装和代码的重用,而包的主要作用才是命名空间。【其实,Java中的名字空间即包名是虚的,不是一个实体,只起到姓氏的作用;而Python中的名字空间即模块名是实的,是一个真正的实体,就好像是个类一样,只不过是比类更高级的一层封装,它可以封装类、变量、函数等。】

【总之,Java中包直接管理到类,而在Python中包直接管理到模块】

二、关于import

1、import

# 用法
import module
关键字 模块名
# 同时导入多个模块,使用 , 隔开
import module1,module2,module3

import 模块名称 可以放在文件开头,也可以放在方法内部。这和作用域有关系,放在开头代表它的作用域是全局的。放在方法内部代表它的作用域是局部的

2、from-import 语句

# 用法
from module import name
关键字 模块名 关键字 方法名
使用这种方式导入可以直接使用 导入的内容
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

outer199

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值