Study/Python

[Python/Error] 파이썬 list 정렬 (sort / sorted)

growingtree 2021. 1. 2. 16:54
728x90

 

파이썬에서 리스트의 요소를 정렬하는 방법은 대표적으로 두 가지가 있다.

sort 메소드와 sorted 함수

이 둘의 차이점을 비교해보려고 한다.

 

1. sort() 메소드 

- 리스트의 메소드이다.

- return값이 없다. 

위의 코드처럼 작성하면 반드시 에러가 난다.

에러가 나는 이유를 찾아보니 sort() 메소드는 return 값이 없기 때문이다.

arr 변수가 받아서 사용할 return값이 없어 에러가 나는 것이다. 

 

2. sorted() 함수

1. 함수이다. 메소드와 같이 클래스에 종속되어있지 않음. 

2. sort()와 다르게 return 값이 존재한다.

위와 같은 코드를 작성하고 sorted () 함수를 사용하면 에러 없이 결과가 나온다.

 

이름, 역할이 비슷한데 왜 비슷한걸 하나 더 만들었을까.. 싶은 메소드, 함수들이 있는데  이렇게 조금씩 차이가 있는걸 알게되니 재밌다. 정렬할 때 헷갈리지 말고 사용해야겠다. 

 


메소드와 함수의 차이점은 아래의 사이트에서 확인이 가능하다. 

https://velog.io/@yejin20/Python-%ED%95%A8%EC%88%98%EC%99%80-%EB%A9%94%EC%86%8C%EB%93%9C%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90

 

[Python] 함수와 메소드의 차이점

파이썬을 공부하는 내내 함수와 메소드라는 단어를 자주 들었다. 그런데 막상 배운 것들을 블로그에 글로 정리할 때마다 이 단어를 함수라고 말해야할지, 메소드라고 말해야할지 몇 번 고민했

velog.io

간단하게 정리하면, 

함수는 함수 이름을 통해 함수를 이용할 수 있으며 독립적으로 정의가 되어있다.

메소드는 메소드 이름으로만 호출할 수 없고, 정의된 클래스의 참조에 의해 클래스를 호출해야한다.

즉 메소드는 클래스 내에서만 정의되므로 해당 클래스에 종속적이다. 

 

반응형