我已经用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是我获得这些功能的地方。
答案 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提供的链接