我需要一些帮助将类属性size
更改为实例属性。 这是当前代码(工作):如何将类属性更改为实例属性Python编程
class BoardHandler:
size=None
def __init__ (self):
self.board = None
if BoardHandler.size is None:
self.ask_size()
self.getNewBoard()
def ask_size(self):
while True:
try:
BoardHandler.size = int(input("Which size would you want? "))
break
except ValueError:
print("Wrong! try again")
当我尝试改变类为实例属性是这样的:
class BoardHandler:
def __init__ (self):
self.board = None
self.size = self.ask_size()
self.getNewBoard()
def ask_size(self):
while True:
try:
self.size = int(input("Which size would you want? "))
break
except ValueError:
print("Wrong! try again")
从现在开始
所以,而不是调用到size
与BoardHandler .size我呼吁self.size。但我得到的错误是:
Traceback (most recent call last):
File "/Users//Desktop/REVERSI/.py", line 281, in <module>
menu()
File "/Users//Desktop/REVERSI/.py", line 213, in meny
main1v1()
File "/Users//Desktop/REVERSI/.py", line 236, in main1v1
handler = BoardHandler()
File "/Users//Desktop/REVERSI/.py", line 35, in __init__
self.newBoard()
File "/Users//Desktop/REVERSI/.py", line 50, in newBoard
for i in range(self.size):
TypeError: 'NoneType' object cannot be interpreted as an integer
'ask_size'返回'无'。要么返回一个int或只是调用'ask_size' –
你的意思是我会调用'self.ask_size'而不是'self.size'? @tmadam – Entropy
我的意思是调用'ask_size',但不要将它分配给'size'或让'ask_size'返回一个int,就像@Daniel Sanchez的回答 –