티스토리 뷰

정리에 앞서, 우선 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 WORLD
hello world
메소드를 사용하는 것만으로는 그 변수의 값이 바뀌지 않는 것에 유의해야 한다. 
위의 2번 줄에서 비록 대문자로 변환한 결과를 출력했다고 하더라도 3번째 줄에서 다시 x 값을 출력해 보면 기존의 변수 값을 그대로 가지고 있다.


  • 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]


이번 포스트에서는 함수 및 메소드에 대한 기본적인 개요만 정리하고, 추후에 따로 각 내용을 요약해 보려고 한다.

공지사항