웹파이썬 프로그래밍 - Variables(변수)

2021. 6. 16. 15:35강의 내용 정리/웹파이썬 프로그래밍

728x90
반응형

강의 수강 목적

- 알고리즘은 차근차근 공부하고 있지만 컴퓨터나 프로그래밍에 관한 이론적인 지식이 많이 부족한 것 같아 경희대학교 컴퓨터공학과의 이수체계도를 참고하여 차근차근 공부해나가려고 한다.

- 파이썬을 주 언어로 사용하기에 파이썬 문법은 어느 정도 알고 있다. 하지만 파이썬에 대해 더 자세히 알기 위해 유튜브에서 경희대학교 소프트웨어융합학과 교수님께서 올리신 영상을 보고 공부한 내용을 차근차근 정리하고자 한다.

 

 

강의 내용

1. 프로그래밍이란

- Program : 무엇을 어느 순서에 맞게 해야하는 지를 정의한 것

- Computer program : 컴퓨터가 수행해야할 일을 순서대로 적은 것

- Programmer : 컴퓨터가 수행해야할 일을 체계적으로 적어 컴퓨터에게 시키는 사람

 

- TV 프로그램, 콘서트 프로그램 등 프로그램이라는 용어는 자주 사용한다. 해당 예시에서도 누가 참여하고, 어떤 내용으로 구성되어있는지 짜여있다. 전혀 다른 개념이 아니라는 것을 명심하자.

 

 

1-1. 파이썬이란?

- 파이썬은 무료이며 문서가 아주 잘 정리되어있다. (www.python.org)

- 파이썬이 작동하지 않는 컴퓨터는 거의 없다. 

    * 라즈베리파이라는 3만원짜리 값싼 컴퓨터에서도 작동한다.

- 배우고, 테스트 하는 과정이 매우 쉬워서 다른 분야를 연구하는 사람들도 많이 배우고, 테스트하는데 사용한다.

- 문법이 매우 간단하다. (python 3.0 이상에 해당)

- 적용범위가 매우 넓고 다양한 툴이 존재한다.

 

1-2. 버그란?

- 프로그램이 정상적으로 동작하지 못하는 것

- 다른 언어의 경우 버그가 발생할 경우 간혹가다가 컴퓨터를 다운시킬 수 있지만, 파이썬의 경우 기껏해야 크롬브라우저(주피터 노트북)나 해당 툴만 다운시키는 정도이다.

- 자주 발생하는 버그의 종류

    * Syntax Error : 인터프리터가 코드를 이해하지 못할때 발생 (주로 잘못 적을 때 발생, 또한 파이썬은 웬만하면 돌아간다.)

    * Runtime Error : 프로그램을 실행할 때 프로그램이 갑자기 에러메세지와 함께 끝나는 경우에 발생

    * Semantic Error : 에러메시지가 없이 프로그램이 작동하지만 잘못짠 경우 발생(cpu가 처리할 수 있는 정수의 개수를 넘어선 경우 발생)

* 64bits cpu는 한 클럭당 최대 처리할 수 있는 0과 1의 조합이 64개인 경우. 통상 사용할 수 있는 정수의 최댓값은 2의 64제곱임

 

 

2. 파이썬 기본 문법

2-1. 파이썬에서의 산수 연산자

- 더하기 : +  

ex) 7 + 7 = 14

 

- 빼기 : - 

ex) 7 - 5 = 2

 

- 곱하기 : * 

ex) 7 * 5 = 35

 

- 나누기 : /

ex) 14 / 7 = 2

 

- 몫 : // 

ex) 15 // 7 = 2

 

- 나머지 : %

ex) 15 % 7 = 1

 

- 제곱 : **

ex) 2 ** 3 = 8

 

2-2. 파이썬에서의 데이터 타입

- 정수형 : int

- 실수형 : float

- 복소수형 : complex

 

cf) 일반적으로 다른 언어를 비롯해서 복소수형은 잘 사용하지 않는다. print(type(2*2i)) 하면 <class 'complex'>가 출력된다.

 

2-3. 파이썬 증강 연산자

- 조금 더 편리하게 코드를 작성할 수 있다.

# 기본 연산자 사용 (일반적인 프로그래밍)
count = 0
count = count + 1
print(count)
# >> 1

# 증강 연산자 사용
count = 0
count += 1
print(count)
# >> 1

 

 

3. 파이썬에서의 변수와 메모리

3-1. 컴퓨터 메모리

- 컴퓨터는 유한한 메모리를 가지고 있다.

- 연산 우선순위도 일반적인 사칙연산과 다르지 않다.

 

3-2. 변수

- 변수의 이름은 의미있게 짓는 것이 좋다. -> 차후에 변수 입력을 많이하게 되면 헷갈릴 수 있기 때문.

ex) degrees_celsius, cats

 

- 변수의 이름에는 숫자로 먼저 시작하거나 언더바(_) 이외의 기호가 들어가면 변수명으로 사용할 수 없다.

ex) 777obd(x), no-way(x), hello!(x)

 

- 할당(assignment)와 같음(equality)와의 차이를 구별하자.

    * 파이썬의 경우 할당을 '='를 통해 한다. 이후 조건문 등에서 같음을 나타내는 기호는 '=='이다. 이를 구별하자.

 

3-3. 파이썬 내에서의 값, 변수, 컴퓨터 메모리간의 상호작용

- 객체 : 특정 주소 값에 위치한 데이터 타입을 가지고 있는 값

 

1. 변수에 특정 값을 할당하면 주 기억장치(ram)의 메모리에 저장된다.

2. 이때 저장된 공간을 가리키는 주소 값을 변수에 저장한다.

 

Ex1)

degrees_celsius = 26.0 + 5

print(degrees_celsius)

> 31.0

- 이때 26.0이라는 float type을 가지고 여기에 5를 더한 31.0이라는 값이 위치한 주소값을 degrees_celsius에 저장한다.

 

Ex2) 다음 사진을 보면 조금 더 직관적으로 알 수 있다.

1. difference 변수 정의

# 파이썬 코드
difference = 20

difference 변수에 int 타입의 20 값이 있는 주소 값을 저장한다.

 

2. difference 변수를 사용해 double 변수 정의

double = difference * 2

double 변수에 int 타입의 40 값이 있는 주소 값을 저장한다.

 

3. difference 변수를 재정의

difference = 5

 difference 변수에 int 타입의 5 값이 있는 주소 값을 저장한다. 하지만 이때 double의 주소 값은 변하지 않는다.

 

 

728x90
반응형