Python Lecture Chap 4

기초반 4차시

TOC

1. Function(함수)

  • 반복적으로 사용하는 코드에 이름을 붙여 추상적으로 사용하도록 한 것
  • def function_name(parameters): code_block (with return)로 선언하며 function_name(parameters)로 사용한다.
    • parameter는 매개변수라고 하며 argument와 인자라고 한다.
    • return은 선택 사항이다.
      • Python에서 함수는 복수의 값을 반환할 수 있으며 이 경우 tuple 형태로 반환한다.
      • 반환하는 값의 수와 이를 받는 변수의 수가 일치하면 unpacking이 이뤄진다. 일치하지 않으면 예외가 발생한다.
  • function_name(parameter_name=parameter_value)로 호출한다.
  • 최종적으로 함수는 def function_name(args, args=default, *args, **kwargs)의 형태로 parameter를 가진다.

2. Console I/O

2-1. Console Input

2-2. Console Output

  • 출력 값을 콘솔 창에 띄워 표시하는 방식
  • print(params, sep=" ", end="\n")함수를 통해 출력한다.
    • sep는 구분자로 여러 값 사이에 sep 값을 출력한다. default는 공백이다.
    • end는 맨 끝에 붙이는 값으로 출력이 다 끝나고 end 값을 출력한다. default는 줄바꿈이다.
    • 제어문자를 통해 줄바꿈, 띄어쓰기, tab 등을 조절할 수 있다.

2-2-1. format

  • 문자열 formatting을 지원하는 함수
    • format 함수에 전달되는 값은 출력할 수 있는 모든 자료형이라면 가능하다.
  • python도 처음에는 다른 언어처럼 서식 지정자를(%d, %s 등) 지원했었으나 2.6부터 format 함수를, 3.6부터 f-string을 지원하기 시작했다.
  • string 자료형의 메서드이기 때문에 출력뿐 아니라 문자열을 다루는 상황이라면 언제든 사용할 수 있다.

3. File I/O

3-1. File Input

  • 파일에 있는 값을 읽어들여 입력하는 방식
  • open()함수를 통해 파일을 변수에 저장하고 그 변수를 read()함수로 내용을 읽어들인다. 이후 close()함수로 안전하게 파일 읽기를 종료한다.
  • open()함수의 대표적인 파라미터로는 file, mode, encoding이 있다.
    • file은 파일 경로이다. 필수적이며 첫 번째로 오는 인자이다.
      • 절대 경로로 지정해주지 않는다면 실행파일과 같은 위치부터 파일을 탐색한다.(상대경로)
    • mode는 파일을 어떤 방식으로 접근할 지를 나타낸다. “r”은 읽기 모드, “w”는 쓰기 모드를 나타낸다. file 파라미터 다음에 왔다면 mode라는 이름을 명시하지 않아도 된다.
    • encoding은 파일을 읽고 쓰는 규약이다. Python은 UTF-8을 사용하며 그 외 cp949, euc-kr 등이 있다.
  • read()readlines()의 요소에는 개행문자(\n) 등의 제어 문자가 모두 저장된다.
  • readline()함수는 한 줄만 읽어 반환한다. 때문에 반복문을 사용해야 한다.

3-1-1. with

  • __enter__()__exit__()함수를 사용하여 정의된 context manager에서 사용할 수 있는 구문
    • with class_name() as another_name형태로 사용한다.
  • with 구문으로 파일을 불러올 때 __enter__()함수로 파일에 진입하고 with 구문 내부가 끝나면 __exit__()함수로 파일을 닫는 내부적 절차가 실행된다.
    • 덕분에 close() 함수를 사용하지 않아도 자동으로 파일 읽기를 종료하는 동시에 코드 줄 수를 줄일 수 있다.

3-2. File Output

  • 출력 값을 파일에 저장하여 출력하는 방식
  • 파일을 읽을 때와 마찬가지로 open() 함수를 사용하지만 쓰기 모드(w)로 설정하며 write() 함수를 통해 값을 쓴다.
    • write(string)함수는 string을 파일에 쓴다. 개행문자(\n)가 없으면 줄바꿈이 일어나지 않는다.
    • writelines(list)함수는 list의 요소를 모두 파일에 쓴다. write 함수와 마찬가지로 개행문자(\n)가 없으면 줄바꿈이 일어나지 않는다.

4. Module(모듈)

  • 정의문과 구문을 갖고 있는 Python 파일
    • 이 모듈의 집합체를 package라고 한다.
    • package와 모듈의 집합체를 라이브러리라고 한다.
  • Python은 파일 이름 자체가 모듈 이름이다.
  • fromimport를 통해 모듈을 호출한다.
    • 내가 만든 파일을 모듈로 import하려면 실행 파일과 모듈 파일이 같은 경로 상에 위치해야 한다.
  • with문에서 as를 사용하는 것처럼 모듈의 호출도 as를 사용해 별칭으로 호출할 수 있다.
  • 모듈을 순환 참조할 경우 오류를 일으킨다.
    • a.py에서 b.pyimport하고 b.py에서 a.pyimport할 수 없다.
    • 여러 파일에 프로그래밍 하는 것이 익숙치 않다면 순환 참조를 일으키는 실수를 범할 수 있어 주의가 필요하다.

results matching ""

    No results matching ""