grape

파이썬의 정석 (1) 본문

프로그래밍 언어/Python

파이썬의 정석 (1)

grape-story 2021. 5. 27. 18:42

연산자와 피연산자

 

파이썬에서 연산을 하기 위해 사용되는 +, - 등의 기호는 연산자(operator)라고 하고, 7이나 3과 같이 연산의 

대상을 피연산자(operand)라고 한다. 덧셈과 뺄셈 연산자 +와 - 는 일반 계산에 사용되는 기호와 동일하지만 곱셈과 나눗셈 연산자 기호는 다르다. 곱셈은 x대신 *을, 나눗셈은 ÷ 대신 /을 사용하며 나눗셈 결과에서 소수점 값을 버리고 몫만 구할 때는 //, 나머지를 구하는 계산에는 %를 사용한다. 

또한, 단순한 사칙연산은 아니지만. 거듭제곱의 값을 구하는 연산자는 ** 이다. 

 

 

사칙연산

+ 덧셈 (7 + 3 = 10)
- 뺄셈 (7 - 3 = 4)
* 곱셉 (7 x 3 = 21)
/ 나눗셈 (7 % 3 = 2.333333333335) * 실수로 출력 *
// 나눗셈의 몫 (7 // 3 = 2) * 정수로 출력 *
% 나눗셈의 나머지(7 % 3 = 1) * 정수로 출력 *
** 제곱 ( 7 ^ 3 = 343)

 

  • 사칙연산은 왼쪽에서부터 오른쪽으로 계산한다.
  • 곱셈과 나눗셈은 덧셈과 뺄셈보다 먼저 계산한다(연산자의 우선순위가 높다).
  • 괄호 안의 식을 가장 먼저 계산한다.
  • 소괄호()는 중첩될 수 있다. ex) - 7 * ((3 + 5) % 2)
  • 연산이 왼쪽에서부터 수행되는 연산자는 좌결합이라고 한다.

 

 

연산자 우선순위

 

지금까지 알아본 연산자는 피연산자가 2개인 2항 연산자(binary operator)였다.

2항 연산자 외에 피연산자가 3개인 3항 연산자(ternary operator)와 피연산자가 1개인 단항 연산자(unary operator)가 있다. 

 

  • 단항 연산자: 연산할때 항(피연산자)이 1개만 있는 것을 단항 연산자라고 한다. (ex - +2, -2, .. 등등)
  • 이항 연산자: 연산할때 항(피연산자)이 2개만 있는 것을 이항 연산자라고 한다. (ex - A + B, A - B, .. 등등)
  • 삼항 연산자: 참인 경우 값 if 조건 else 거짓인 경우 값 (ex - true_vale if condition else false_value)

 

# 2항 연산자와 단항 연산자

7 * +3  # 7 * (+3)의 의미: 7과 (+3)의 곱을 계산
>> 21

7 * -3  # 7 * (-3)의 의미: 7과 (-3)의 곱을 계산
>> -21

위 예시에서 알 수 있듯이 +와 - 단항 연산자는 곱셈 및 나눗셈 연산자 보다도 우선하여 연산을 수행 한다. 

 

x ** y 거듭 제곱 x의 y 제곱 수를 생성   ↑
+x 단항 +  x 그 자체의 수를 생성
-x 단항 - x의 부호를 반전한 값을 생성
x * y 곱셈 x에 y를 곱한 값을 생성
x / y 나눗셈 x를 y로 나눈 값을 생성
(연산은 실수형으로 수행)
x // y 나눗셈의 몫 x를 y로 나눈 값에서 몫에 해당하는 값을 생성 
(소수점 이하의 값을 버리고 정수형 값을 생성)
x % y  나눗셈의 나머지 x를 y로 나눈 값의 나머지를 생성
x + y 덧셈 x에 y를 더한 값을 생성
x - y 뺄셈 x에서 y를 뺀 값을 생성

연산자는 우선순위에 따라 4종류로 나눌 수 있다. 우선순위가 높은 연산자 부터 차례대로 나열되어 있다.

 

 

삼항 연산자 (삼항 표현식)

 

어느 언어에나 코드량을 줄이기 위한 다양한 기법들이 존재한다. 그 중에서 대표적인 것중 하나인 3항 연산자를 파이썬에서도 사용가능 합니다. 삼항 연산자는 if-else 조건식을 한 줄로 간결하게 표현할 수 있다. 코드를 줄이는데 용이하게 사용할 수 있지만 조건식이 복잡한 경우에는 가독성을 떨어뜨릴 수 있으니 적절한 경우에 사용하는 것이 좋다.

 

1. 삼항 연산자 (삼항 표현식) 문법

true_value if condition else false_value

condition의 Boolean값을 기반으로 반환된다. if 조건식의 condition값이 True이면 true_value를 반환하고 False이면 false_value값을 반환한다. 

  • 참인 경우 값 if 조건 else 거짓인 경우 값

 

# 삼항 표현식 

a = 1
test = "one" if a == 1 else "not one"
print(test)
>> one 

a = 1
test = "one" if a == 11 else "not one"
print(test)
>> not one 


# if - else 조건식 
a = 1 
if a == 1:
	test = 'one'
else:
	test = 'not one'
>> one

같은 결과를 출력하지만 삼항 표현식을 사용할 때 코드를  더 간결하게 작성할 수 있다. 삼항 표현식과 if-else조건식이 같은 결과를 도출하지만 표현하는 방식이 달라진다. 

 

 

2. 중첩 삼항 연산자 (삼항 표현식)

중첩 삼항 표현식은 이름 그대로 삼항 표현식을 중첩된 표현식으로 작성하는 코드이다. 두개 이상의 if 조건식을 한 줄로 작성할 수 있다. 

true_value if condition1 else true_value2 if condition2 else false_value

if 조건식의 condition1값이 True이면 true_vale값을 반환하고 False면 두 번째 조건식의 Boolean 값을 반환한다. condition2의 값이 True이면 true_value2값을 반환하고 False이면 false_value를 반환한다.

 

# 삼항 표현식 

a = 5
test = 'five' if a == 5 else 'low' if a < 5 else 'high'
print(test)
>> five

a = 3
test = 'five' if a == 5 else 'low' if a < 5 else 'high'
print(test)
>> low

a = 10
test = 'five' if a == 5 else 'low' if a < 5 else 'high'
print(test)
>> high

삼항 표현식은 한 줄로 작성할 수가 있어서 간편하게 사용이 가능하다. if - else 조건식은 if -elif - else 조건식으로 작성도 가능 하다. 

 

 

수치 자료형

수를 표시하는 방법은 프로그래밍 언어에 따라 달라진다. 수나 문자를 나타내는 종류나 방법을 자료형(data type)이라고 부르며. 파이썬에는 3개의  수치 자료형이 있다. 

 

'프로그래밍 언어 > Python' 카테고리의 다른 글

파이썬의 정석 !  (0) 2021.04.16
파이썬 이란  (0) 2021.04.15
Comments