Python和Java中import语句的含义有什么区别?
我是一名Python程序员,最近开始学习Java。我发现Python和Java都使用import来引入其他文件中的代码。那么这两种语言中import的具体含义有什么不同吗?
4 个回答
0
这句话是在说你在Python中导入模块的方式。
from os import *
path
0
这两个是一样的。
import 这个关键词是用来把内置的和用户自己定义的包引入到你的源文件中的。这样一来,你的类就可以直接通过名字来引用其他包里的类。
3
这两者之间有一些细微的区别。
在Java中,你可以在不使用任何import
的情况下,直接引用一个包或类里的对象。
比如,你可以这样写:new java.util.ArrayList()
。
而在Python中,你总是需要以某种方式导入你想要的模块:在使用sys.argv
之前,你必须先写import sys
。
这两种语言都可以简化写法:在Java中,你可以这样做:
import java.util.ArrayList;
...
... = new ArrayList();
在Python中,你可以这样做:
from sys import argv
然后就可以使用它了。
这两种语言都有一种“通用”的写法:
- 在Java中,
import java.util.*;
可以让你使用同一个包里的多个部分; - 而在Python中,
from sys import *
就是类似的写法(不过这种写法不太被推荐)。
6
Java中的import可以让我们用简短的方式来引用类。这和其他一些语言不太一样。比如在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"。