하드웨어는 컴퓨터 시스템을 구성하는 물리적인 장치들을 말합니다. 하드웨는 크게 분류하면 입력장치, 컴퓨터 본체, 출력장치로 구분되어 있습니다.
CPU(중앙처리장치, Central Processing Unit): 컴퓨터의 두뇌라고 할 수 있는 중요한 부품으로, 컴퓨터가 해야 할 모든 계산과 명령을 처리하는 장치입니다. 메모리(RAM)에 있는 데이터를 가져와서 처리하고, 처리 결과를 다시 메모리에 저장합니다. 데이터가 어디에 있고 어떻게 관리되는지를 결정하는 것이 CPU의 역할입니다.
Memory(램, Random Access Memory): 컴퓨터가 작업을 할 때 필요한 데이터를 임시로 저장하고, 그 데이터를 빠르게 불러올 수 있도록 도와줍니다. 프로그램을 실행할 때, CPU가 바로 데이터를 처리할 수 있도록 프로그램의 일부 데이터를 RAM에 저장해 둡니다.
GPU(그래픽 처리 장치): 원래는 그래픽 연산에 특화된 장치였지만, 대량의 데이터 연산을 병렬로 수행하는 데 매우 효율적이기 때문에 병렬 계산이 필요한 작업에 많이 사용됩니다. 수천 개의 작은 코어로 구성되어 있으며, 각각의 코어가 단순한 계산을 동시에 병렬로 수행합니다.
SSD(솔리드 스테이트 드라이브): 데이터를 저장하는 장치로, 전통적인 HDD(하드디스크 드라이브)보다 훨씬 빠르게 데이터를 읽고 쓸 수 있습니다. 운영체제, 프로그램, 파일 등을 저장하며, 프로그램 실행 속도와 데이터 접근 속도를 크게 향상시킵니다. CPU와 메모리가 빠르게 작업할 수 있도록 데이터를 신속하게 전달해 주는 역할을 합니다.
HDD(하드디스크 드라이브): 데이터를 저장하는 장치로, 자기 디스크에 데이터를 기록하는 방식입니다. SSD보다 데이터 전송 속도는 느리지만, 대용량 데이터를 저렴하게 저장할 수 있어 백업이나 자료 보관용으로 널리 사용됩니다.
메인보드(Mainboard, Motherboard): CPU, 메모리, 저장장치, 그래픽카드 등 모든 부품들을 하나로 연결해 주는 핵심 회로 기판입니다. 각 부품 간 데이터가 오갈 수 있도록 통로 역할을 하며, 전원 공급과 신호 전달을 관리합니다.
컴퓨터에서 프로그램을 실행하면, 하드디스크에 저장된 프로그램의 데이터가 먼저 RAM으로 옮겨집니다. 이 과정은 CPU가 빠르게 처리할 수 있도록 데이터를 준비하는 단계입니다.
프로그램이 실행되는 동안 CPU는 필요한 데이터를 RAM에서 가져와 처리합니다. 이 데이터는 매우 빠르게 처리되며, 다시 RAM에 저장될 수도 있습니다.
프로그램을 종료하거나 컴퓨터를 끄면 RAM에 있던 데이터는 사라지고, 다시 저장장치에 저장되지 않으면 영구적으로 사라집니다.
파이썬에서 변수는 데이터를 저장하기 위한 이름표와 같은 역할을 합니다. 변수에 값을 할당하면, 그 값은 컴퓨터 메모리에 저장되고 변수 이름은 그 값을 가리키게 됩니다. 파이썬은 동적 타입 언어이기 때문에, 변수를 선언할 때 자료형을 명시하지 않아도 되며, 한 번 정해진 변수에 다른 자료형의 값을 다시 저장할 수도 있습니다.
name = '김사과'
age = 20
print(name)
print(age)
name = '반하나'
print(name)
a = 200
b = 200
print(a)
print(b)
print(a is b) # is: 파이썬에서 객체의 동일성을 비교하는 연산자
print(id(a)) # 파이썬 내장 함수로, 주어진 객체의 고유한 메모리 주소를 반환
print(id(b))
리터럴 공유는 동일한 값을 가진 불변 객체가 여러 곳에서 사용될 때, 새로운 객체를 만들지 않고 기존 객체를 재사용하는 방식입니다. 이를 통해 파이썬은 메모리 사용을 최적화할 수 있습니다.
1. 변수 이름은 알파벳(대문자 또는 소문자), 숫자, 밑줄(_)로 구성될 수 있습니다.
2. 숫자로 시작할 수 없습니다.
3. 공백을 포함할 수 없습니다. 대신 밑줄(_)을 사용할 수 있습니다
4. 파이썬의 예약어(키워드)는 변수 이름으로 사용할 수 없습니다. 예약어는 if, for, class, def 등 파이썬이 이미 사용하는 특별한 단어들입니다.
파이썬의 자료형은 데이터를 저장하고 처리하기 위한 값의 종류를 말합니다. 쉽게 말해, 어떤 값이 무엇인지(숫자인지, 문자인지, 목록인지 등) 파악하고 처리하는 기준입니다. 파이썬은 동적 타입 언어이기 때문에, 변수에 어떤 값을 넣느냐에 따라 자동으로 자료형이 결정됩니다.
name = '김사과'
age = 20
weight = 50.5
isLover = False
print(name)
print(age)
print(weight)
print(isLover)
print(type(name))
print(type(age))
print(type(weight))
print(type(isLover))
num1 = 10
num2 = 3
print('%d / %d = %4.2f' % (num1, num2, num1/num2))
name = "banana"
age = 25
height = 160.123
print(f"이름: {name}, 나이: {age}, 키: {height:.1f}")
print(f'{name=}, {age=}, {height=}') # 변수 이름과 값을 동시에 출력
print(type(name), type(age), type(height))
my_list = [1, 2, 3]
# type(): 파이썬에서 변수나 값의 데이터 타입을 확인하는 데 사용되는 내장 함수
print(type(my_list))
my_tuple = (1, 2, 3)
print(type(my_tuple))
my_dict = {'key': 'value'}
print(type(my_dict))
my_set = {1, 2, 3}
print(type(my_set))
파이썬에서는 서로 다른 자료형 간에 변환할 수 있습니다. 이를 형 변환(Type Casting)이라고 합니다.
1. 정수형 > 실수형
a = 10
b = float(a)
2. 실수형 > 정수형
c = 3.14
d = int(c)
3. 문자형 > 정수형, 실수형
e = "100"
f = int(e)
g = float(e)
4. 정수형/실수형 > 문자형
h = 42
i = str(h)
j = 3.14
k = str(j)
변수를 삭제하기 위해 del 문을 사용할 수 있습니다. del 문은 지정된 변수를 제거하고 해당 메모리 공간을 해제합니다. 변수가 삭제되면 해당 이름으로 변수에 더 이상 접근할 수 없습니다. 주의해야 할 점은 del 문을 사용하여 변수를 삭제할 때 해당 변수에 연결된 메모리가 해제되지만, 변수가 참조하던 값 자체는 삭제되지 않습니다.
isLover = False
print(isLover)
del isLover
print(isLover)
name1 = '김사과'
name2 = name1
del name1
print(name2)
파이썬에서는 변수나 객체를 만들면, 그 값은 메모리의 힙(heap) 영역에 저장됩니다. 하지만 프로그램을 계속 실행하면서 더 이상 사용하지 않는 객체들이 쌓이면 메모리 낭비가 생기게 됩니다. 이때 가비지 컬렉터(GC)가 작동하여, 쓸모없는 객체를 찾아서 자동으로 메모리에서 제거해줍니다.
한 번 생성되면 값을 변경할 수 없는 객체입니다. 변경하려고 하면 새로운 객체가 생성됩니다.
x = 10
print(id(x)) # 객체 고유 번호 (메모리 주소)
x = x + 1
print(id(x)) # 다른 객체 → 새로 만들어짐
파이썬 컬렉션 타입 - 리스트 (0) | 2023.09.01 |
---|---|
문자열 다루기 (0) | 2023.08.25 |
print 함수 (0) | 2023.08.24 |
구글 코랩(Google Colab) (0) | 2023.08.24 |
파이썬이란? (4) | 2023.08.23 |