티스토리 뷰
정리에 앞서, 우선 Function과 Method의 차이에 대해 이야기 해 보자. 아래부터는 Function과 Method를 각각 함수와 메소드로 부른다.
함수와 메소드의 차이는 객체(Object)에 속해있는지에 대한 여부에 달려있다. (여기서 객체를 설명하는 것은 제약이 많으므로 설명을 생략한다)
메소드는 객체에 속해있는 함수로 정의할 수 있으며, 결국 큰 의미에서 메소드는 함수라고 볼 수 있다.
1. Function
만약 파이썬의 함수(Function) 이름을 알고 있다고 하더라도 어떻게 사용하는지 알지 못할 수 있다. 이러한 경우 재미있게도 help( )라는 함수를 통해 함수를 어떻게 사용할 수 있는지 확인할 수 있다. 가령 sorted( )라는 함수에 대해 알기 위해서는 아래와 같은 명령어로 확인이 가능하다.
help(sorted)
RESULT ---
sorted(...)
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
결과에서 볼 수 있듯, sorted( ) 함수는 괄호 안에 iterable, cmp, key, reverse 4개의 파라미터를 가진다.
여기서 [key=none] 이라고 하는 것은 만약 그 값을 특정하지 않으면 기본값으로 none이 지정된다는 의미이며,
[reverse=False] 라고 하는 것은 만약 그 값을 특정하지 않으면 기본값으로 False가 지정된다는 의미이다.
파이썬에서 기본적으로 제공하고 있는 함수를 'Built-in Function'이라고 하며, 파이썬은 이러한 다양한 함수를 제공함으로써 Data를 다루는데 좀 더 수월하도록 돕고있다.
우리가 알고 있는 print( ), type( ) 이나, str( ), int( ), bool( ) 등과 같이 자료형을 바꿔주기 위해 사용하는 것들이 모두 함수이다.
함수의 값을 변수에 대입할 수 있는데 기본적인 구문은 아래와 같다.
output = function_name(input)
2. Method
Method는 기본적으로 Object(객체)와 연관되어 사용된다.
우리가 기존에 공부한 str, float, list와 같은 자료형은 모두 객체이므로 이러한 자료형과 연관되어 사용되는 것은 메소드로 볼 수 있다.
메소드는 함수와 달리 아래와 같은 구문을 가진다.
object.method_name( )
- String Methods
String Method는 문자열과 관련된 메소드로, 만약 주어진 문자열을 대문자로 바꾸고 싶은 경우 upper( )라는 매소드를 사용할 수 있다.
아래는 x라는 변수에 "hello world"라는 문자열을 담아 출력한 결과이다.
x = "hello world"print(x.upper( ))print(x)RESULT---HELLO WORLDhello world
- List Methods
메소드는 모든 자료형과 연계되어 사용할 수 있는데, List와도 연계하여 사용할 수 있다.
index( ), count( )와 같은 메소드는 List와 연계되어 사용된다.
areas = [11.25, 18.0, 20.0, 10.75, 9.50]
print(areas.index(20.0))
print(areas.count(14.5))
RESULT---
2
0
위 결과에서 알 수 있듯, 각 메소드는 아래와 같은 기능을 가진다.
index( ): 리스트에서 파라미터와 일치하는 값을 가지는 index 값을 리턴
count( ): 리스트에서 파라미터와 일치하는 값을 가지는 횟수를 리턴
한편, 리스트를 변경하기 위해 사용하는 메소드도 존재하는데 append( ), remove( ), reverse( ) 등과 같은 것들이 있다.
이름에서 유추가 가능하겠지만 각 함수는 다음과 같은 기능을 가진다.
append( ): 리스트에 값을 추가
remove( ): 리스트에서 파라미터와 일치하는 첫 요소를 제거
reverse( ): 리스트의 순서를 변경
areas = [11.25, 18.0, 20.0, 10.75, 9.50]
# areas에 값 추가
areas.append(24.5)
areas.append(15.45)
# areas 출력
print(areas)
# areas의 Element 순서를 역순으로 변경
areas.reverse()
# areas 출력print(areas)
RESULT---
[11.25, 18.0, 20.0, 10.75, 9.5, 24.5, 15.45]
[15.45, 24.5, 9.5, 10.75, 20.0, 18.0, 11.25]
이번 포스트에서는 함수 및 메소드에 대한 기본적인 개요만 정리하고, 추후에 따로 각 내용을 요약해 보려고 한다.
'Data Science > Python for Data Science' 카테고리의 다른 글
List (리스트 - 배열) (0) | 2016.05.16 |
---|---|
Data Type (자료형) (0) | 2016.05.15 |
"파이썬을 이용한 데이터 분석" 시작에 앞서 (0) | 2016.05.15 |