如何从类构造函数访问变量到类函数?
代码:
class evol:
k = 0
m = 0
def __init__(self, file1):
InFile = open(file1, 'rb')
InFile = csv.reader(InFile, delimiter='\t')
for rec in InFile:
self.k += int(rec[0])
def method1():
print k
我收到错误, NameError:全局名称' k'未定义
答案 0 :(得分:0)
您必须使用类变量的全名:
def method1(self):
print evol.k
或者,因为您分配到self.k
中的__init__
,您可能需要
def method1(self):
print self.k
取决于您的k
。
答案 1 :(得分:0)
我没有足够的代表添加评论,但您确定要缩进代码吗?不过,你可以使用" self"来访问类变量。关键字:
class evol:
k = 0
m = 0
def __init__(self, file1):
InFile = open(file1, 'rb')
InFile = csv.reader(InFile, delimiter='\t')
for rec in InFile:
self.k += int(rec[0])
def method1(self):
print self.k
如果你不缩进你的代码,method1()将是一个独立的方法,所以它不会知道任何关于k
的知识