[1일차] 파이썬 계산

2022. 12. 19. 23:18데이터 엔지니어링 과정/python

목차
1. 간단한 사칙연산
2. 거듭제곱과 나머지
3. 과학적 표기법
4. 지수 표현과 변화
5. 논리 연산 및 비교 연산

1. 간단한 사칙 연산

1. 덧셈, 뺄셈, 곱셈, 나눗셈 

  • +, -, *, / 사용

2. 정수와 실수

  • 정수: 자연수와 음수, 그리고 0
  • 실수: 유리수와 무리수

3. 복잡한 연산

  • 연산 규칙: 괄호 > 지수 > 곱셈과 나눗셈 > 덧셈과 뺄셈

4. 타입

type(3)
type(1.2)
  • 변수의 자료형을 알 수 있다.
  • int, float, str, tuple 등으로 나타난다.

 

2. 거듭제곱과 나머지

1. 거듭제곱(지수)

  • 거듭제곱 연산자 = **
2 * 2 * 2 * 2 * 2
2 ** 5

⬆둘은 생긴 건 다르지만 결국 같은 결과를 가져옴!

1.5 ** 2
2 ** (1/2)
  • 실수에도 거듭제공이 가능하다. (code 1)
  • 지수가 정수가 아니더라도 가능하다. (code 2) 
    • **(1/2)는 루트를 의미한다.

2. 나머지와 몫

  • %는 나머지
  • //는 몫

 

3. 과학적 표기법

3 * 10 ** 8
  • 10의 거듭제곱은 en 형식으로 편하게 입력이 가능하다.
    • 즉, 위의 코드를 3e8로 입력해도 같은 결과를 도출한다.
    • ❗주의❗ 항상 숫자가 앞에 있어야 함 e8 (x)
1e15
1e16
1e-4
1e-5
  • 출력에서도 사용할 수 있다.
    • 1e15와 같은 경우, 자연수로 결과가 도출되지만, 1e16은 숫자가 크기 때문에 1e+16으로 출력된다.
    • 1e-4는 0.0001이지만, 1e-5는 1e-05로 출력된다.

 

4. 지수 표현과 변화

1. 각 10진법, 2진법, 8진법, 16진법 표기 후 10진법 출력

  • 표기방법
    • 2진법: 0b
    • 8진법 : 0o
    • 16진법: 0x
67
0b1000011
0o103
0x43
  • 모두 67을 의미한다.
    • 10진법: 67
    • 2진법: 0b100011
    • 8진법: 0o103
    • 16진법: 0x43

2. 2진법 8진법 16진법으로 출력 (단, 문자열로 출력됨)

bin(17)
oct(17)
hex(17)
  • 같은 17을 입력했지만, 진법이 다르기 때문에 결과도 다르게 출력된다.
    • bin(17) ➡ 10001
    • oct(17) ➡ 21
    • hex(17) ➡ 11

3. 연산 후 변환

0b10 * 0o10 + 0x10 - 10
bin(0b10 * 0o10 + 0x10 - 10)
oct(0b10 * 0o10 + 0x10 - 10)
hex(0b10 * 0o10 + 0x10 - 10)

 

5. 논리 연산 및 비교 연산

1. 불린연산 (Boollean operation)

  • 참과 거짓에 대한 연산
  • True는 참, False는 거짓

2. 논리연산자

  • AND: 모두 참일 때만 참
  • OR: 하나만 참이여도 참
  • NOT: A가 참이면 거짓, 거짓이면 참 (청개구리🐸)

3. 비교연산자

print(5 == 3) #같다.
print(5 != 3) #같지 않다.
print(5 < 3) #보다 작다.
print(5 > 3) #보다 크다.
print(5 <= 3) #같거나 작다.
print(5 >= 3) #크거나 같다.

4. 비교연산자의 결과

print(1 > 0 and 2 < 0)
  • 불(Bool) 데이터 형식으로 나온다.
    • 상단 코드의 경우 True and Flase이기 때문에, Flase로 나온다.

5. 비교연산

  • 괄호와 연산이 같이 있으면 괄호가 우선이다.
print((3 < 0) and ((-5 > 0) and (1 > 5)))
print((3 > 0) or ((-5 > 0 ) and (1 > 5)))
print(((3 > 0) or (-5 > 0)) and ((4 > 8) or (3 < 0)))
  • 상단 코드 풀이
    • (3 < 0) and ((-5 > 0) and (1 > 5))
      ➡ (3 < 0) and (False and False)
      ➡ (3 < 0) and False
      False and False
      False
    • (3 > 0) or ((-5 > 0 ) and (1 > 5))
      ➡ (3 > 0) or (False and False)
      ➡ (3 > 0) or False 
      True or False 
      True
    • ((3 > 0) or (-5 > 0)) and ((4 > 8) or (3 < 0))
      ➡ (True or False) and ((4 > 8) or (3 < 0))
      True and ((4 > 8) or (3 < 0))
      ➡ True and (False or False)
      ➡ True and False
      False

'데이터 엔지니어링 과정 > python' 카테고리의 다른 글

[6일차] 객체와 클래스  (0) 2022.12.27
[5일차] 함수  (0) 2022.12.26
[4일차] 입력과 출력  (2) 2022.12.22
[3일차] 제어문 (if_for_while)  (0) 2022.12.21
[2일차] 변수와 자료형  (0) 2022.12.20