본문 바로가기
Data_engineering/Python

[Python] 사칙연산

by kyhh1229 2023. 2. 26.

 

간단한 사칙연산

 

더하기 ( + )

빼기 ( - )

곱하기 ( * )

나누기 ( / )

 

기호를 이용한다

 

In:

pirnt(1+1)

Out:

2

 

In:

print(5-2)

Out:

3

 

파이썬에서 숫자와 연산자 사이의 공백은 무시한다

5-2 나 5 -2 나 5 - 2 나 모두 같다

공백을 입력하면 수식을 보기에 조금 더 편하다

 

In:

print(15*2)

Out:

30
In:

print(10/2)

Out:

5.0

 

덧셈,뺄셈,곱셈의 결과와 달리 나눗셈의 결과는 5가 아니라 5.0 입니다

이것은 파이썬(3.X 버전)에서 나눗셈 연산은 실수로 처리하기 때문이다

 

파이썬 2.X 에서는 정수 나누기 정수의 경우에 결과가 정수로 처리된다

2.X 버전에서 실행하면 5가 출력된다

 

 

정수와 실수

프로그래밍하다 보면 정수와 실수라는 말이 자주 나온다

정수와 실수의 정의는 다음과 같다

  • 정수 : 자연수 (1,2,3,….)와 자연수의 음수, 그리고 0으로 이뤄진 수의 집합
  • 실수 : 유리수와 무리수로 이뤄진 집합
  • 간단하게 숫자에 소수점이 없으면 정수(int)
  • 소수점이 있으면 실수(float) 입니다

정수연산만 가능한것이 아니라 실수 연산도 할 수 있다

 

In:

1.2 + 5.3

3.5 - 5.0

1.4 * 2

5 / 2

Out:

6.5

-1.5

2.8

2.5

 

다음은 조금 복잡한 연산을 해보겠다

연산 기호가 두 개 이상일 경우 일반적인 연산규칙

 

(괄호안 계산 → 지수 계산 → 곱셈과 나눗셈 계산 → 덧셈과 뺄셈 계산 순서로 연산

같은 순위의 연산일 경우 왼쪽에서 오른쪽 순서로 계산 , 중복된 괄호가 있을 경우 안쪽 괄호부터 계산)

 

In:

2+3*4

3/2*4-5/2

10/5+(5-2)*2

(5*4-15)+((5-2)*(9-7))

Out:

14

3.5

8.0

11

 

거듭 제곱과 나머지

숫자 A를 n번 곱하는 거듭제곱(Power)은 다음과 같이 표현 할 수 있다

 

 

In:

2*2*2*2*2

Out:

32

 

파이썬에서는 거듭제곱을 위한 연산자 ** 가 있다

즉 파이썬에서 A^n 은 A**n 으로 입력한다

  • 여기서 두 별표 사이에는 공백이 없어야 한다

 

In:

2**5

Out:

32

 

정수뿐 아니라 실수도 거듭제곱을 할 수 있다

 

In:

1.5**2

Out:

2.25

 

거듭제곱의 지수도 정수일 필요가 없다

이를 이용하면 어떤 수의 거듭제곱근을 구할 수 있다

 

 

In:

2**(1/2)

Out:

1.4142135623730951

 

파이썬에서 제공하는 수학(math) 라이브러리를 이용하면 거듭제곱,거듭제곱근 외에 다양한 수학 함수를 입력 할 수 있다

 

 

나머지와 몫을 구하는 방법

만약 13을 5로 나누면 몫이 2이고 나머지가 3입니다

나머지를 구하기 위해 파이썬에서는 % 기호를 이용합니다

몫을 구하기 위해 파이썬에서는 // 기호를 이용합니다

 

In:

13 % 5

13 // 5

Out:

3

2

 

 

 

논리 연산 및 비교 연산

논리 연산자

  • 논리 연산은 불린 연산 이라고도 한다
  • Boolean operation

파이썬에서 논리 연산을 위한 데이터 타입은 불(bool) 입니다

불 데이터 타입에는 참(True)  거짓(False)이 있습니다

 

입력 할 때 참은 True, 거짓은 False 를 입력해야 하며

‘True’ 나 ‘False’ 처럼 따옴표를 사용하면 안 됩니다

따옴표를 입력하면 불이 아니라 문자열 데이터로 인식을 하게 됩니다

또한 True 를 true 나 TRUE로 쓰거나 False 를 false 나 FALSE 로 쓸 수 없다

 

In:

print(True)
print(False)

Out:

True
False

불 데이터인 True나 False의 데이터 타입은 type() 함수를 이용해 확인 가능하다

 

In:

type(True)

Out:

bool

불 데이터의 경우 논리 연산만 할 수 있다

논리 연산에는 논리곱(and) , 논리합(or), 논리 부정(not) 등이 있다

 

 

 

논리 연산 ( and , or , not ) 의 예는 다음과 같습니다

In:

print(True and False)
print(True or False)
print(not True)

Out:

False
True
False

 

비교 연산자

 

In:

5 == 3
5 != 3
5 < 3
5 > 3
5 <= 3
5 >= 3

Out:

False
True
False
True
False
True

비교 연산의 결과는 불 데이터 형식으로 나온다

 

마지막으로 비교 연산과 논리 연산을 혼합한 연산을 해보자

1 > 0 and -2 < 0

True

'Data_engineering > Python' 카테고리의 다른 글

[Python] zip()  (0) 2023.02.26
[Python] 리스트_튜플_세트_딕셔너리  (0) 2023.02.26
[Python] 변수와 문자열  (0) 2023.02.26

댓글