2017-03-06 4 views
0

私はかなり愚かな間違いがあると確信していますが、私はそれを理解することができませんでした。 リンクリストを実装したいと思います。私は新しいノードをプッシュしなければならないとき、linkedListのための関数の1つで使うノードを実装するためのクラスを持っています。ここでは、コード(障害のあるインデントを避ける)Python:multipelクラスを使用してLinkedlistを実装する

class LinkedList(): 

def __init__(self, head=None): 
    self.head = head 

def insert(self, data): 
    new_node = Node(data) 
    new_node.set_next(self.head) 
    self.head = new_node 



class Node(): 
    def __init__(self, data=None, next_node=None): 
    self.data = data 
    self.next_node = next_node 

def get_data(self): 
    return self.data 

def get_next(self): 
    return self.next_node 

def set_next(self, new_next): 
    self.next_node = new_next 

はある。しかしPyCharmコンソールでのLinkedListのインスタンスを取得しようとしている上で、これは私が私が台無しにされる可能性があります

import linkedList 
a=LinkedList() 
Traceback (most recent call last): 
File "/usr/lib/python3.5/code.py", line 91, in runcode 
exec(code, self.locals) 
File "<input>", line 1, in <module> 
NameError: name 'LinkedList' is not defined 

任意のアイデアを得るものです?

答えて

0

import linkedListを実行すると、質問に投稿したコードが含まれていると思われるモジュールをインポートできます。モジュールの内容にアクセスするには、linkedList名前空間を使用する必要があります。

したがってa=LinkedList()は動作しませんが、a=linkedList.LinkedList()は動作します。

あなたは現在のグローバル名前空間にあなたのモジュールからLinkedList定義を追加したい場合は、次の操作を行うことができます。

from linkedList import LinkedList 
a = LinkedList() 

https://docs.python.org/3/tutorial/modules.html

を参照
関連する問題