클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

파이썬 프로그래밍의 기초, 자료형 1 - 변수와 숫자형 자료형 본문

프로그래밍 언어/파이썬

파이썬 프로그래밍의 기초, 자료형 1 - 변수와 숫자형 자료형

huenuri 2024. 8. 31. 17:40

자료형은 프로그래밍마다 별로 큰 차이가 없어 다 알고 있는 내용이지만 새 언어를 배우는 만큼 기초를 탄탄히 다지기로 하자. 복습한다는 의미로 한번 더 학습해본다.


 

 

 

1. 변수란 무엇인가?

 

 

프로그래밍에서는 등호가 있을 때 오른쪽에 있는 값을 왼쪽에 넣는다는 의미이다.


 

 

 

2. 숫자형

숫자형이란 숫자 형태로 이루어진 자료형으로 우리가 이미 잘 알고 있는 것이다.

 

기본 자료형 (Primitive Types)
int 정수형. 양수, 음수, 0을 포함한 정수 값. 42, -7, 0
float 부동소수점 실수형. 소수점을 포함한 실수 값. 3.14, -0.001, 2.0
complex 복소수형. 실수부와 허수부로 이루어진 수. 3 + 4j, -5j, 2.1 + 0j
bool 불리언형. 참(True)과 거짓(False) 값을 가짐. True, False
str 문자열형. 문자들의 시퀀스(연속된 값). "Hello", 'Python'
컬렉션 자료형 (Collection Types)
list 리스트. 순서가 있는 변경 가능한(가변) 시퀀스. [1, 2, 3], ['a', 'b', 'c']
tuple 튜플. 순서가 있는 변경 불가능한(불변) 시퀀스. (1, 2, 3), ('a', 'b', 'c')
range 범위 객체. 정수 시퀀스를 생성하는 객체. range(5), range(1, 10, 2)
dict 사전(딕셔너리). 키와 값의 쌍으로 이루어진 데이터 모음. 키는 고유하고 불변이어야 함. {'a': 1, 'b': 2}
set 집합. 중복이 없는 고유한 요소들의 불변 모음. {1, 2, 3}, {'a', 'b', 'c'}
frozenset 불변 집합. 중복이 없는 고유한 요소들의 불변 모음으로, 변경할 수 없음. frozenset([1, 2, 3])
기타 자료형
bytes 바이트. 8비트 값의 시퀀스. b'Hello', bytes([50, 100])
bytearray 바이트 배열. 가변 바이트 시퀀스. bytearray(b'Hello')
memoryview 메모
리 뷰 객체. 다른 바이너리 객체의 메모리를 조회할 수 있음.
memoryview(b'Hello')
NoneType None형. 값이 없음을 나타내는 특별한 객체. None

 

 


 

 

 

숫자형은 어떻게 만들고 사용할까?


 

 


 

 

 


 

 

 

 

숫자형을 활용하기 위한 연산자


 

 

 

 

 

파이썬에는 제곱 연산자도 있어서 매우 간편하게 할 수 있다.

 


 

 

 

책에 나온 연습문제를 풀어보았다. 덧셈은 곱셈보다 나중에 계산되므로 처음에는 곱셈 사이에 있는 연산자는 값이 잘 계산이 안될 줄 알았는데 아니었다. 이것은 연산자 우선순위 때문에 그렇다.

파이썬의 연산자 우선순위는 다음과 같다.

  1. 거듭제곱(**)
  2. 곱셈, 나눗셈, 나머지(*, /, %)
  3. 덧셈, 뺄셈(+, -)

그렇기에 아무리 덧셈이 섞여있어도 곱셈부터 계산을 하니 두 식은 같게 되는 것이다.

 


 

 

 

 

이 문제는 이해하기 좀 어려웠다. 7을 3으로 나누면 나머지가 1이 되는 건 맞지만, 3을 7로 나누면 나눌 수 없다고 생각했다. 하지만 이건 몫이 0이 되고 나머지는 3이 된다.

 

 

나머지 연산자 %의 일반적인 원리

나머지 연산자 %는 다음과 같은 규칙에 따라 동작한다.

  • A % B: A를 B로 나눈 나머지를 구한다
  • 만약 A가 B보다 작다면, A를 B로 나눌 수 없기 때문에 몫이 0이 되고, 나머지는 A 자체가 된다.

이를 이해하기 위해 몇 가지 예를 들어보겠다:

  • 8 % 5: 8을 5로 나누면 몫은 1, 나머지는 3. 따라서 결과는 3이다.
  • 10 % 4: 10을 4로 나누면 몫은 2, 나머지는 2. 따라서 결과는 2이다.
  • 2 % 10: 2를 10으로 나누면 10이 2보다 크므로 몫이 0, 나머지는 2. 따라서 결과는 2이다.

 

 

 


 

 


 

 

 

학습을 마치고

쉽게 보였지만 막상 풀어보면 결코 만만치 않다는 것을 알게 된다. 하나하나 실습을 진행하면서 그동안 많이 어려워했던 몫과 나머지 연산의 개념이 잡히게 되었다.

문자열은 무척 어렵고 분량도 많으니 숫자형에 관한 수업 영상을 먼저 시청하며 학습해볼 것이다.