[Python] 연산자

수식

컴퓨터를 사용하면 우리가 복잡한 계산을 직접 할 필요가 없다. 컴퓨터가 빠른속도로 정확히 계산하여 그 결과를 알려주므로, 우리는 정확히 계산 하도록 알맞은 수식을 올바르게 작성해 컴퓨터에게 지시해야 한다.

 

수식(expression)이란 피연산자들과 연산자의 조합이다.

연산자(operator)는 어떤 연산을 나타내는 기호, 피연산자(operand)는 연산의 대상이다.

 

산술 연산자

연산자의 종류

연산자 기호 사용 예 결과값
더하기 + 5 + 3 15
빼기 - 5 - 3 2
곱하기 * 5 * 3 15
나누기 / 5 / 3 1.6666 ...
지수(제곱) ** 5 ** 3 123
나누기(몫) // 5 // 3 1
나머지 % 5 % 3 2
대입(할당) = X = 10  

 

지수 연산자 ( ** )

파이썬은 다른 프로그래밍 언어에서는 거의 없는 지수(power) 계산을 위해 ' ** ' 연산자를 제공

17 ** 2  # 결과값 289
10 * 2 ** 7 # 결과값 1280
2 ** 2 ** 3 # 결과값 256

 

지수연산자는 오른쪽에서 왼쪽으로 계산된다. 지수 연산자는 다른 연산자들보다 높은 우선순위를 갖는다.

ex )

 

나머지 연산자 %

X % Y는 ' X ' 를 Y로 나누어 남은 나머지를 결과로 반환한다.

 

x = int(input("나누어지는 수를 입력 하시오 : "))
y = int(input("나누는 수를 입력 하시오 : "))

print("나눗셈의 몫 : ", x // y)
print("나눗셈의 나머지  : ", x % y)

 

결과

 

 

 

  • 나머지 연산자를 이용하여 초를 분단위로 바꾸는 프로그램
sec = 1000
min = sec // 60
remainder = sec % 60
print(min,"분",remainder,"초 입니다.")

결과

 

대입 연산자 ' = '

대입연산자 ' = ' 의 사용 규칙은 왼쪽에는 반드시 변수가 와야하고 오른쪽에는 수식 또는 값이 와야한다.

100 = X + Y    # 이것은 잘못된 수식 ' =' 왼쪽에 변수가 없기 때문이다.

 

복합 대입 연산자

복합 대입 연산자(compound assignment operator)란 대입 연산자와 다른 연산자를 합쳐 놓은 것을 말한다.

X += 2 <-> X = X + 2 # 서로 같은 의미

 

복합 연산자 의미
X += Y X = X + Y
X -= Y X = X - Y
X *= Y X = X * Y
X /= Y X = X / Y
X //= Y X = X // Y
X %= Y X = X% Y

 

복합 대입 연산자를 다른 연산자와 함께 사용할 때에는 연산자의 우선순위에 신경을 써야한다.

예를 들어 X = X * 2+3 을 복합 대입 연산자를 이용해  X *= 2 + 3처럼 작성하면 잘못된 것이다.

X  = 10
Y = 10
X = X * 2+3
Y *= 2+3

print(X)   # 결과 23
print(Y)   # 결과 50

 

 

연산자의 우선순위

 

연산자 설명
** 지수 연산자
~ , + , - 단항 연산자
* , / , %, // 곱셈, 나눗셈, 나머지 연산자, 나눗셈(몫)
+, - 덧셈 , 뺄셈
>> , << 비트 이동 연산자
& 비트 AND 연산자
^, | 비트 XOR 연산자, 비트 OR 연산자
<=, <, >, >= 비교 연산자
<>, ==, != 동등 연산자
=, %=, /=, //=, -=, +=, *=, **= 대입 연산자
is, is not 아이덴티티 연산자
in, not in 소속 연산자
not, or , and 논리 연산자

 

우선 순위는 위로 갈수록 높고 아래로 갈수록 낮아진다.

 

 

  • 사용자로부터 3개의 수를 입력받아 평균을 출력하는 프로그램
A = int(input("첫번째 수를 입력하세요 : "))
B = int(input("첫번째 수를 입력하세요 : "))
C = int(input("첫번째 수를 입력하세요 : "))

avg = (A + B + C) / 3
print("평균 : ",avg)

결과

'Python' 카테고리의 다른 글

[Python] 자료형  (1) 2024.01.10
[Python] 문자열/수 입력받기  (1) 2023.12.27
[Python] 변수  (2) 2023.12.27