Search

반응형

'파이썬프로그래밍'에 해당되는 글 12건

  1. 2020.10.14 [HOW]Python 프로그래밍 파일 입출력 사용하는 방법, 파이썬 File 왕초보
  2. 2020.10.13 [HOW]파이썬 프로그래밍에서 함수 만드는 방법, Python Function 왕초보
반응형

안녕하세요. 신기한 연구소입니다.

프로그램을 개발하면 파일을 다루는 경우가 종종 있습니다.

파이썬 프로그래밍에서도 파일 입출력 기능이 있는데

어떻게 사용하는지 알아보겠습니다.

보통 파일 관련 프로그램은 파일을 만들고, 열고, 쓰고, 수정하고 닫는 구조로 되어 있습니다.

그럼 파이썬 프로그래밍에서는 어떤 함수를 사용하는지 보겠습니다.

 

파일 만들어보기

open() 함수를 사용해서 파일을 만들 수 있습니다.

open(파일명, 파일모드) 함수의 파라미터는 파일명과 파일 모드입니다.

위 예제처럼 파일명만 사용하면 현재 파이썬 py파일의 위치에 만듭니다.

 

다른 경로로 하고 싶다면 전체 경로를 사용하면 됩니다. (C:\myfolder\abc.txt)

파일 모드는 읽기모드(r), 쓰기모드(w), 추가모드(a), 읽고쓰기(r+)가 있습니다.

파일 모드를 생략하면 기본 읽기모드(r)가 됩니다.

 

어느 프로그래밍 언어든 파일을 만들고 사용했다면 반드시 닫아줘야 합니다.

파이썬 프로그래밍에서는 close() 함수를 사용했습니다.

 

open() 함수는 생성된 파일 정보를 리턴해 줍니다.

그래서 f에 담고 사용할 수 있습니다.

 

파일에 내용 쓰는 방법

파일에 내용을 입력해봤습니다.

쓰기 모드로 파일을 열고 리턴 받은 파일 정보 f를 사용합니다.

 

write() 함수는 리턴 받은 파일 f에서 사용할 함수로

파일에 내용을 쓰는 기능을 합니다.

메모장을 열어 파일을 확인하니 입력한 대로 잘 저장되었네요.

 

위 예제를 통해서 파일에 여러 라인의 텍스트를 입력해봤습니다.

별거 없네요. ㅎㅎ

 

파일의 내용 읽는 방법

이번 예제는 파일 내부의 텍스트를 읽는 기능을 구현해봤습니다.

읽는 기능이니 'r' 옵션을 넣었습니다.

 

그리고 두 가지 함수를 사용했습니다.

readline()와 readlines()인데 s 하나 차이네요.

결과는 readline()는 첫줄이 나오고 readlines()는 리스트로 전체 데이터가 나왔습니다.

 

while문을 사용해서 반복적으로 파일을 라인별로 읽습니다.

readline()을 실행할 때마다 알아서 다음 라인을 읽습니다.

만약 readline이 더 이상 읽을 텍스트가 없어서 존재하지 않는다면

break로 빠져나옵니다. 그렇지 않으면 무한루프에 빠지게 됩니다.

 

이번 예제는 readlines() 를 사용했습니다.

이 함수를 사용하면 리스트로 리턴했는데 보기는 안 좋았지요?

그래서 for문으로 순환하면서 출력을 하니 원하는 방식으로 데이터가 출력되었습니다.

 

파일에 내용 추가하는 방법

이번 예제는 파일 모드를 추가('a')하는 기능으로 구현했습니다. 

기존 텍스트는 유지되면서 마지막 라인에 '추가했습니다.'가 추가되었네요.

 

with문 사용하는 방법

마지막으로 with문에 대해 살펴보겠습니다.

with문을 사용하면 위 예제에서 확인할 수 있듯이 close() 문을 사용하지 않았습니다.

그 외에는 별 다른 게 없어 보이네요.

with문을 사용하면 혹시나 누락돼서 실수할 수 있는 close()를 사용하지 않아도

자동 처리가 되니까 편하게 이용할 수 있게 됩니다.

 

잘못된 정보나 수정이 필요하면 댓글 주세요.

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

반응형
반응형

안녕하세요. 신기한 연구소입니다.

하루 하나의 파이썬 프로그래밍 포스팅을 하다 보니 어느덧 15번째 글이 되었네요.

뭐든 꾸준하게 하는게 중요한 듯합니다.

