파이썬
-
1. Everything is an object in Python "Everything is an object in Python"은 파이썬의 핵심 철학 중 하나를 나타내는 슬로건이다. 이 슬로건은 파이썬 언어가 객체 지향 프로그래밍(Object-Oriented Programming, OOP)의 원칙을 엄격하게 따르고 있다는 것을 강조한다. 이 말은 파이썬에서 모든 것, 즉 숫자, 문자열, 함수, 클래스, 모듈, 심지어 파이썬 자체의 기본 데이터 타입도 객체로 취급된다는 것을 의미한다. 파이썬에서 "객체"는 데이터와 그 데이터를 조작하는 메서드(함수)를 포함하는 것을 의미한다. 다른 언어에서는 원시 데이터 타입과 객체를 구분하기도 하지만, 파이썬에서는 이러한 구분이 없다. 모든 것이 객체이며, 모든 객체는..
[Python] 파이썬 메모리 구조1. Everything is an object in Python "Everything is an object in Python"은 파이썬의 핵심 철학 중 하나를 나타내는 슬로건이다. 이 슬로건은 파이썬 언어가 객체 지향 프로그래밍(Object-Oriented Programming, OOP)의 원칙을 엄격하게 따르고 있다는 것을 강조한다. 이 말은 파이썬에서 모든 것, 즉 숫자, 문자열, 함수, 클래스, 모듈, 심지어 파이썬 자체의 기본 데이터 타입도 객체로 취급된다는 것을 의미한다. 파이썬에서 "객체"는 데이터와 그 데이터를 조작하는 메서드(함수)를 포함하는 것을 의미한다. 다른 언어에서는 원시 데이터 타입과 객체를 구분하기도 하지만, 파이썬에서는 이러한 구분이 없다. 모든 것이 객체이며, 모든 객체는..
2023.09.14 -
파이썬에서 함수(Function)는 재사용 가능한 코드 블록을 나타내고, 특정 작업을 수행하는 데 사용된다. 또한 함수는 입력(인자 또는 매개변수)을 받아 처리하고 출력(반환 값)을 생성하는 역할을 한다. 이를 일상생활에서의 비유로 간단히 설명하면 함수는 주방에서 요리를 만들때 사용하는 요리 도구와 같다. 여러 번 사용할 수 있는 도구로, 다양한 요리를 준비할 때 사용된다. 1. 파이썬 함수의 기본 구조 def 함수이름(매개변수1, 매개변수2, ...): # 함수 내용 return 반환값 아마 파이썬은 처음 접하시더라도 프로그래밍을 접하셨던 분들이라면 위의 코드만 보고도 함수의 구조를 파악할 수 있을 것이다, 하지만 프로그래밍 자체가 처음이신 분들을 위해 위의 코드의 내용을 간단하게 분석해 보자. • d..
[Python] 파이썬 함수(def)파이썬에서 함수(Function)는 재사용 가능한 코드 블록을 나타내고, 특정 작업을 수행하는 데 사용된다. 또한 함수는 입력(인자 또는 매개변수)을 받아 처리하고 출력(반환 값)을 생성하는 역할을 한다. 이를 일상생활에서의 비유로 간단히 설명하면 함수는 주방에서 요리를 만들때 사용하는 요리 도구와 같다. 여러 번 사용할 수 있는 도구로, 다양한 요리를 준비할 때 사용된다. 1. 파이썬 함수의 기본 구조 def 함수이름(매개변수1, 매개변수2, ...): # 함수 내용 return 반환값 아마 파이썬은 처음 접하시더라도 프로그래밍을 접하셨던 분들이라면 위의 코드만 보고도 함수의 구조를 파악할 수 있을 것이다, 하지만 프로그래밍 자체가 처음이신 분들을 위해 위의 코드의 내용을 간단하게 분석해 보자. • d..
2023.09.11 -
파이썬뿐만 아니라 프로그래밍을 하면서 에러가 발생할 경우 프로그램이 중지되는 상황을 다들 한 번씩 겪어봤을 것이다. 하지만 에러가 발생하더라도 프로그램이 중지되질 원하지 않을 경우 파이썬에선 try except구문을 사용하면 되는데 오늘은 try except구문에 대해 다양한 예제로 사용법을 알아보자. 1. 파이썬에서 예외를 처리하는 방법 1.1 에러가 발생했을 때 프로그램의 종료시점 먼저 에러가 발생할 코드를 작성해 보자. print("==== Program begins ====") x = int('Jack') # 에러가 발생하는 지점 print(f'my name is {x}') print("==== Program Ends ====") 'Jack'이라는 문자열을 정수형으로 형변환할 수 없기 때문에 x ..
[Python] 파이썬 try except 예외 처리파이썬뿐만 아니라 프로그래밍을 하면서 에러가 발생할 경우 프로그램이 중지되는 상황을 다들 한 번씩 겪어봤을 것이다. 하지만 에러가 발생하더라도 프로그램이 중지되질 원하지 않을 경우 파이썬에선 try except구문을 사용하면 되는데 오늘은 try except구문에 대해 다양한 예제로 사용법을 알아보자. 1. 파이썬에서 예외를 처리하는 방법 1.1 에러가 발생했을 때 프로그램의 종료시점 먼저 에러가 발생할 코드를 작성해 보자. print("==== Program begins ====") x = int('Jack') # 에러가 발생하는 지점 print(f'my name is {x}') print("==== Program Ends ====") 'Jack'이라는 문자열을 정수형으로 형변환할 수 없기 때문에 x ..
2023.09.07 -
1. 파이썬 멀티스레드(Multi threading)란? 멀티프로세스는 각각의 프로세스가 독립된 메모리를 가지고 동작하기 때문에 컴퓨터 내의 자원을 많이 소모하게 된다. 하지만 스레드(Thread)의 경우 하나의 프로세스 내에서 여러 개의 작업을 하게 된다. 그리고 내부의 메모리를 공유하면서 각각 움직이므로 프로그램이 가벼워진다. Thread의 대표적 특징은 다음과 같다. • 메모리 공유 • 독립된 레지스터 사용 • 독립된 스택 사용 그럼 이론은 여기까지 하고 아래의 예제들을 살펴보면서 쉽게 이해해 보도록 하자. 2. 파이썬 멀티스레드(Multi thread) 선언 예제 코드 import threading import time def function_01(lst): for x in lst: print(x..
[Python] 파이썬 멀티스레딩, 동시성 프로그래밍의 기초1. 파이썬 멀티스레드(Multi threading)란? 멀티프로세스는 각각의 프로세스가 독립된 메모리를 가지고 동작하기 때문에 컴퓨터 내의 자원을 많이 소모하게 된다. 하지만 스레드(Thread)의 경우 하나의 프로세스 내에서 여러 개의 작업을 하게 된다. 그리고 내부의 메모리를 공유하면서 각각 움직이므로 프로그램이 가벼워진다. Thread의 대표적 특징은 다음과 같다. • 메모리 공유 • 독립된 레지스터 사용 • 독립된 스택 사용 그럼 이론은 여기까지 하고 아래의 예제들을 살펴보면서 쉽게 이해해 보도록 하자. 2. 파이썬 멀티스레드(Multi thread) 선언 예제 코드 import threading import time def function_01(lst): for x in lst: print(x..
2023.09.06 -
파이썬 다중 상속(Multiple Inheritance) 파이썬에서 다중 상속은 하나의 클래스가 여러 개의 클래스로부터 상속받는 것을 말한다. 이는 하나의 클래스가 여러 부모 클래스로부터 특성과 메서드를 상속받을 수 있음을 의미한다. 예를 들어, 다음과 같은 코드에서 Bat 클래스는 Bird 클래스와 Mammal 클래스로부터 상속받고 있다. class Bird: def __init__(self): self.has_wings = True def fly(self): print("Bird can fly") class Mammal: def __init__(self): self.has_fur = True def feed_milk(self): print("Mammal can feed milk") class Bat(..
[Python] 파이썬 다중 상속(Multiple Inheritance)파이썬 다중 상속(Multiple Inheritance) 파이썬에서 다중 상속은 하나의 클래스가 여러 개의 클래스로부터 상속받는 것을 말한다. 이는 하나의 클래스가 여러 부모 클래스로부터 특성과 메서드를 상속받을 수 있음을 의미한다. 예를 들어, 다음과 같은 코드에서 Bat 클래스는 Bird 클래스와 Mammal 클래스로부터 상속받고 있다. class Bird: def __init__(self): self.has_wings = True def fly(self): print("Bird can fly") class Mammal: def __init__(self): self.has_fur = True def feed_milk(self): print("Mammal can feed milk") class Bat(..
2023.09.03 -
리스트 내포(List Comprehensions)는 파이썬에서 강력한 기능 중 하나로, 반복 작업을 간결하게 표현할 수 있는 방법이다. 이 기능은 기존 리스트, 튜플, 집합, 딕셔너리 등의 반복 가능한(iterable) 객체에서 새로운 리스트를 생성하는 데 사용된다. 다양한 예시 코드와 설명을 통해 리스트 내포의 다양한 활용법을 살펴보자. 1. 기본 리스트 구조 리스트 내포는 기본적으로 다음과 같은 구조를 가진다. lst = [expression for item in iterable if condition] • expression : 각 요소를 변환하거나 계산하는 표현식이다. • item : 반복 가능한(iterable) 객체에서 하나의 요소를 가리킨다. • iterable : 데이터를 순회할 수 있는 ..
[Python] 파이썬 리스트 내포(List Comprehensions)리스트 내포(List Comprehensions)는 파이썬에서 강력한 기능 중 하나로, 반복 작업을 간결하게 표현할 수 있는 방법이다. 이 기능은 기존 리스트, 튜플, 집합, 딕셔너리 등의 반복 가능한(iterable) 객체에서 새로운 리스트를 생성하는 데 사용된다. 다양한 예시 코드와 설명을 통해 리스트 내포의 다양한 활용법을 살펴보자. 1. 기본 리스트 구조 리스트 내포는 기본적으로 다음과 같은 구조를 가진다. lst = [expression for item in iterable if condition] • expression : 각 요소를 변환하거나 계산하는 표현식이다. • item : 반복 가능한(iterable) 객체에서 하나의 요소를 가리킨다. • iterable : 데이터를 순회할 수 있는 ..
2023.09.01 -
반복문 for와 while문 파이썬에서는 for와 while 두 가지 종류의 반복문을 사용하여 코드 블록을 여러 번 실행할 수 있다. 오늘은 각각의 반복문에 대한 사용법을 예시 코드를 보면서 알아보자. for for 반복문은 시퀀스(리스트, 튜플, 문자열 등) 내 요소를 순회하며 코드 블록을 바로 실행한다. fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit) 위 코드에서 fruit 변수는 리스트 fruits 내의 각 요소를 하나씩 차례로 가리키며 반복문을 실행한다. 출력 결과는 다음과 같다. apple banana cherry enumerate enumerate 함수는 순회 가능한 객체(리스트, 튜플, 문자열 등)의 요소와 인..
[Python] 반복문 for와 while문반복문 for와 while문 파이썬에서는 for와 while 두 가지 종류의 반복문을 사용하여 코드 블록을 여러 번 실행할 수 있다. 오늘은 각각의 반복문에 대한 사용법을 예시 코드를 보면서 알아보자. for for 반복문은 시퀀스(리스트, 튜플, 문자열 등) 내 요소를 순회하며 코드 블록을 바로 실행한다. fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit) 위 코드에서 fruit 변수는 리스트 fruits 내의 각 요소를 하나씩 차례로 가리키며 반복문을 실행한다. 출력 결과는 다음과 같다. apple banana cherry enumerate enumerate 함수는 순회 가능한 객체(리스트, 튜플, 문자열 등)의 요소와 인..
2023.08.31 -
파이썬에서 클래스(Class)는 객체 지향 프로그래밍(OOP)의 핵심 개념 중 하나로, 데이터와 그 데이터를 조작하는 메서드(함수)를 포함하는 하나의 템플릿이다. 클래스를 사용하면 관련된 데이터와 동작을 하나로 묶어 객체를 생성할 수 있다. 이를 통해 코드의 재사용성을 높이고 구조적인 프로그래밍을 할 수 있다. 1. 클래스의 구조 예제 코드 class HungryDeveloper: # 클래스 변수 (모든 인스턴스가 공유하는 변수) def __init__(self, name, age): # 인스턴스 변수 초기화 self.name = name self.age = age def eat(self, food): print(f'{food}를 먹다') - class : 클래스를 정의하기 위한 키워드 - HungryD..
[Python] class의 개념과 사용법파이썬에서 클래스(Class)는 객체 지향 프로그래밍(OOP)의 핵심 개념 중 하나로, 데이터와 그 데이터를 조작하는 메서드(함수)를 포함하는 하나의 템플릿이다. 클래스를 사용하면 관련된 데이터와 동작을 하나로 묶어 객체를 생성할 수 있다. 이를 통해 코드의 재사용성을 높이고 구조적인 프로그래밍을 할 수 있다. 1. 클래스의 구조 예제 코드 class HungryDeveloper: # 클래스 변수 (모든 인스턴스가 공유하는 변수) def __init__(self, name, age): # 인스턴스 변수 초기화 self.name = name self.age = age def eat(self, food): print(f'{food}를 먹다') - class : 클래스를 정의하기 위한 키워드 - HungryD..
2023.08.30 -
지난 시간에는 파이썬에서 list에 값을 추가하는 메서드 중 append와 extend에 대해 알아보았다. 하지만 append와 extend는 리스트의 마지막에 추가할 수 있다는 점 때문에 특정 위치에 삽입할 목적으로는 사용할 수 없다, 그래서 대신 사용할 수 있는 메서드가 insert 메서드이다. 오늘은 list에 특정 인덱스 위치에 값을 추가할 수 있는 insert메서드에 대해 알아보자. 1. insert 메서드 개념 파이썬의 리스트(list)에서 insert 메서드는 특정 위치에 요소를 삽입하는 데 사용된다. 이 메서드를 사용하면 리스트 내부에서 특정 위치에 새로운 요소를 추가할 수 있다. 2. insert 메서드 사용법 list.insert(index, element) 매개변수 이름 매개변수 역할..
[Python] list에 값을 추가할 수 있는 insert 메서드지난 시간에는 파이썬에서 list에 값을 추가하는 메서드 중 append와 extend에 대해 알아보았다. 하지만 append와 extend는 리스트의 마지막에 추가할 수 있다는 점 때문에 특정 위치에 삽입할 목적으로는 사용할 수 없다, 그래서 대신 사용할 수 있는 메서드가 insert 메서드이다. 오늘은 list에 특정 인덱스 위치에 값을 추가할 수 있는 insert메서드에 대해 알아보자. 1. insert 메서드 개념 파이썬의 리스트(list)에서 insert 메서드는 특정 위치에 요소를 삽입하는 데 사용된다. 이 메서드를 사용하면 리스트 내부에서 특정 위치에 새로운 요소를 추가할 수 있다. 2. insert 메서드 사용법 list.insert(index, element) 매개변수 이름 매개변수 역할..
2023.08.27 -
list에 값을 추가하는 메서드인 append와 extend의 차이 오늘은 파이썬에서 list에 사용하는 append와 extend 메서드의 차이점에 대해서 알아보는 시간을 가져보자. 둘 다 리스트에 요소를 추가하는 데 사용되지만 다르게 동작한다는 차이점이 있다. 1. append() 1.1 append() 메서드의 기본 사용법 append 메서드는 리스트의 끝에 주어진 요소 하나를 추가한다. 이때 추가되는 요소는 리스트의 하나의 원소로서 추가된다. x = [1, 2, 3] y = [4] x.append(y) print(x) # 출력: [1, 2, 3, 4] 1.2 append() 메서드의 2중 리스트 추가 만약 append() 메서드를 사용하여 2중 리스트를 추가하게 되면 어떻게 될까? x = [1,2..
[Python] list에 값을 추가하는 메서드인 append와 extend의 차이list에 값을 추가하는 메서드인 append와 extend의 차이 오늘은 파이썬에서 list에 사용하는 append와 extend 메서드의 차이점에 대해서 알아보는 시간을 가져보자. 둘 다 리스트에 요소를 추가하는 데 사용되지만 다르게 동작한다는 차이점이 있다. 1. append() 1.1 append() 메서드의 기본 사용법 append 메서드는 리스트의 끝에 주어진 요소 하나를 추가한다. 이때 추가되는 요소는 리스트의 하나의 원소로서 추가된다. x = [1, 2, 3] y = [4] x.append(y) print(x) # 출력: [1, 2, 3, 4] 1.2 append() 메서드의 2중 리스트 추가 만약 append() 메서드를 사용하여 2중 리스트를 추가하게 되면 어떻게 될까? x = [1,2..
2023.08.26