본문 바로가기
통계와 빅데이터

[ 파이썬컴퓨팅 ] 변수와 print문

by MumMummi 2024. 9. 1.
컴퓨터와 메모리의 작동 원리를 이해하고, 변수의 기본이 되는 데이터 타입 파악
기본적인 변수의 종류 학습 (숫자형, 문자열형)
변수에 값을 저장하는 할당문과 변수의 값을 출력하는 출력문 학습

 

1. 변수 

 1) 컴퓨터의 원리 

  • 튜링 머신이란 현대 컴퓨터의 원형으로 프로그램을 표현하는 명령어들의 집합(instruction set)과 무한한 길이의 테이프(tape)로 구성된 것이다. 명령어 집합은 헤드(head)를 이동해가며 테이프에 기호를 쓰거나 읽으며, 테이프는 작은 셀로 구분된다. 
  • 현대 컴퓨터는 프로그램을 메모리에 저장하고, CPU는 메모리에 저장된 프로그램을 읽어서 실행한다. 
  • 즉 튜링 머신은 프로그램 실행을 위한 CPU와 memory의 조합을 처음으로 제안하고, 메모리는 주소를 가진 무한한 길이의 테이프 형태로 구체화했다는 점에서 현대 컴퓨터와의 유사성을 가지고 있다. 

 

2) 메모리의 원리

  • 메모리의 저장 단위는 bit, byte, 워드로 구분된다. 
    • bit (0 또는 1)로 컴퓨터에서 값을 저장하는 기본 단위이다. 
    • byte(8개의 bit)는 컴퓨터의 메모리를 구성하는 작은 크기의 셀이며, 1GB 메모리는 1Giga Byte의 메모리라는 뜻이다.  
    • 워드 : 컴퓨터에서 한번에 처리하는 데이터의 양으로 기존 32bit 컴퓨터에서는 4byte가 1word 였으나, 요즘 64bit 컴퓨터에서는 8byte가 1word이다. 
  • 메모리의 각 셀들은 모두 주소를 가지고 있으나, 비효율적이다. 

 

3) 데이터 타입 

  • 메모리를 효율적으로 관리하기 위하여 저장할 값의 유형에 따라서 데이터를 저장한다. 숫자형 데이터는 정수(int, short, unsigned, long 등)와 실수(float, double 등)이 있으며, 문자형 데이터는 char(문자1개)과 string(문자열)이 있다.
    • 일반적으로 정수는 4byte, 실수는 8byte, 문자는 2byte가 필요
  • 데이터는 정적 데이터 타입과 동적 데이터 타입으로 구분되는데, 정적 데이터 타입은 데이터를 저장하기 전에 그 타입을 파악해서 미리 기억 공간을 요구해야 한다. 컴파일 할 때 데이터 타입을 결정하고, 그에 해당하는 기억 공간을 할당 받는 것으로 C언어와 Java에서 활용된다. 
int x, y, z;
z = x + y;
  • 한편 동적 데이터 타입은 실제로 데이터를 저장할 때 그 타입에 따라서 기억 공간을 요구하는 형태로, 실행 시간에 데이터 타입을 결정한다. (python에서 활용) 
z = x + y;

 

4) 변수의 원리 

  • 변수는 데이터를 저장하는 주소를 의미있는 이름 (mnemonic)으로 대응하는 기능으로 대부분의 언어가 지원한다. (어셈블리언어 같은 저수준 언어는 지원하지 않음)
  • 변수는 데이터를 저장하거나, 저장된 데이터를 불러올 때 쓰는 메모리의 주소를 단어로 대체하는 역할을 한다. 

 

2. 기초적인 변수의 종류 

1) 숫자형

  • 정수형과 실수형으로 나눌 수 있으며, 특수한 숫자형 변수로 8진수와 16진수가 있다. 

2) 문자형

  • 파이썬에서 문자열을 표현하는 방법은 4개가 있으며, 큰따옴표(""), 작은따옴표(''), 삼중 큰따옴표("""), 삼중작은따옴표(''')이다. 
  • 작은 따옴표를 포함하는 문장을 표현하는데는 다양한 방법이 있다. 
    • 1) " I'd rather go than sleep "
    • 2) ' I \ 'd rather go than sleep '
    • 3) """ I'd rather go than sleep """

 

3. 할당

1) 할당문 

  • 연산식을 메모리에 저장하는 문장으로, 등호가 포함되는 문장이다. 등호 왼쪽에는 주소나 변수, 우측에는 연산식이 위치하는 것이 규칙이다 (변수 = 연산식)
    • 우측에 변수가 오는 경우 val = val2
    • 우측에 연산식이 오는 경우 val = val1 + val2
    • 우측에 함수가 오는 경우 val = func1 (val1, val2)

2) 파이썬의 특징 

  • 좌측에 여러 개의 주소가 올 수 있다. val1, val2 = func ()
  • 좌측에 오는 주소 중 하나만 사용할 수 있음 val1, _ = func ()

 

4. 출력

  • print()는 변수를 인자로 전달 받아서 그 값을 출력할 수 있는데, 예를 들어 이름이 "Sue" 이고, 키가 "130cm" 인 사람을 저장하고 이를 출력할 때 print()함수를 사용할 수 있다. 
name = "Tom"
height = 180

print("Name: ", name, "Height: ", height, "cm")
  • format() 함수는 서식을 지정하여 사용할 수 있으며, 예를 들어 텍스트가 출력되는 양식을 지정하거나, 소수점 두 번째 자리까지만 출력하는 등의 형태를 정할 수 있다. 
name = "Tom"
height = "180"

print("Name: {}, Height : {}" .format(name, height))
pi = 3.141592
print("Pi: {:.2f}" .format(pi))
  • f-문자열은 print() 함수 내에서 직접 변수를 참조할 수 있으며, 파이썬 3.6이상에서만 사용 가능하다. 
name = "Tom"
height = 180

print(f"Name: {name}, Height: {height}cm")
a = 5
b = 3

print(f"{a} + {b} = {a + b}")