본문 바로가기
Python

파이썬 기초 4편(숫자 자료형 심화 및 연산자)

by 스터디립트 2022. 3. 14.

목차

  1. 시작하며
  2. 산술 연산자
    1. 곱셈 기호
    2. 나누기 기호(실수)
    3. 나머지 기호
    4. 제곱 기호
    5. 나누기 기호(정수)
  3. 누적 연산자
  4. 비교 연산자
    1. 같은지 비교
    2. 다른지 비교
  5. 논리 연산자
    1. and
    2. or
    3. not
  6. 마치며

 

1. 시작하며

파이썬 기초 3편, 즉 저번 시간에는 여러가지 파이썬의 자료형에 대해서 간단히만 배워보았습니다. 이번 시간에는 그 여러 자료형들 중에서 숫자 자료형에 대해 좀 더 자세히 알아보는 시간을 가져보도록 하겠습니다. 이번 시간부터 점차 숫자 자료형 외에도 전에 소개시켜드렸던 자료형들 중 하나씩 골라서 자세히 알아보는 시간을 가져보도록 하겠습니다.

2022.03.01 - [Python] - 파이썬 기초 3편(변수)

 

 

 

2. 산술 연산자

우선 사칙연산 등 기본적인 연산을 파이썬에서 하는 방법에 대해서 알아보도록 하겠습니다. 더하기는 +, 빼기는 - 와 같이 대부분의 연산 기호들은 기존에 알고 계시던 것과 같을겁니다. 다만 *, /, %, **, // 이 5가지는 짚고 넘어가야 할 것 같습니다.

2-1. 곱셈 기호

*는 파이썬에서 곱셈 기호를 의미합니다. 기본적인 수학의 사칙연산과 같이, 곱셈 기호는 더하기와 빼기 기호보다 더 우선되어서 계산됩니다. 아래는 그 예시입니다.

print(2+4*2)
결과:

10

곱하기인 4*2가 우선 계산되어서 2에 8을 더한 값인 10이 출력되는것을 볼 수 있습니다.

 

 

2-2. 나누기 기호(실수)

/는 파이썬에서 나누기 기호를 의미합니다. 나누기 기호 역사 곱셈 기호와 같이 더하기와 빼기 기호보다 더 우선되어서 계산됩니다. 아래는 그 예시입니다.

print(-1+4/2)
결과:

1

나누기인 4/2가 우선 계산되어서 2에 1을 뺀 값인 1이 출력되는것을 볼 수 있습니다.

 

 

2-3. 나머지 기호

%는 파이썬에서 나머지 기호를 의미합니다. 앞의 수를 뒤의 수로 나눈 나머지 값을 가져옵니다. 나머지 기호 역시 더하기와 빼기 기호보다 더 우선되어서 계산됩니다. 아래는 그 예시입니다.

print(2+4%2)
결과:

2

결과를 보면 6을 2로 나눈 나머지가 아닌, 2에 4를 2로 나머지인 0을 더해서 2가 출력되는것을 볼 수 있습니다.

 

 

2-4. 제곱 기호

**는 파이썬에서 제곱 기호를 의미합니다. 앞의 수를 뒤의 수로 제곱한 값을 가져옵니다. 제곱 기호는 사칙연산 기호들보다 더 우선되어서 계산됩니다. 아래는 그 예시입니다.

print(2*3**3)
결과:

54

2에 3의 3제곱인 27의 값을 곱한 54가 출력되는 것을 볼 수 있습니다.

 

 

2-5. 나누기 기호(정수)

//는 파이썬에서 나누기 기호를 의미합니다. 또 다른 나누기 기호인 /과의 차이점은 /를 사용할 시 그 결과가 실수로 나옵니다. 하지만 //를 사용할 시 그 결과가 정수로 나옵니다. 아래는 그 예시입니다.

