파이썬 매개변수 없는 함수 호출 - paisseon maegaebyeonsu eobsneun hamsu hochul

파이썬 매개변수 없는 함수 호출 - paisseon maegaebyeonsu eobsneun hamsu hochul
KAIST 김문주 교수

http://www.boostcourse.org/cs114/lecture/256765

하위 메뉴

  • 공지사항
  • 수강생 토론 게시판
  • FAQ (자주묻는질문)
  • 오리엔테이션

      오리엔테이션
    1. 01. 처음 배우는 프로그래밍 (w.파이썬) 강좌란?
    2. 02. 이 코스를 개발한 전문가
    3. 03. 부스트코스 이수 강좌 학습 가이드
    4. 04. 퀴즈소개
    5. 05. 시작합니다!

  • 1. 강의 소개

      1. 강의 소개
    1. 1-1. 강좌 수강을 환영합니다! 여기부터 꼭 보고 넘어가세요-!
    2. 1-2. Python 프로그램 작성 예제

  • └ Quiz 1

      Quiz 1
    1. Quiz 1

  • 2. if 조건문과 while 반복문

      2. if 조건문과 while 반복문
    1. 2-1. if 조건문과 while 반복문
    2. 2-2. if 와 while 을 사용한 미로 탈출 예제

  • └ Quiz 2

      Quiz 2
    1. Quiz 2

  • 3. 변수와 기초 자료형

      3. 변수와 기초 자료형
    1. 3-1. 프로그램에서 사용하는 객체와 객체의 형태
    2. 3-2. 연산자 및 튜플
    3. 3-3. 튜플을 사용한 디지털 사진 변환 예제

  • └ Quiz 3

      Quiz 3
    1. Quiz 3

  • 4. 매개 변수와 반환값을 가진 함수

      4. 매개 변수와 반환값을 가진 함수
    1. 4-1. 매개 변수와 반환값을 가진 함수
    2. 4-2. 함수를 사용한 로봇 조종 및 디지털 사진 변환 프로그램
    3. 4-3. 함수 인자와 매개 변수
    4. 4-4. 함수가 사용하는 지역 변수와 전역 변수

  • └ Quiz 4

      Quiz 4
    1. Quiz 4

  • 5. 지역/전역 변수와 그래픽 객체들

      5. 지역/전역 변수와 그래픽 객체들
    1. 5-1. 모듈과 그래픽 객체들
    2. 5-2. 그래픽 객체를 사용한 애니메이션

  • └ Quiz 5

      Quiz 5
    1. Quiz 5

  • 6. 시퀀스: 리스트, 문자열, 튜플

      6. 시퀀스: 리스트, 문자열, 튜플
    1. 6-1. 리스트 활용법
    2. 6-2. 리스트, 문자열, 튜플
    3. 6-3. 리스트 활용 예제: 정렬과 소수 구하기

  • └ Quiz 6

      Quiz 6
    1. Quiz 6

  • 7. 다양한 자료구조

      7. 다양한 자료구조 (문자열, 집합, 사전)
    1. 7-1. 자료 구조: 문자열과 집합
    2. 7-2. 자료 구조: 사전

  • └ Quiz 7

      Quiz 7
    1. Quiz 7

  • 8. 이미지 및 텍스트 프로세싱

      8. 자료구조를 활용한 이미지 및 텍스트 프로세싱
    1. 8-1. 이미지 프로세싱
    2. 8-2. 텍스트 프로세싱

  • └ Quiz 8

      Quiz 8
    1. Quiz 8

  • 9. 객체의 생성과 속성

      9. 객체: 생성과 속성
    1. 9-1. 객체 (object)로 블랙잭 카드 게임 만들기 (1/2)
    2. 9-2. 객체 (object)로 블랙잭 카드 게임 만들기 (2/2)
    3. 9-3. 객체 (object)로 애니메이션 만들기

  • └ Quiz 9

      Quiz 9
    1. Quiz 9

  • 10. 프로그램 작성 고급 기술

      10. 프로그램 작성 고급 기술
    1. 10-1. 프로그램 속도 향상 방법
    2. 10-2. 재귀 (recursive) 함수 및 강의 마무리

  • └ Quiz 10

      Quiz 10
    1. Quiz 10

  • 마무리 프로젝트

      FINAL PROJECT #1
    1. 학생 정보 관리 시스템을 구현해보자!
    2. ㄴ 모범 답안
      FINAL PROJECT #2
    1. 이미지(사진)에 입히는 필터를 구현해보자!
    2. ㄴ 모범 답안

  • 코스를 마치며

      ★강의 수강 후 의견을 부탁드리겠습니다.★
    1. 교수님 강의에 대한 별점을 매겨주세요. 여러분의 의견이 많은 도움이 됩니다:D
      코스를 마치며
    1. 코스를 마치며

    6.4 반환값이 있는 함수 혹은 반환값이 없는 함수(Functions with/without Return Values)

    - 함수가 반드시 반환 값을 가지고 있어야 하는 것은 아니다.

    - 값을 반환하지 않는 함수를 void 함수(void function)이라고 부른다.

    *반환 값이 없는 함수 예제 - 성적 출력 프로그램

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    def printGrade(score):

    if score >= 90.0:

    print('A')

    elif score >= 80.0:

    print('B')

    elif score >= 70.0:

    print('C')

    elif score >= 60.0:

    print('D')

    else :

    print('F')

    def main():

    score = eval(input("Enter the score: "))

    print("The grade is ",end = "")

    printGrade(score)

    main()

    cs

    - 위 예제의 printGrade() 함수는 어떤 값도 반환 하지 않는다.

    어떤 값도 반환하지 않는 함수는 line 17번의 메인함수에 명령어(statements) 형태로 호출하여 사용한다.

    *반환 값을 가지는 함수 예제 - 성적 출력 프로그램

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    def getGrade(score):

    if score >= 90.0:

    return 'A' 

    elif score >= 80.0:

    return 'B'

    elif score >= 70.0:

    return 'C'

    elif score >= 60.0:

    return 'D'

    else :

    return 'F'

    def main():

    score = eval(input("Enter the score: "))

    print("The grade is ",getGrade(score))

    main()

    cs

    - 위의 코드는 반환 값을 가지는 getGrade 함수를 정의한 코드이다.

    - getGrade 함수는 문자를 반환하는 함수이기 때문에 일반 문자(character)처럼 함수를 호출 할 수 있다.

    - 원래 기술적으로 파이썬 내 모든 함수들return 명령사용하던 안하던 값을 반환한다.

    - 만약 함수가 값을 반환하지 않는다면, 기본적으로 특별한 값(special value)인 None이 반환 된다.

    - 그래서 반환 값을 가지지 않는 함수None 함수(None function)이라고도 부른다.

    - None 값 역시 변수에 할당이 가능하며, 이 변수는 어떠한 객체도 가르키고 있지 않는다.

    *None 값 예제

    def sum(num1, num2)

    total = num1 + num2

    print(sum(1,2))

    - sum 함수는 return 명령을 사용하지 않았기 때문에, 기본적으로 None 값을 반환한다. 그래서 위 코드를 실행시 None이 출력된다.

    6.5 위치 인자와 키워드 인자(Positional and Keyword Arguments)

    - 함수의 인자(function's arguments)위치 인자키워드 인자(Positional and Keyword Arguments) 형태로 전달된다.

    - 함수의 강점은 매개변수를 이용해 일을 수행하는 것이다.

    - 함수를 호출 할 때, 우리는 인자(arguments)를 매개변수(parameters)에 전달해야한다.

    - 인자(arguments)에는 두 가지 종류가 있다. 하나는 위치 인자(positional arguments), 다른 하나는 키워드 인자(keyword arguments)이다.

    - 위치 인자(positional arguments)를 전달할 때에는 호출 할 함수 헤더에 있는 각각의 매개변수 순서와 동일하게 전달하여야 한다.

    * 위치 인자 예제

    def nPrintln(message, n):

    for i in range(n):

    print(message)

    - 우리는 위의 nPrintln 함수를 이용해 nPrintln("test", 3)로 test를 화면에 3번 출력 할 수 있다.

    - 위 명령은 인자 test매개변수 message에 전달하고, 인자 3매개 변수 n에 전달 한다.

    - 하지만 만약 nPrintln(3, "test")로 인자를 전달하면 오류가 나게 된다. 이를 바로 위치 인자(positional arguments)라고 말한다.

    - 위치 인자는 우리가 정의한 함수 헤더 부분의 매개변수 순서, 갯수, 똑같은 타입으로 동일하게 전달하여야 한다.

    - 키워드 인자(keyword arguments)를 이용하여 인자를 전달 할 수도 있다.

    - name = velue 형식으로 인자를 전달하는데, 예를 들어 nPrintln(n = 5, message = "good") 방식으로 매개변수 n에 인자 5를 전달, 매개변수 message에 인자 "good" 을 전달한다.

    - 위치 인자(positional arguments)와 키워드 인자(keyword arguments) 동시에 이용도 가능하다.

    - 하지만 위치 인자키워드 인자 뒤로는 올 수 없다.

    * 위치 인자(positional arguments)와 키워드 인자(keyword arguments) 동시 사용 예제

    def f(p1, p2, p3)

    f(30, p2 = 4, p3 = 10) → O

    f(30, p2 =4, 10) → X

    참고 문헌 : Introduction to Programming Using Python / Y.DANIEL LIANG


    본 게시물은 개인적인 용도로 작성된 게시물입니다. 이후 포트폴리오로 사용될 정리 자료이니 불펌과 무단도용은 하지 말아주시고 개인 공부 목적으로만 이용해주시기 바랍니다.


    교재 영어 원서를 직접 번역하여 정리한 게시물이므로 일부 오타, 의역이 존재할 수 있습니다. 틀린 부분이 있다면 댓글로 알려주시면 감사하겠습니다.