Categories
Mathematics

SageMath “TypeError: function() takes exactly 1 positional argument” 에러 해결 방법

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” 에러 해결 방법”

Leave a Reply

Your email address will not be published. Required fields are marked *