"TypeError: method()는 1개의 위치 인수를 사용하지만 2개의 인수가 전달되었습니다", 단 하나의 인수만 전달됨
"TypeError" 오류가 발생하는 경우 : method()는 1개의 위치 인수를 취하지만 2개가 주어졌습니다." 인수를 하나만 전달했음에도 불구하고 Python의 메서드 호출을 이해하는 것이 중요합니다.
Python에서 메서드 호출은 보다 장황한 구문을 위한 구문 설탕입니다. 객체에 대해 메서드를 호출할 때 언어는 호출을 더 명시적인 형식으로 변환합니다. 여기서 객체는 메서드에 대한 첫 번째 인수가 됩니다.
예를 들어 다음 호출은 다음과 같습니다.
my_object.method("foo")
은(는) 다음과 같이 번역됩니다.
MyClass.method(my_object, "foo")
여기서 첫 번째 인수(my_object)는 메서드 정의 내에서 self 매개 변수라고 합니다. 이 매개변수는 메소드가 호출되는 객체를 나타냅니다.
대부분의 경우 메소드에는 호출되는 객체에 대한 액세스가 필요합니다. 그러나 때로는 바인딩된 개체에 의존하지 않는 메서드를 원할 수도 있습니다. 이러한 경우 Python의 staticmethod() 함수를 사용하여 메소드를 장식할 수 있습니다.
class MyOtherClass: @staticmethod def method(arg): print(arg)
staticmethod()로 메소드를 장식하면 자체 매개변수가 필요하지 않으므로 참조 없이 직접 메소드를 호출할 수 있습니다. the object:
my_other_object.method("foo")
이것은 두 개의 인수가 제공되었다는 오류가 발생한 이유를 명확히 합니다. Python은 메소드를 호출하는 객체(예: 원래 예의 my_object)를 암시적 첫 번째 인수로 해석하여 총 2개의 인수가 전달됩니다.
위 내용은 명시적 인수가 하나인 경우에도 'TypeError: method()가 1개의 위치 인수를 사용하지만 2개가 주어졌습니다.'가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!