헤이 모두, 내가 확인을 heres를 heres .. 테이블 만 일어나고 매우 뭔가 이상한의 종류를 구성하기 위해 사전을 사용하는 클래스를 만들어 내 코드설명 할 수없는 파이썬 딕셔너리 문제
class dbase:
def __init__(self):
self.rows = {}
self.cols = {}
def addrow(self, name):
self.rows[name] = self.cols
def addcol(self, name):
for x in self.rows:
self.rows[x][name] = None
def printit(self):
for x in self.rows:
print x, self.rows[x]
a = dbase()
a.addrow("coke")
a.addcol("price")
a.printit()
a.addrow("sprite")
a.printit()
을 시도하고 이상한에게 맡은 일. 내 프로그램은 스프레드 행을 "price"값을 가진 내부 사전을 가지고 있지만 내 프로그램에서는 어디에도 말하지 않았다. self.cols [ "price"] = None 그래서 스프라이트에 대한 addrow 함수가이 내부 사전을 그 안에 넣는다. ? 어떤 도움
http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html#other-languages-have-variables 전체'self.rows [x]'는 같은 객체'self를 참조하십시오. . 콜스. – jfs
"아니요. 내 프로그램에서 어디서 그런 말을 했나요?'self.cols ["price "] = None'"예, 있습니다. self.rows [x] [name] = None'은 self.rows [x]가 이전에 self.cols로 설정 되었기 때문에 정확하게 말합니다. –
새로운 스타일의 클래스를 사용하십시오 – Ant