본문 바로가기
Python

Python 함수

by FraisGout 2020. 7. 2.

함수란?

함수(function)란 하나의 특정한 목적의 작업을 수행하기 위해 독립적으로 구성된 프로그램 코드의 집합으로 볼 수 있습니다.

 

 

 

파이썬에서 함수의 구조는 다음과 같습니다.

 

함수 구조

def 함수명(입력 인수):

 

수행문장 1

 

수행문장 2

 

수행문장 3

 

 

 

 

간단하면서도 많은 것을 보여주는 다음 예제를 살펴봅시다.

 

코딩연습

def sum(a,b):

 

return a+b

 

 

 

a=1

 

b=2

 

c=sum(a,b)

 

print(c)

 

실행 결과

3

 

 

 

위의 예제에서 정의한 sum() 함수는 ab의 두 개의 매개변수를 가지며, 두 매개변수의 합인 a+b를 반환하는 함수입니다.

 

 

 

다음 예제의 hi() 함수는 위의 예제와는 다르게 매개변수를 가지지 않는 형태의 함수입니다.

 

코딩연습

def hi():

 

return 'hi'

 

 

 

x=hi()

 

print(x)

 

실행 결과

hi

 

 

 

다음 예제의 multi() 함수는 반환값(return)이 없는 형태의 함수입니다.

 

코딩연습

def multi(a,b):

 

print("%d X %d의 곱은 %d입니다." % (a,b,a*b))

 

 

 

multi(2,4)

 

실행 결과

2 X 4의 곱은 8입니다.

 

 

 

앞선 예제에서 우리는 매개변수가 없거나, 한 두개로 고정된 함수를 살펴 보았습니다.

 

그렇다면 상황에 따라 다른 수의 매개변수를 전달받는 함수는 어떻게 선언해야 할까요?

 

 

 

다음 예제를 통해 확인해 봅시다.

 

코딩연습

def sumMany(*args):

 

sum = 0

 

for i in args:

 

sum = sum+i

 

return sum

 

 

 

temp = sumMany(1,2,3,4,5,6,7,8,9,10)

 

print(temp)

 

실행 결과

55

 

 

 

위 예제의 sumMany() 함수에서 우리는 매개변수를 *args라고 선언하였습니다.

 

이 표현은 해당 함수는 상황에 따라 다른 수의 매개변수를 전달받을 수 있다는 의미입니다.

 

I/O 함수

이제는 함수를 좀 더 활용하는 예제를 살펴봅시다.

 

)

>>> temp = input("문자열을 입력하세요 : ")

 

문자열을 입력하세요 : 안녕하세요? 반갑습니다.

 

>>> print(temp)

 

안녕하세요? 반갑습니다.

 

 

 

위의 예제에서는 input()이라는 사용자 입력 함수를 사용했습니다.

 

input() 함수의 반환값을 temp라는 이름의 변수에 저장하고, 해당 변수에 저장된 값을 print() 함수를 사용하여 출력하는 예제입니다.

 

 

 

다음 예제를 통해 print() 함수의 특성을 파악해보도록 합시다.

 

코딩연습

print("Music""is""my""life")

 

print("Music"+"is"+"my"+"life")

 

print("Music","is","my","life")

 

print("Music is my life")

 

실행 결과

Musicismylife

 

Musicismylife

 

Music is my life

 

Music is my life

 

 

 

실행 결과를 통한 차이점과 공통점이 보이시나요?

 

큰 따옴표로 구성된 문자열과 더하기 연산자(+)는 동일한 결과를 보여줍니다.

 

그리고 print() 함수에서 문자열의 띄어쓰기는 콤마(,)로 구분할 수 있습니다.

 

물론, 큰 따옴표 안에서 띄어쓰기를 한다면, 공백 또한 문자로 인식되어 콤마를 사용한 것과 같은 결과를 보여줍니다.

 

파일 I/O

이제까지는 한 파일 내에서만 코드를 작성하고 그 결과를 살펴보았습니다.

 

지금부터는 다른 파일을 만들고, 그 파일을 읽어 들여 내용을 추가하는 것을 공부해봅시다.

 

 

 

)

>>> f=open("C:/PYTHON/temp.txt",'w')

 

>>> f.close()

 

>>>

 

 

 

위의 예제는 C드라이브 바로 아래에 PYTHON이라는 폴더를 만들고, temp라는 텍스트 파일을 생성하라는 코드입니다.

 

위의 예제를 실행한 후 실제 경로로 들어가보면 temp.txt라는 파일이 만들어져 있는 것을 확인할 수 있습니다.

 

 

 

그렇다면 위의 예제에서 사용된 'w'는 무슨 의미이고, open()close() 함수의 역할은 무엇일까요?

 

여기서 'w'는 파일의 열기 모드를 지정하는 문자입니다.

파이썬에서 사용할 수 있는 파일 열기 모드는 다음과 같습니다.

r 읽기모드, 파일을 읽을 수만 있음

w 쓰기모드, 파일의 내용을 입력할 때 사용

a 추가모드, 파일의 마지막에 내용을 추가할 때 사용

 

그렇다면 close() 함수의 역할은 무엇일까?

 

close() 함수는 사용한 파일 객체를 닫아주는 역할을 합니다.

 

 

파이썬에서는 파일을 닫아주지 않아도 자동으로 닫아주지만, close() 함수를 사용하여 닫는 것을 권장합니다.

'Python' 카테고리의 다른 글

Python 객체지향 프로그래밍  (0) 2020.07.02
Python 제어문  (0) 2020.07.02
Python 자료형  (0) 2020.07.02
Python 특징  (0) 2020.07.02

댓글