클래스에 정의 된 함수를 호출 할 때 TypeError 문제가 발생했습니다. 오류는 다음과 같습니다 그런 TypeError: p() takes exactly 1 argument (2 given)
클래스 함수의 인수 문제 파이썬
class HTMLGen:
def p(text):
return ("<p>%s</p>" % text)
def a(text):
return ("<a>%s</a>" % text)
def b(text):
return ("<b>%s</b>" % text)
def title(text):
return ("<title>%s</title>" % text)
def comment(text):
return ("<!--%s-->" % text)
def div(text):
return ("<div>%s</div>" % text)
def span(text):
return ("<span>%s</span>" % text)
def body(text):
return ("<body>%s</body>" % text)
의 HTMLGen 클래스를 가져오고
>>> import htmlgen
>>> website = htmlgen.HTMLGen()
>>> paragraph = website.p("Hello World!")
하고 Enter 키를 누르면이 방법에게 HTMLGen.p(t)
기능을 사용하려고 시도 후, 나는 언급 한 오류가 발생합니다. 왜 HTMLGen.p()와 다른 함수가 하나 이상의 인수를 얻는지를 아는 사람이 있습니까? 그리고 이것이 일어나지 않도록하는 가장 쉬운 방법은 무엇입니까?
클래스의 메소드는 항상'self'와 당신이 준 다른 인자를 전달합니다. 'self'와'text'는 두 개의 인수이지만, 여러분의 메소드는 * one * 인수 만 허용합니다. 그들 모두에게'self'를 추가하거나 정적 함수로 만드십시오. 왜 이걸 처음에 수업에 넣었 니? –
'website.p ("Hello World!")'는'HTMLGen.p (웹 사이트, "Hello World!")'에 해당하는 첫 번째 근사값이며, 그 방법이 왜 필요한지 이해하게 될 것입니다 두 개의 매개 변수로 정의됩니다. – chepner