从类构造函数访问变量到python中的类函数

时间:2014-10-10 15:46:21

标签: python

如何从类构造函数访问变量到类函数?

代码:

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'未定义

2 个答案:

答案 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

的知识