[BoostCamp AI Tech / Day 1] Function and Console I/O

newbie·2021년 8월 2일
0

Index

Function

  1. 함수 선언
  2. parameter vs argument
  3. 함수 형태

Console I/O

  1. Input
  2. print formatting

Function

  • 어떤 일을 수행하는 코드의 덩어리
  • 반복적인 수행을 용이하게 함
  • 코드를 논리적인 단위로 분리
  • 캡슐화 : 인터페이스만 알면 타인의 코드 사용
  • 함수 수행 순서
    1) 함수 코드를 메모리에 올려 놓음
    2) 메인 프로그램 수행 => a=1, b=2
    3) 함수 호출 => func(a,b) => return 값 반환
  • 함수 작성 시 규칙
    • 함수와 함수 코드 사이에는 두 줄씩 띄어서 작성

1. 함수 선언

def 함수이름 (parameter,...,):
    수행문 #1 statement
    수행문 #2 statement
    return 반환값
  • parameter : 함수의 input 값
  • 함수의 코드블럭을 구분하기 위해 indentation 필수(4칸)

2. Parameter vs argument

  • parameter : 함수의 input에 대한 인터페이스(x,y,z)

    def f(x,y,z)

  • argument : 실제 parameter에 input된 값(a,b,c)

    f(a,b,c)

3. 함수 형태

  • parameter 유무, 반환값(return value)유무에 따라 함수 형태가 다름
    • parameter O / return O
    • parameter O / return X
    • parameter X / return O
    • parameter X / return X

Console I/O

  • 프로그램이 데이터를 입출력하는 방법

1. Input(입력)

  • 콘솔창에서 문자열을 입력받는 함수
  • input()을 통해 입력받은 데이터는 string 타입
  • int(input())으로 하면 정수형으로 받을 수 있음(float도 가능)

2. print formatting

  • 프린트 문은 기본적인 출력 외에 출력의 형식 지정 가능
  • 1) % string, 2)format string, 3)f-string
  • month = 12, day = 25, dayofweek = "월요일"
  • % string
    • "%datatype" %(variable) 형태로 출력
    • print("%d 월 %d일 %s 입니다." %(month, day, dayofweek)
  • format string
    • "{}".format(variable) 형태로 출력
    • {}안에 변수명을 지정할 수도 있음
      • "{name}".format(name = variable)
    • print("{}월 {}일 {}입니다".format(month, day, dayofweek)
  • f-string(python 3.6 이후, PEP498에 근거한 formatting 기법)
    • f"{variable}" 형태로 출력
    • print(f"{month}월 {day}일 {dayofweek}입니다")
  • 글자수를 지정하여 출력할 수 있음
    • "%8.2f"(={:8.2f}) => 8자리 수이며, 소수는 2자리 포함
    • "%>(or < or ^)10s" => 열칸을 비우고 우측(or 좌측 or 가운데) 정렬
    • "%>10s" => 열칸을 비우고 우측 정렬인데 나머지 빈칸은 "" 채움
profile
DL, NLP Engineer to be....

0개의 댓글