[Python] 파이썬 클래스와 생성자 사용하여 객체 생성하기
·
Language/Python
이전 포스트에서 객체지향 프로그래밍(OOP)이 무엇인지, 객체와 클래스가 무엇인지에 대해 살펴보았다. 아직 이 개념들에 대한 이해가 잘 서지 않는다면 우선 아래 포스트를 읽고 돌아오는 것을 추천한다. 이제 실제로 파이썬에서는 어떻게 이런 객체지향 프로그래밍을 구현할 수 있는지를 차례차례 알아보도록 하자. 클래스 작성하기클래스 정의하기클래스는 객체의 형태를 정의하는 틀(template)이라고 했다. 파이썬에서 클래스를 정의하고 객체를 생성하는 기본적인 방법은 다음과 같다. 클래스 안에는 객체의 상태를 나타내는 인스턴스 변수와, 객체의 동작을 나타내는 메서드를 정의한다. 이들은 클래스의 멤버(member)라고 부른다. 파이썬에서는 인스턴스 변수를 생성하려면 메서드 안에서 self.을 붙인 변수에 값을 할당하..
[Python] 객체지향 프로그래밍(OOP) 이해하기
·
Language/Python
객체지향 프로그래밍이란?객체지향 프로그래밍(OOP: object-oriented programming)은 객체를 중심으로 프로그램을 구성하는 패러다임이다. 파이썬은 이 객체지향 프로그래밍을 자연스럽게 지원하기 때문에 개발자들이 더 쉽고 효과적으로 코드를 작성할 수 있게 해 준다. 객체 지향 프로그래밍이 무엇인지, 파이썬에서 어떻게 활용되는지 알아보자. 객체란?객체지향 프로그래밍이 무엇인지 이해하기 위해서는 당연히 객체가 무엇인지를 알아야 하겠다. 객체(object)는 쉽게 말해 “사물”이나 “개체”를 의미한다. 사람, TV, 세탁기, 냉장고 등등.. 우리 주변에 있는 다양한 것들이 모든 것이 객체라고 볼 수 있다. 이 세상은 무수한 객체들로 이루어져 있는 것이다.  객체는 상태(state)와 동작(beh..
[Python] 파이썬의 언패킹 연산자
·
Language/Python
언패킹 연산자란?언패킹 연산자는 * 연산자와 ** 연산자 두 가지가 있다. 이들은 각각 리스트, 튜플과 같은 순차형 자료형과 딕셔너리와 같은 키-값 쌍 자료형을 다룰 때 유용하게 사용된다. 언패킹을 통해 자료형의 요소들을 개별 변수로 쉽게 분리하거나, 함수의 인자로 전달할 수 있다. * 연산자는 순차형 자료형의 요소들을 개별 변수로 분리하거나, 리스트와 같은 자료형을 합칠 때 사용된다.** 연산자는 딕셔너리의 키-값 쌍을 개별 인자로 분리하거나, 여러 딕셔너리를 합칠 때 사용된다. 언패킹 연산자의 활용 예제함수에 인자를 전달할 때 언패킹 연산자를 사용하면 코드를 간결하게 만들 수 있다. 이렇게 하면 해당 데이터를 풀어서 함수의 인자로 전달할 수 있게 되어 편리하다.# 리스트 언패킹def greet(fir..
[Python] 파이썬 딕셔너리(dictionary) 이해하기
·
Language/Python
딕셔너리(dictionary)란? 영어에서 '딕셔너리(dictionary)'라는 단어는 '사전'이라는 의미를 가지고 있다. 영한사전을 펼쳐보면 영어 단어와 그에 해당하는 한국어 뜻이 짝을 지어 나열되어 있다. apple: 사과grape: 포도banana: 바나나이를 좀 더 프로그래밍적으로 표현한다면 키(key)와 값(value)의 쌍의 데이터를 저장하고 있다고 할 수 있다. 여기서 키에 해당하는 것은 영어 단어이고, 값에 해당하는 것은 한국어 뜻인 것이다. 그렇다. 이것이 파이썬의 딕셔너리다.우리가 알고 있는 영한사전을 떠올리면 된다. 그것이 바로 딕셔너리라는 자료구조의 형태이다! 그래서 정리하자면, 파이썬에서 딕셔너리는 키와 값의 쌍으로 데이터를 저장하는 자료구조다. 마치 사전에서 단어(키)와 그에 대..
[Python] 파이썬 세트(set) 자료구조 이해하기
·
Language/Python
세트(set)란?파이썬에서 세트는 순서가 없고 중복을 허용하지 않는 자료구조이다. 이는 수학에서의 집합(Set)과 유사한 개념으로, 특정 조건을 만족하는 고유한 원소들의 모음을 의미한다. 세트는 빠른 멤버십 테스트와 집합 연산을 수행할 때 유용하게 사용된다. 구슬을 가지고 있는 주머니를 생각하면 세트 자료구조를 이해하기 더 쉬울 것이다. 서로 다른 구슬을 주머니 안에 넣으면 넣는 순서는 중요하지 않게 된다. 하나의 집합으로 묶여 있을 뿐이다. 세트 생성하기방법 1: 중괄호 {}를 사용하여 생성파이썬에서 세트를 생성하는 가장 기본 적인 방법은 중괄호 {}를 사용하는 방식이다. 요소들을 중괄호 {}로 감싸고, 항목들을 쉼표로 분리해 놓으면 된다. 만약 중복된 요소가 있다면 자동으로 중복된 요소를 제거한다.#..
[Python] 파이썬 튜플 이해하기
·
Language/Python
파이썬을 배우다 보면 리스트 외에도 자주 등장하는 자료형 중 하나가 튜플(tuple)이다. 리스트와 비슷하지만 몇 가지 중요한 차이점이 있는 튜플의 개념과 활용 방법을 알아보자. 튜플이란?튜플은 순서가 있고 변경할 수 없는(immutable) 자료형이다. 한 번 생성하면 그 안의 요소를 수정하거나 삭제할 수 없다는 점에서 리스트와 다르다. 이러한 특성 덕분에 데이터의 무결성을 유지해야 할 때 유용하게 사용된다. 또한 튜플은 해시 가능하므로 딕셔너리의 키로 사용할 수 있고, 일반적으로 튜플이 리스트보다 속도가 빠르다.튜플과 리스트의 차이점특징리스트(List)튜플(Tuple)변경 가능 여부변경 가능(mutable)변경 불가능(immutable)사용 목적데이터의 변경이 필요한 경우데이터의 변경이 필요 없을 때..
[Python] 파이썬 2차원 리스트 (생성, 접근, 활용)
·
Language/Python
실생활에서 2차원 형태의 표를 자주 마주칠 것이다. 엑셀표로 관리하는 데이터부터 게임 보드까지 모두 2차원 표의 형태를 가지고 있다. 이러한 것들을 파이썬에서는 2차원 리스트를 활용해 구현할 수 있다. 참고로 다른 언어에서도 2차원 배열을 제공하고 있다.2차원 리스트란?2차원 리스트는 리스트 안에 리스트가 들어있는 형태를 말한다. 쉽게 말해, 행과 열로 이루어진 표 같은 구조이지. 예를 들어, 체스판이나 바둑판을 생각해 보면 이해하기 쉬울 것이다.matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9]]위 예제에서 matrix는 3행 3열의 2차원 리스트이다. 각 내부 리스트가 하나의 행을 나타내고 있다.  2차원 리스트 생성하기2차원 리스트를 생성하는 가장 직관적인 ..
[Python] 파이썬 리스트 컴프리헨션 (리스트 함축, List Comprehension)
·
Language/Python
파이썬의 '리스트 컴프리헨션(list comprehension)'이라는 개념에 대해 알아보도록 하자. 참고로 한국어로 번역해 '리스트 함축'이라고 불리기도 한다.리스트 컴프리헨션이란?리스트 컴프리헨션은 기존의 리스트를 변환하거나 필터링하여 새로운 리스트를 생성하는 파이썬의 구문이다. 이를 통해 반복문을 사용하는 것보다 간결하고 효율적인 코드를 작성할 수 있다. 우선 기본적인 구조 먼저 살펴보자.[표현식 for 항목 in 반복가능객체 if 조건]표현식: 새로운 리스트의 각 요소를 생성하는 표현식for 항목 in 반복가능객체: 반복할 대상if 조건: 선택적으로 추가할 수 있는 필터 조건 아래 예제를 보면 더 쉽게 파악할 수 있을 것이다. 기존 리스트의 각 요소에 2를 곱한 새로운 리스트를 생성해 보자. 먼저..