항상 그리고 꾸준히 공부해야 즐겁고 발전적인 프로그래머의 삶을 살 수 있다고 믿고~

이제 파이썬 프로그래밍에서 함수를 만들고 사용하는 방법에 대해 알아보겠습니다.

함수란 무엇일까요?

우리가 초등학교 시절부터 고등학교에서도 함수를 배웁니다.

어떤 값을 넣으면 안쪽의 고정된 식에 의해서 결과 값이 나오는 구조를 함수라 배웠습니다.

파이썬 프로그래밍의 함수도 같은 의미입니다.

파이썬 프로그래밍의 함수를 만들어봤습니다.

간단한 구조이지만 실제 원하는 로직을 구성해서 편리하게 사용할 수 있답니다.

먼저 파이썬 프로그래밍에서 함수를 정의하는 방법입니다.

 

키워드 def로 시작하며 원하는 함수 이름을 만들어 줍니다.

인사하는 함수를 만들었는데 

def를 타이핑하고 makeHello라는 이름을 만들었습니다.

 

이제 원하는 값을 함수 내부로 보내기 위해 함수명 뒤에

( )를 사용해서 입력 파라미터를 지정해 주면 됩니다.

우리는 이름을 넣으면 인사말에 이름을 붙여주는 함수를 만들기 위해

이름 name이라는 파라미터를 정의했습니다. 필요하면 콤마를 사용해 더 정의해도 됩니다.

 

이제 함수의 구현부를 만들어야 합니다.

위 예제를 보면 """ """로 감싼 텍스트를 확인할 수 있습니다.

바로 도큐멘테이션 문자열입니다.

일종의 설명서를 만들 때 이용되는 정보입니다.

이 함수는 어떤 기능의 함수라는 정보를 텍스트로 기록하면

나중에 설명서도 만들어질 때 이 정보를 이용합니다.

변수도 아니고 순수한 텍스트이므로 리터럴이라고 합니다.

 

파라미터로 받은 이름을 if문을 사용해서 값이 있는지 확인합니다.

없으면 인사를 할 수 없기에 이름이 없다는 결과를 출력합니다.

그렇게 만들어진 함수는 함수명(파라미터 값)을 이용해 호출하면 됩니다.

 

이번 예제는 결과를 받는 구조의 함수입니다.

보통 함수를 사용하는 경우 입력값을 넣고 결괏값을 받는 구조로 만듭니다.

두 수를 입력받고 두 수를 함수 내부의 변수에 할당 한 뒤

할당받은 내부 변수의 합을 결괏값으로 k에 할당합니다.

함수 선언 시 사용된 a, b는 파라미터(매개변수)라 부릅니다.

외부에서 들어오는 값을 가지고 있는 변수입니다.

 

i, j는 함수 내부에서 선언 및 할당되었습니다.

함수 내부에서만 사용 가능한 지역변수입니다.

 

그래서 전역 변수를 사용하는 예제를 만들었습니다.

z = 5는 함수 밖에서 선언되었기에 어디서든 사용 가능합니다.

결과는 29가 나왔습니다.

 

함수 밖에서 a, b, i, j를 사용하면 정의되지 않은 변수로 

오류가 발생합니다. 주의해서 잘 확인하세요.

 

위 함수는 입력 파라미터가 좀 특이합니다.

바로 *args를 사용했는데요.

이렇게 *를 사용해서 입력 파라미터를 선언하면

개수를 지정하지 않고 콤마를 사용해서 다수의 입력 변수를 사용할 수 있습니다.

배열처럼 사용한다고 보면 되겠네요.

함수명(*args)을 설명했는데 함수명(입력값, *args)으로도 사용이 가능합니다.

 

이번 예제를 보면 파라미터 중 값을 지정한 경우가 있네요.

subject = 'math'입니다.

굳이 이렇게 사용해야 하나?라는 의문이 들 수 있지만..

기본값으로 지정한다는 개념으로 보면 되겠네요.

 

첫 번째 함수 호출을 보면 subject 값을 할당하지 않았습니다.

결과는 기본 math가 나옵니다.

다른 값을 원한다면 subject값에 원하는 값을 넣으면 됩니다.

파이썬 프로그래밍에서 함수를 어떻게 만들고 사용하는지 

몇 가지 예제 코딩을 해봤습니다.

 

잘못된 정보나 수정이 필요하면 댓글 주세요.

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

반응형