목차
- 시작하며
- 산술 연산자
- 곱셈 기호
- 나누기 기호(실수)
- 나머지 기호
- 제곱 기호
- 나누기 기호(정수)
- 누적 연산자
- 비교 연산자
- 같은지 비교
- 다른지 비교
- 논리 연산자
- and
- or
- not
- 마치며
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 |
댓글