Python.05

2020. 5. 18. 16:25
728x90

프로그래밍에서 함수는 일반적으로 동일한 기능들을 하나로 묶는 행위를 말한다고 볼 수 있죠. 함수를 활용하여 기능에 따라 하나씩 묶어두면 재사용이 가능하기 때문에 코드 작성시 작업의 효율성을 높일 수 있습니다. 오늘은 Python에서 사용되는 함수의 전달인자와 파일 입출력에 대해 알아보도록 하겠습니다. 이번 시간 학습내용을 통해 여러분은 Python의 함수를 만들 수 있으며 파일 입출력을 할 수 있습니다. 그럼 학습 내용과 강사를 확인하고 본격적으로 학습을 시작해 볼까요?

수학적인 의미에서의 함수란 어떤 값이 들어갔을 때 그 값이 출력되고 입력되는 형태를 말합니다. 프로그래밍에서 함수에 대해 알아보도록 하겠습니다.

1.    함수의 전달인자

Function 이란, 어떤 면에서 어떤 기능들을 따로 모아놓는 것들을 가리킵니다.
Python에서 함수를 정의를 할 때는 def 라는 명령을 사용합니다.

def add(a, b): # a b 라는 인자를 전달 받은 함수 add

return a+b

print add(1, 2)  # 3

 

x = 10

y = 20

z = add(x, y)

print z  # 30

 

이처럼 파라메터, 즉 전달인자를 이용해 어떤 값을 넘기고 계산된 결과 값을 반환받는 형태를 통상적으로 함수라고 지칭합니다. 모든 함수가 parameter을 가지고 있진 않지만, 만약 전달인자를 넣지 않을 경우에 에러가 뜨게 됩니다.

그리고 위의 예시처럼 parameter를 전달을 할 수도 있으나, 특정한 경우에는 파라메터의 개수가 정확하게 몇 개가 될지 모를 때가 있습니다. 이런 경우 함수를 정의할 때 parameter 앞에 아스타리스크 (*) 를 붙입니다.

def say_hello_all(*names) :

    for i in names :

        print “hello” + i

say_hello_all(“James”, “William”, “Bentley”, “Stella”) #아래와 같은 결과가 나옴

hello James

Hello William

Hello Bentley

Hello Stella

우리는 이런 방법으로 개수가 명확히 정해져 있지 않은 경우에도 함수에 파라메터를 넘길 수가 있습니다.

2. 파일 입출력

파일을 한 번 생성해보겠습니다.

f = open (“myFile.txt”, “w”)  # myFile 이라는 이름의 텍스트 파일을 만듦.

*여기서 wwrite 의 약자입니다. 만약 기존에 동일한 파일이 있었다면 우리가 더블유를 사용하는 순간 기존 파일은 삭제됩니다. 기존 파일을 삭제하지 않고 뒤에 추가하고 싶을 경우에는 어펜드의 약자인 a 라는 문자를 사용하고 아닌 경우에는 w 를 사용해 최초 파일을 생성합니다.

for i in range(1, 11) :

           str = “%dth line\n” % i

           f.write(str)

f.close()

--------

f = open (“myFile.txt”, “r”)  # myFile 파일을 읽음.

lines = f.readlines()  # myFile 파일을 한 줄 씩 읽어서 리스트 생성

for i in lines :

           print i  # 한 줄 씩 출력됨

f.close()  # 파일 닫음

--------

f = open (“myFile.txt”, “r”)

txt = f.read()  # 한번에 읽음

print txt

txt2 = f.read() 

txt2 에 아무것도 들어가 있지 않아서 원하는 파일이 출력되지 않습니다. 파일을 한번 읽으면 현재 파일 포인터는 제일 끝으로 이동하기 때문에 더 이상 읽을 일이 없다고 인식하게 됩니다. 그래서 항상 f.close() 를 이용하여 파일을 닫아줘야만 파일을 정상적으로 처리를 할 수가 있게 되는 겁니다.

그러나 읽을 때마다 닫아줘야 하면 작업의 효율성이 떨어집니다. 그래서 준비했습니다.

with 라는 구문을 사용하여 이러한 번거로운 작업을 간단히 처리할 수 있습니다.

 

with open (“myFile.txt”, “r”) as f:

           txt = f.read ()  # 파일을 읽음

 

with 구문을 사용하면 이 안에서만 f의 객체가 유효해집니다. , 엔터를 치면서 구문을 벗어나면 자동으로 파일이 닫히면서 f의 객체는 사라집니다.

728x90

'Python' 카테고리의 다른 글

Python.04  (0) 2020.05.18
python.03  (0) 2020.03.15
python.02  (0) 2020.03.11
python.01 (Intro)  (0) 2020.03.06

BELATED ARTICLES

more