我對python比較陌生,但認爲我有足夠的理解,除了(顯然)使用「導入」語句的正確方法。我認爲這是問題,但我不知道。在一個函數中實例化一個對象 - Python
我
from player import player
def initializeGame():
player1 = player()
player1.shuffleDeck()
player2 = player()
player2.shuffleDeck()
和
from deck import deck
class player(object):
def __init__(self):
self.hand = []
self.deck = deck()
def drawCard(self):
c = self.deck.cards
cardDrawn = c.pop(0)
self.hand.append(cardDrawn)
def shuffleDeck(self):
from random import shuffle
shuffle(self.deck.cards)
但是,當我嘗試initializeGame()它說: 「PLAYER1尚未定義」,我真的不知道爲什麼。在同樣的文件中,如果我只是使用「player1 = player()」,那麼它就非常好,但它拒絕在函數內部工作。任何幫助?
編輯:未包括前
class deck(object):
def __init__(self):
self.cards = []
def viewLibrary(self):
for x in self.cards:
print(x.name)
def viewNumberOfCards(self, cardsToView):
for x in self.cards[:cardsToView]:
print(x.name)
from deck import deck
class player(object):
def __init__(self):
self.hand = []
self.deck = deck()
def drawCard(self):
c = self.deck.cards
cardDrawn = c.pop(0)
self.hand.append(cardDrawn)
def shuffleDeck(self):
from random import shuffle
shuffle(self.deck.cards)
和追蹤誤差加法東西
player1.deck.cards
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
player1.deck.cards
NameError: name 'player1' is not defined
是否真的說'player1'(而不是''''''沒有'1')沒有定義?這是一個原因,你應該包括一個完整的回溯... – delnan
回溯(最近通話最後一個): 文件「」,1號線,在 player1.deck.cards NameError:名字「PLAYER1」沒有定義 如果我嘗試player1.deck.cards應該返回「[]」這是我得到的完整回溯,我的道歉不包括它 –
@CarlReyes錯誤中給出的代碼不在您給我們的代碼中。 –