본문 바로가기
자습

[/*elice*/ 도레미 파이썬 Vol.2] 06. 함수와 메서드-인공지능 활용을 위한 파이썬 기초

by 빵으니 2020. 11. 7.

도레미 파이썬 Vol.2

 

[이론 1] 함수

- 프로그래밍의 기본 틀 : 컴퓨터에게 정보를 입력하고/ 컴퓨터가 작업을 하고 / 컴퓨터가 작업을 출력

- 이 작용(기능)의 과정에서 '반복'해야 하는 과정이 있다면 -> 함수를 활용

 

# 함수

- 특정 기능을 수행하는 코드(들의 모임)

- 여러가지 일련의 절차들을 한번에 묶어서 작업

 

# 함수의 구조

- len() : 자료를 넣으면자료의 길이알려준다

- int() : 자료를 넣으면 정수형으로 변환해서 알려준다

- str() : 자료를 넣으면 문자열로 변환해서 알려준다

- 즉, 자료를 넣으면 ~~ 출력해서 알려주는 것이 함수의 구조!

 

# 함수의 종류

1) 내장 함수

- 파이썬 개발자들이 이미 만들어 둔 함수들 

- 편리하게 가져다 쓰면 됨!

- input() : 자료를 입력하는 함수

- print() : 자료를 출력하는 함수

- max() : 시퀀스 자료의 최댓값을 구하는 함수 ex) max(1,2,3,4,5)   # 5

- min() : 시퀀스 자료의 최솟값을 구하는 함수 ex) min([1,2,3,4,5])   # 1

- sum() : 숫자 원소로 이루어진 시퀀스 자료의 합 ex) sum(1,2,3,4,5)  # 15

- len() : 시퀀스 자료의 길이를 구하는 함수 ex) len('Triangle')  # 8

 

2) 사용자 지정 함수 (외장 함수)

- 사용자가 여러 코드를 묶어서 새로 만든 함수

 

# 함수의 입력

- def : define(정의하다) 키워드를 이용해서 함수 정의

 

def 함수이름(매개변수):       # 매개변수 : 함수 안에서 사용되는 변수 (for a in b: 에서의 'a'와 같은 역할)

    <수행할 명령>

    .......

    return 반환값

 

# 함수 속 명령 작성

- 같은 들여쓰기를 통해 명령 작성

 

# 함수의 반환(출력)

- return을 이용해 함수 외부로 값을 전달

- 왜 반환이 필요할까? 

   -> 함수 내부에서 일어난 일은 함수 외부에서 알 수 없다! so, 반환을 통해 외부로 전달해줘야 함

 

[이론2] 전역변수와 지역변수

 

# 함수와 변수

함수 안에 있는 x를 함수 밖에서 출력할 수 없다!

- 변수를 사용할 수 있는 범위에 따라 '전역변수'와 '지역변수'로 구분

 

# 전역 변수

- 어디서든 사용할 수 있는 변수

- 함수 밖에서 정의된 변수!

함수 밖에서 선언한 x : 함수 안과 밖에서 모두 출력 가능

 

# 지역 변수

- 변수를 정의 한 범위 내에서만 사용 가능

- 함수 안에서 정의된 변수!

- 함수가 종료하면 소멸되므로 함수 외부에서 지역 변수를 참조할 수 없다

 

- 전역변수와 지역변수를 적절히 활용해 코드를 작성하는 것이 중요!

 

 

[이론 3] 메서드(Method)

# 메서드

- 특정 자료에 대해 특정 기능을 하는 코드

'my_list' !!! 라는 특정자료!!에 대해!! 특정 기능을 하는 코드들

 

# 함수 VS 메서드

- 함수는 특정 기능을 한다. (매개변수를 이용해 자료를 전달해준다)

- 메서드는 특정 자료와 연관 지어 기능을 한다. (자료 뒤에 .을 찍어 사용)

 

특정 기능을 하는 내장 함수들 / 괄호를 열어(매개변수) my_list를 명시적으로 전달
함수와 달리 ( ) 안에 아무 매개변수도 넣어주지 않는다 / 단지 my_list라는 특정 자료에 대한 기능 수행

 

메소드 실습

** 딕셔너리 관련 메소드

  • 딕셔너리.keys() : Dictionary형 dict의 모든 Key를 반환
  • 딕셔너리.values() : Dictionary형 dict의 모든 Value를 반환

 

# 인자와 매개변수

  • 매개변수(parameter) : 함수를 정의할 때(만들 때) 넘겨받은 값을 관리하는 변수
  • 인자(argument) : 함수를 호출할 때(사용할 때) 함수로 넘겨주는 자료

def plusDouble(a, b): #이때 a, b는 매개변수!
    return 2*(a+b)

print(plusDouble(3, 4)) #이때 3, 4는 인자!
# 함수 호출시
# a = 3
# b = 4
# 로 간주

매개변수와 인자의 개념을 이해해보자!

 

실습! 내장함수 max() 를 사용하지 않고 최댓값을 뽑아내는 함수 만들기!

 

실습! 대기시간이 가장 짧은 놀이기구부터 오름차순 정렬 / 단, 인덱스 2에 해당하는 놀이기구는 대기시간에 상관없이 가장 먼저 타야 함

[미션 2] 비밀번호 486

풀어야해..

댓글