如何在Python中使用导入模块的内容而不必每次都写入模块的文件名?

时间:2017-03-07 01:01:01

标签: java python python-3.x

例如,在Java中,当我们导入一些类时,我们可以访问类的内容而无需编写文件名。像这样:

import structures.Node;

public class JavaExample {
//then I can call Node directly
Node node = new Node();
}

但在Python中,当我想做同样的事情时,我必须这样做:

import node

class PythonExample:
    # have to write node. first
    my_node = node.Node()

有没有办法在没有'node'的情况下调用Node类,就像在Java中一样?

3 个答案:

答案 0 :(得分:3)

如果您经常使用该模块中的某些内容,那么您可以从模块中专门导入它,然后在没有名称的情况下引用它:

from random import randint 
randint(1,10)

或者,为方便起见,您可以缩短模块名称:

import random as r
r.randint(1,10)

答案 1 :(得分:1)

在Python中,您通常会使用'节点。'但它经常缩短以节省击键次数。例如:

import pandas as pd
import numpy as np

答案 2 :(得分:1)

Chase G.和Jessica描述的方法通常是你想要做的。为了完整性'为了这个,你在Java中所做的直接模拟将是from node import *。由于命名空间污染等原因,这通常被认为是不良形式(1)(2)

(1):Why is "import *" bad?
(2):What exactly does "import *" import?