Python和Java中import语句的含义有什么区别?

时间:2014-04-22 09:00:36

标签: java python

我是一名Python程序员。我最近开始学习Java。我发现Python和Java都使用import来从其他文件中获取代码。这两种语言的导入的确切含义有什么区别吗?

4 个答案:

答案 0 :(得分:4)

Java导入允许简短引用类。这与其他一些语言不同。例如,在Python中,import关键字将对象导入脚本的命名空间。在Java中,import关键字仅通过允许引用类型而不指定全名来保存类型。

在python中

In [1]: import os.path

In [2]: path
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-2-e7fa32cb05ba> in <module>()
----> 1 path

NameError: name 'path' is not defined

In [3]: os.path
Out[3]: <module 'posixpath' from '/usr/lib/python2.7/posixpath.pyc'>

你不能只使用“path”引用路径,你必须使用“os.path”

答案 1 :(得分:3)

存在细微差别。

在Java中,您可以在没有任何import的情况下引用包或类中的对象。

您可以new java.util.ArrayList()完成此操作。

OTOH,在Python中,你总是必须以某种方式导入想要的模块:在使用sys.argv之前,你必须import sys

两者都可以缩写:在Java中,你可以

import java.util.ArrayList;

...

... = new ArrayList();
在Python中

,你可以做到

from sys import argv

然后使用它。

两者都有“全能”语法:

    Java中的
  • import java.util.*;允许您使用同一个包的几个部分,并且
  • from sys import *是(不赞成的)Python的等价物。

答案 2 :(得分:0)

两者都是一样的。

Import关键字用于将内置和用户定义的包导入源文件。因此,您的类可以通过直接使用其名称来引用另一个包中的类。

答案 3 :(得分:0)

这是你在python中导入模块的方式..

from os import *
path