연산자(Operator)

2023. 2. 22. 11:54Python/실전 예제로 배우는 파이썬 프로그래밍

파이썬 연산자 기호

구분 연산자  기능 설명
산술연산자 +, -, *, /, %, //, ** 사칙연산, 나머지 반환, 몫 반환, 지수 승
관계연산자 ==, !=, >, >=, <, <= 동등비교, 크기비교
논리연산자 and, or, not 논리곱, 논리합, 부정
대입연산자 =, (a, b), * 할다, a와 b 교환, 패킹(묶어서 할당)

산술연산자

사칙연산자와 나머지를 계산하는 연산자 그리고 지수(거듭제곱)를 계산하는 연산자

num1 = 100 # 피연산자1
num2 = 20 # 피연산자2

add = num1 + num2 # 덧셈
print('add=', add)

add = 120

sub = num1 - num2 # 뺄셈
print(sub)

sub = 80

mul = num1 * num2 #곱셈
print(mul)

mul = 2000

div = num1 / num2 # 나눗셈
print(div)

div = 5.0

div2 = num1 % num2 # 나머지 계산
print(div2)

div2 = 0

square = num1**2 # 제곱 계산
print(square)

square = 10000

아주 큰 값이나 아주 작은 값을 나타날 때, 지수 형식으로 출력되는 경우가 있습니다. 

('1e+40'의 출력결과는 1*10의 40승과 동일)

 

관계연산자

관계식의 결과가 참이면 True, 거짓이면 False 값을 반환하는 연산자

# (1) 동등비교
bool_result = num1 == num2 # 두 변수의 값이 같은지 비교
print(bool_result)

False

bool_result = num1 != num2 # 두 변수의 값이 다른지 비교
print(bool_result)

True

# (2) 크기비교
bool_result = num1 > num2 # num1값이 큰지 비교
print(bool_result)

True

bool_result = num1 >= num2 # num1값이 크거나 같은지 비교
print(bool_result)

True

bool_result = num1 < num2 # num2값이 큰지 비교
print(bool_result)

False

bool_result = num1 <= num2 # num2값이 크거나 같은지 비교
print(bool_result)

False

이렇게 반환된 값은 조건문이나 반복문에서 비교 판단할 경우 사용됩니다.

 

논리연산자

산술연산자와 관계연산자를 이용해서 작성된 논리식이 참이면 True, 거짓이면 False 값을 반환하는 연산자

# 두 관계식이 같은지 판단
log_result = num1 >= 50 and num2 <= 10
print(log_result)

False

# 두 관계식 중 하나라도 같은지 판단
log_result = num1 >= 50 or num2 <= 10
print(log_result)

True

log_result = num1 >= 50 # 관계식 판단
print(log_result)

True

# 괄호 안의 관계식 판단 결과에 대한 부정
log_result = not(num1 >= 50)
print(log_result)

False

and와 or는 양변에 관계식을 가지고 있습니다. and는 두 관계식이 모두 참이면 True를 반환하고, or는 적어도 한쪽 관계식이 참이면 True를 반환합니다. not은 논리형 자료를 대상으로 부정을 적용한 값을 반환합니다.

 

대입연산자

우변의 값을 좌변의 변수에 할당하는 연산자(=), 두 변수의 값을 교환하는 연산자, 여러 개의 값을 묶어서 변수에 할당하는 연산자(*)

# (1) 변수에 값 할당(=)
i = tot = 10 # i = 10; tot = 10
i += 1 # i = i + 1
tot += i # tot = tot + i
print(i, tot)

11 21

# 같은 줄에 중복 출력
print('출력1', end='  ,  ') # end='구분자'
print('출력2')

v1, v2 = 100, 200

출력1, 출력2

# (2) 변수 교체
v2, v1 = v1, v2
print(v1, v2) # 200 100

100 200

# (3) 패킹(packing 할당
lst = [1, 2, 3, 4, 5]
v1, *v2 = lst
print(v1, v2) # 1 [2, 3, 4, 5]

1 [2, 3, 4, 5]

*v1, v2 = lst
print(v1, v2) # [1, 2, 3, 4] 5

[1, 2, 3, 4] 5

(1) 변수에 값 할당(=)

i와 tot 변수에 10을 동시에 할당하고, i에 1을 더하고, tot에 i를 더하여 11과 21일 출력됩니다. 

현재 출력 값과 다음에 출력되는 값을 같은 줄에 중복 출력하고, 두 값을 콤마(,)로 구분하기 위해서 print() 함수에 end = ', ' 형식으로 인자를 넣습니다.

 

(2) 변수 교체

임시 변수 없이 v1과 v2 변수의 값을 서로 교체하는 기능으로 '=' 연산자를 기준으로 우변은 교체할 변수 또는 값, 좌변은 교체될 변수 또는 값을 작성합니다.

 

(3) 패킹(packing) 할당

여러 개의 값을 묶어서 변수에 할당할 경우 패킹 연산자(*)를 이용합니다.

'Python > 실전 예제로 배우는 파이썬 프로그래밍' 카테고리의 다른 글

조건문  (0) 2023.02.26
파이썬 기본 도구 익히기 연습문제  (0) 2023.02.25
문자열(String)  (0) 2023.02.24
표준입출력장치  (2) 2023.02.23
변수와 자료형  (0) 2023.02.21