Мой код ниже:Как написать метод, который можно вызывать с разными параметрами?
class A:
def TestMethod(self):
print 'first method'
def TestMethod(self, i):
print 'second method', i
ob = A()
ob.TestMethod()
ob.TestMethod(10)
Он выдаст ошибку ..
Traceback (most recent call last):
File "stack.py", line 9, in <module>
ob.TestMethod()
TypeError: TestMethod() takes exactly 2 arguments (1 given)
Как я могу иметь метод, который можно назвать с разным числом параметров?
Как это достичь? как вы пробовали это сделать? – therealprashant
В перегрузке питона не очень распространены (не исключено использование декораторов и т. Д.). Используйте аргумент ключевого слова вместо 'def TestMethod (self, i = None)'. Затем проверьте i и измените поведение –
загляните в * args и ** kwargs для предоставления переменных переменных функции, но предупредите, что это не рекомендуется с помощью инструментов статического анализа, таких как pylint, и они будут заставлять вас писать сложный код – ThorSummoner