1. 증상
SageMath 에서 function() 함수로 함수를 생성한다.
var('x') y = function('y',x)
아래와 같은 에러 메시지와 함께 함수 생성에 실패한다.
TypeError: function() takes exactly 1 positional argument (2 given)
2. 문제의 원인
function() 함수는 1 개의 위치 인자 (positional argument) 만을 받아들인다. 1 개의 위치 인자는 생성할 함수의 이름을 지정하기 위해 사용된다.
앞의 예에서는 위치 인자를 2 개 사용했기 때문에 에러가 발생한 것이다.
3. 문제 해결 방법
function() 함수에서 2 번째 위치 인자를 별도의 괄호 안에 포함시킨다.
var('x') y = function('y')(x)
print() 함수로 결과를 확인한다.
print(y)
4. 인자가 3 개 이상인 경우
위치 인자가 3 개 이상일 경우에도 마찬가지 방법을 사용한다.
var('x,y') z = function('z')(x,y) print(z)
One reply on “SageMath “TypeError: function() takes exactly 1 positional argument” 에러 해결 방법”
Itís nearly impossible to find educated people in this particular subject, however, you seem like you know what youíre talking about! Thanks