Вы пропустили метод __init__()
при определении класса Solution .Это не всегда обязательно, но поскольку вы создаете экземпляр класса, вызывая Solution()
с некоторыми аргументами, необходимо реализовать метод __init__
.Таким образом, реализация может быть:
_nums = [2, 7, 11, 15]
class Solution(object):
def __init(nums, target):
self.nums = nums
self.target = target
def twoSum(self, nums=None, target=None):
if not nums:
nums = self.nums
if not target:
target= self.target
nums_1 = nums
for i in range(len(nums)):
for a in range(len(nums_1)):
if i != a:
if nums[i] + nums_1[a] == target:
return(sorted([i, a]))
s = Solution(_nums,9)
s.twoSum()
Также вы можете сделать:
s = Solution()
s.twoSum(_nums,9)
Это дает вам свободу либо определять аргументы во время инициализации класса, либо вызывать реальный метод сАрги.