[목차]
0. 여는 말
1. 함수
2. 클래스
3. 맺는 말
0. 여는 말
오늘은 다소 우려와 당부의 말씀을 드리면서 글을 시작하게 될 것 같아요.
앞으로 네 가지 개념들을 설명 드릴 건데요, 최대한 쉽게 풀어 쓰겠지만 그래도 이해가 어려운 부분들이 있으실 것 같습니다.
실제로 이 내용들은 쉽지 않은 내용들입니다.
(저도 100% 다 꿰뚫고 이 글을 쓰는 것이 아니고, 기존에는 대략적인 수준으로만 알고 있었으며, 이 글을 쓰기 위하여 파이썬 공식 홈페이지 (링크)를 참고하며 글을 쓰고 있습니다)
독자 분들께서 이 글을 읽으시고 '그냥 이런 게 있다더라. 들어는 봤다' 정도만 되어도 저는 충분하다고 생각하며, 중간에 이해가 안 되는 부분이 있다고 좌절하면서 중간에 포기하지는 않으시기를 바랍니다. 사실, 이거 정확히 몰라도 일정 수준까지는 문제 없이 코딩할 수 있고 (제가 그랬습니다 ^_^;;), 또 그 수준까지 올라가면 지금은 이해가 되지 않는 상당 부분들이 저절로 이해가 될 것이니, 지금은 이해되는 부분까지만 이해하시면서 일단 끝까지 따라와 주시기를 당부 드릴게요!
오늘 다룰 네 가지 개념들은 상세히 풀어서 설명하기 위해 2개의 글에 걸쳐 설명 드릴 예정이며, 내용은 파이썬 공식 홈페이지 (링크)에 있는 내용들을 한글로 옮긴 것이니 참고해 주세요 :)
그럼 글 시작하겠습니다!
1. 함수
"함수" : 입력값을 받아 특정값을 출력하는 일련의 수식
많은 분들께서 학창 시절, 수학 시간에 함수를 배우실 때 아래와 같은 그림을 한 번 쯤은 보셨을 것 같아요.
오늘 설명 드릴 함수의 개념도 이와 동일합니다. 다시 말하면, 함수란 '입력값(input)을 받아서, 내부 프로세스를 거친 후, 출력값(output)을 반환하는 일련의 수식' 입니다.
이해를 돕기 위해 간단한 예시로, 사람 이름을 입력값으로 받아 "ㅇㅇ님, 반갑습니다!"를 출력하는 함수인 sayHello를 만들어 보겠습니다.
이 sayHello라는 함수는 사람 이름에 해당하는 'name'이라는 변수를 입력값으로 받고, 'ㅇㅇ님, 반갑습니다!'라는 텍스트를 출력값으로 가집니다. 그렇다면 아래와 같이 함수를 만들어 볼 수 있습니다.
# sayHello 함수
def sayHello(name):
print(name + "님, 반갑습니다!")
위 함수에 '김땡땡'이라는 이름을 입력값으로 넣어 주고 실행하면 아래와 같이 결과가 나오게 됩니다.
이처럼 입력값을 받아 특정값을 출력하는 일련의 수식을 우리는 '함수'라고 부릅니다.
함수를 사용하면 반복해서 사용하는 코드가 있을 때, 매번 긴 코드를 직접 작성하지 않고 함수 한 줄로 편리하게 코딩할 수 있다는 장점이 있습니다.
(함수(Function)에 대한 더 자세한 설명은 파이썬 공식 홈페이지 (링크) 내용을 참고해 주세요 :) )
2. 클래스
"클래스" : 함수들의 묶음, 집합
엄밀하게 말하면 클래스 개념 전체를 담는 설명은 아니지만, 간단히 '함수들의 묶음'이라고 생각해 주셔도 좋을 것 같습니다.
함수들이 여러 개 생기다 보면, 공통된 변수를 사용하게 되거나, 혹은 기능상 같은 그룹으로 묶어주는 것이 관리와 사용성 측면에서 용이한 경우들이 생길 수 있습니다.
예를 들면, 계산과 관련된 함수들을 만들었을 때, 덧셈, 뺄셈, 곱셈 함수들이 제각각 흩어져서 존재하기보다는 '계산기'라는 하나의 그룹으로 묶여 있다면 관리 및 사용성 측면에서 더 나을 수 있습니다.
그러한 경우, Calculator라는 하나의 집합(클래스)을 정의하고, 그 아래에 add(덧셈), subtract(뺄셈), multiple(곱셈) 함수 3개를 포함시킬 수 있을 것입니다. 이를 아래와 같은 코드로 구현해 볼 수 있습니다.
(Tip: 포함 관계는 들여쓰기를 통해 파악할 수 있습니다. 예를 들어, 아래 코드에서 class Calculator 보다 4개의 함수 코드가 들여쓰기 되어 있으므로, 4개의 함수는 모두 class Calculator에 포함된다는 것을 알 수 있습니다)
# Calculator 클래스
class Calculator:
# init(시작, 초기화) 함수
def __init__(self):
self.value = 0
# add(덧셈) 함수
def add(self, new_value):
self.value = self.value + new_value
# subtract(뺄셈) 함수
def subtract(self, new_value):
self.value = self.value - new_value
# multiple(곱셈) 함수
def multiple(self, new_value):
self.value = self.value * new_value
위의 Calculator 클래스는 초기 값(self.value)을 0으로 받으며 시작하고, 이후 실행되는 함수에 따라 새로운 입력값(new_value)을 처리하며 값(self.value)을 업데이트합니다. 자세한 예시는 아래 이미지를 참고해 주세요 ^_^
클래스(Class)에 대한 더 자세한 설명은 파이썬 공식 홈페이지 (링크) 내용을 참고해 주세요 :)
3. 맺는 말
지금까지 함수와 클래스, 2개의 개념에 대해서 알아보았습니다.
생소한 개념에 낯선 코드까지 나와서 머리가 아프셨을 것 같은데요, 거듭 말씀드리지만 처음 접했을 때 이해하기 어려운 개념이 맞습니다!
저 또한 처음에 이해하는 데 꽤 시간이 걸렸구요. (한 번에 이해가 되신 분들은 습득력이 빠르신 겁니다. 굳굳!)
이해가 한 번에 되지 않으신다면, 코드를 한 번씩 직접 따라 쳐 보시면서 실행해 보시고, 그런 다음 다시 한 번 읽어 보시는 것을 권해 드려요. 머리가 아프시면 잠시 쉬었다가 이어서 진행하셔도 좋습니다.
그렇게 2개의 개념이 잡혔다면, 다음 글로 넘어가서 나머지 2개인 모듈과 패키지에 대해서도 알아봅시다.
조금만 더 힘을 내 봅시다 아자!!
우리들의 스트러글(struggle)하는 현생, 화이팅입니다!
'퍼포마의 야근근절을 위한 코딩' 카테고리의 다른 글
오픈소스 라이브러리를 사용하는 것이 좋은 3가지 이유 (0) | 2022.11.02 |
---|---|
코딩할 때 알면 좋은 기본 개념 - ’함수, 클래스, 모듈, 패키지’ (2/2) (0) | 2022.10.31 |
Google Colaboratory - 구글 드라이브 연결(mount) 방법 (예시 이미지, 코드 있음) (0) | 2022.10.24 |
Google Colaboratory - 설치 방법 (예시 이미지 있음) (0) | 2022.10.19 |
우리가 사용할 개발 도구(환경) - Google Colaboratory의 특징 및 장단점 (0) | 2022.10.17 |