Python自我论证

时间:2013-12-04 22:05:45

标签: python self

我已经用Java编写了多年,我的学校在这里教Python,我遇到了很多麻烦。我的教授要求我们在python中创建Connect4并从这两种方法开始:

def __init__( self, width, height ): 
self.width = width 
self.height = height 
self.data = [] # this will be the board 

for row in range( self.height ): 
    boardRow = [] 
    for col in range( self.width ): 
        boardRow += [' '] 
    self.data += [boardRow] 

def __repr__(self): 
#print out rows & cols 
    s = '' # the string to return 
    for row in range( self.height ): 
        s += '|' # add the spacer character 
        for col in range( self.width ): 
            s += self.data[row][col] + '|' 
        s += '\n' 

    #print out separator 
    #your code here 

    # print out indices of each column 
    # using mod if greater than 9, 
    # for spacing issues 
    #your code here

    return s # return it 

我不理解self论证,我已经阅读过很多关于它的内容,似乎没有什么对我有意义。我希望有人可以给我一些关于self在这个函数中做了什么的解释,以及为什么我的教授说第一个函数只给出了两个参数,但显然有三个。

非常感谢任何帮助/解释!

Here是我获得这些功能的地方。

1 个答案:

答案 0 :(得分:1)

在类上调用方法时,它将类实例作为方法的第一个参数传递,通常程序员将此参数命名为self,但它可以命名为

class CheckMeOut:
    def class_func(self):
        print self

    def class_func1(s):
         print s

    def class_func2(xyz):
         print xyz

c = CheckMeOut() #create Instance
c.class_func()
c.class_func1()
c.class_func2()

或者只是查看mgilson提供的链接