print(4/3)
print(4//3)
결과:

1.3333333333333333
1

/ 기호를 사용한 첫번째 구문에서는 몫이 1.3333333 과 같이 순환소수로 나옵니다. 하지만 // 기호를 사용한 두번째 구문에서는 몫이 1과 같이 정수로 나옵니다.

 

 

3. 누적 연산자

누적 연산자의 모습은 +=, -=와 같은 모습으로, 산술 연산자 뒤에 =를 하나 더 붙여서 사용합니다. 기본적인 기능은, = 앞에 있는 산술 연산자 만큼 기존 변수에 더해줍니다. 예를 들어서 값이 4인 변수 x가 있을 때, x값에 3을 더하고 싶으면 어떻게 해야할까요? 누적 연산자를 배우지 않았을 시에는 아래와 같이 사용하실 겁니다.

x = 4
x = x + 3
print(x)
결과:

7

하지만 산술 연산자를 사용한다면, 더 간편하게 구문을 만들 수 있습니다.

x = 4
x += 3
print(x)
결과:

7

첫 번째 코드와 두 번째 코드의 기능은 다를 바가 없습니다. 다만 구문의 길이가 줄어들었습니다.

누적 연산자의 개수는 산술 연산자의 개수와 동일한 7개입니다. (+=, -=, *=, /=, %=, **=, //=)

 

 

4. 비교 연산자

비교 연산자에는 수학에서의 부등호 등이 해당됩니다. 다만 짚고 넘어가야할 2가지 비교 연산자들이 있습니다.

 

4-1. 같은지 비교

보통 수학에서 "같다"를 표기하는 기호는 =입니다. 다만 =는 변수 등에 값을 대입해서 선언하는 용도로 사용됩니다. 따라서 두 가지의 값이 같은지 비교하는 비교 연산자의 역할을 ==이 수행합니다.

print(1 == 2-1)
print(1 == 7//2)
결과:

True
False

1과 2-1의 값은 같기 때문에 True가 출력되고, 1과 7//2의 값은 다르기 때문에 False가 출력되는것을 볼 수 있습니다.

 

 

4-2. 다른지 비교

수학에서 두 수가 다르다고 표시할 때는 =에 사선을 하나 그어서 표시합니다. 다만 키보드로 바로 그런 기호를 사용할 수는 없습니다. 물론 =에 사선을 그은 기호가 존재하기는 할테지만, 프로그래밍에 사용할 만큼 바로바로 입력할 수 있지 않기에 부적합합니다. 따라서 프로그래밍에서는 그 기호를 !=로 대체합니다.

print(1 != 2-1)
print(1 != 7//2)
결과:

False
True

1과 2-1의 값은 같기 때문에 False가 출력되고, 1과 7//2의 값은 다르기 때문에 True가 출력되는것을 볼 수 있습니다.

 

 

5. 논리 연산자

논리 연산자는 기본적으로 True와 False의 값만 가지는 boolean 자료형을 사용합니다. 논리 연산자에는 or, and, not 이렇게 3가지 종류가 있습니다. 하나씩 알아보도록 하겠습니다.

 

 

5-1. and

and의 뜻을 모르시는 분들은 없을겁니다. '그리고' 라는 뜻이지요. 뜻과 같이 앞의 값과 뒤의 값이 True로 같을 때 True를 출력합니다. 두 값중 하나라도 False라면 False를 출력합니다.

print(1 == 1 and 2 == 2)
print(1 == 2 and 2 == 2)
결과:

True
False

결과를 보면 첫 번째 구문에서는 1 == 1과 2==2가 둘다 True이기 때문에 결국 True가 출력된 것을 볼 수 있고, 두 번째 구문에서는 2 == 2는 True이지만 1 == 2가 False이기에 결국 False가 출력된 모습을 볼 수 있습니다.

 

 

5-2. or

or은 '또는' 이라는 의미를 가지고 있습니다. 말 그대로 앞의 값 또는 뒤의 값 중 하나라도 True일 시 True를 출력하지만 두 값이 모두 다 False일 때는 False를 출력합니다.

print(1 == 1 or 2 == 1)
print(1 == 2 or 3 == 1)
결과:

True
False

결과를 보면 첫 번째 구문에서는 비록 2 == 1의 값이 False이지만 1 == 1의 값이 True이기에 결국 True가 출력된 모습을 볼 수 있습니다. 그리고 두 번째 구문에서는 1 == 2와 3 == 1 모두 다 False의 값을 가지고 있기 때문에 False가 출력된 모습을 볼 수 있습니다.

 

 

5-3. not

not은 '아니다' 라는 뜻을 가지고 있지요. not은 기본적으로 값 앞에 사용합니다. 뒤에 있는 값이 True라면 Flase로, False라면 True로 값을 반전시켜주는 역할을 합니다.

print(not 1 == 2)
print(not 3 == 3)
결과:

True
False

결과를 보면 첫 번째 구문에서는 1 == 2의 값은 False이지만 not으로 인해서 결국 True가 출력되었고, 두 번째 구문에서는 3 == 3의 값은 True이지만 not으로 인해서 결국 Flase가 출력된 모습을 볼 수 있습니다.

 

 

6. 마치며

지금까지 파이썬의 숫자 자료형에 대해서 조금 더 자세한 정보들과 여러 연산자들에 대해서 배워보았습니다. 다음 시간에는 조건문을 사용할 수 있는 if에 대해서 알아보도록 하겠습니다. 질문이 있으시다면 이 글의 댓글에 적어주시면 답변해드리도록 하겠습니다.

 

 

'Python' 카테고리의 다른 글

파이썬 기초 6편(for문)  (0) 2022.03.16
파이썬 기초 5편(if문)  (0) 2022.03.15
파이썬 기초 3편(변수)  (0) 2022.03.01
파이썬 기초 2편(자료형)  (0) 2022.02.28
파이썬 기초 1편(기본 설정)  (0) 2022.02.27

댓글