# 5 함수(Fucntion)
함수는 반복되는 코드에 이름을 붙여 다시 사용할 수 있도록 하는 기능을 가지고있다. 이는 유지보수 및 재사용성이랑 밀접한 관계가 있다.
프로젝트가 거대해지면서 한 번 작성된 코드가 여러 번 반복해서 쓰일 수 있는 경우가 빈번해진다, 그럴 때 마다 같은 코드를 반복하여 작성하면 효율성이 떨어지고 완성도가 떨어지며 견고하지 않은 프로그램이 완성될 가능성이 높아진다 이러한 것을 완화하기 위하여 사용하는 것이 바로 함수이다.
파이썬에서 함수는 다음과 같이 선언(define)한다.
def fucntion_name(argument1, argument2, ...) :
~~~~
return ~~
이러한 함수는 여러 종류가 있겠지만 세가지로 구분할 수 있다. 첫째는 내장함수(print(), input() ...), 모듈의 함수(.reverse(), .split() ...)그리고 마지막으로 사용자 정의 함수(def function() : ...)로 구분할 수 있는 것이다.
함수에게 전달하는 값을 인자(Argument) 혹은 매개변수(Parameter) 라고 한다. 그리고 함수안의 과정을 거쳐서 받아오는 값을 리턴 값, 반환 값, 결과 값(return)이고 한다.
이 때, 인자(argument)는 있을 수도 있고 없을 수도 있다.
# 5-1 다중 반환
함수의 값을 리턴(return)받을 때, 콤마(,)를 사용하여 여러개의 값을 돌려 받을 수 있다. 여러개를 돌려줄 때에는 튜플로 패킹되어 전달이된다. 내용은 아래와 같다.
` 구조
def fucntion_name(argument1, argument2, ...) :
~~~~
return result1, result2, ...
` 예시
def add_mul(num1, num2) :
return num1 + num2, num1 * num2
//
add_mul(arg1,arg2) // (result1, result2)
# 6 모듈(Module)
모듈은 비슷한 기능의 함수들을 모아놓은 파일이다. 직접 만들 수도 있고, 다른 이가 만든 것도 가져와 사용할 수 있다. 모듈을 사용하기 위해서는 해당 파일에 불러오기를 해야한다. 또는 사용하고자 하는 곳에 ".modulename"식으로 사용하여야 한다.
이러한 모듈은 기본적으로 내제되어있는 내장모듈이 있고 불러와야하는 모듈이 존재한다. 파이썬같은 경우에는 모듈 등을 제공하는 라이브러리(library)가 많이 있기 때문에 유용한 기능을 불러와서 사용하기 용이하다.
내용은 다음과 같다.
import module_name
Sth.moudule_name
# 6-1 모듈 - 랜덤(Random)
난수를 만들거나 무작위와 관련된 함수를 포함하고있는 모듈인 랜덤에 대한 기본적인 내용은 다음과 같다.
` random.choice() : 리스트의 값 중 하나를 랜덤하게 선택한다
` random.sample() : 리스트의 값 중에서 지정한 개수만큼 랜덤하게 선택한다.
` random.randit() : 특정 범위의 정수 중 하나를 랜덤하게 선택한다.
# 7 객체(Object)
현실에서의 물건, 물체, 사물 등 부품이나 물건같은 것을 프로그램 안에 재현하는 것을 의미한다. 함수와 데이터를 한꺼번에 묶어둔 것을 객체라고 일컫는다.
파이썬은 객체지향언어이기 때문에 대부분의 것들이 객체이다.
객체의 이해를 도울 예로서 다음이 있다.
< 객체의 예 >
객체명 : 기타
데이터 : 기타 이름, 기타 색, 기타 브랜드, 기타 종류
함수 : 핑거스타일 기법, 스트록 기법
객체명 : 캐릭터닉네임
데이터 : 성별, 이름, 레벨, 종족 ...
함수 : 앞으로가기, 때리기 ,점프뛰기 ,,,
'Language > Python' 카테고리의 다른 글
2021 - 04 - 17, Python 학습 - 정규표현식(Regular Expression) (0) | 2021.04.17 |
---|---|
2021 - 04 - 17, Python 학습 - os모듈 (0) | 2021.04.17 |
2021 - 04 - 16, Python 학습 - 함수 I (0) | 2021.04.16 |
2021 - 04 - 15, Python 학습 - 문법 2 (0) | 2021.04.15 |
2021 - 04 - 15, Python 학습 - 문법 1 (0) | 2021.04.15 |