TIL Day 8-1 Python 연산자

polaris·2024년 9월 30일

TIL

목록 보기
11/43

Python 개념

interpretor

  • compile 방식과 다르게 코드를 한줄씩 해석하여 전달
  • 즉각적인 실행 가능, 수정이 쉬움
    -> 속도가 느림
    -> error가 있어도 발생지점 전까지는 실행됨

고수준 언어, 추상화

  • 인간이 이해하기 쉬운 방식

IDE == 통합개발 환경

  • VSCode : 마이크로소프트의 무료 코드 편집기, 확장성, 다양한 언어 지원, 통합 터미널
    https://code.visualstudio.com

  • Pycharm : JetBrain의 Python 전용 IDE 커뮤니티 에디션 무료 사용, 강력한 디버깅 도구, 자동화된 코드 분석, 통합된 테스트 도구
    https://www.jetbrains.com/pycharm/

  • Jupyter Notebook :데이터 과학, 머신러닝,
    -인터렉티브 환경(코드, 설명, 시각화), 셀 기반 실행(셀단위 코드실행, 결과 확인), Markdown(코드와 설명 작성) 지원
    https://www.anaconda.com/download

Jupyther Notebook 코드와 결과를 직관적으로 보여주기 때문에 학습에 적합함
결과 확인 - shift+enter
변수의 이름만 입력하면 출력

이름짓기

  • 변수(variable) 이름에 함수이름은 피한다
  • 의미를 명확히

메모리

  • 변수는 메모리 내부에 저장됨
  • 전역변수 : 프로그램 전체에서 접근 가능
  • 지역변수 : 특정 영역에서만 접근 가능

연산자

  • % : 나머지 , // : 몫
  • 논리를 구성할 때 자주 활용
a = 10
a % 3 # a를 3으로 나눈 후 나머지
# 1
  • == : 같음 != : 다름

복합대입연산자

  • = 할당 ex) a += b = a= a+b # +, -, /, *, ** 동일
a %=b = a를 b로 나누고 나머지를 a에 할당
a //= b = a를 b로 나누고 몫을 a에 할당

비트연산자 : 이진수로 변경 후 연산

a = 5  # 이진수로 101
b = 3  # 이진수로 011

print(a & b)  # 1 (이진수 001) # and
print(a | b)  # 7 (이진수 111) # or 
print(a ^ b)  # 6 (이진수 110) # xor
# xor - 베타적 논리합: 둘 중 한 개만 참인 경우 판단
print(~a)     # -6 (이진수 보수) # not 
  • 보수 : 보충하는 수 ex) 10진수 4의 10의 보수는 6
  • 이진수의 보수 1의 보수, 2의 보수
  • 1의 보수 숫자의 합을 2의 제곱수 -1로, 각 자리 -1 = 비트 반전
  • 2의 보수 숫자의 합을 2의 제곱수로 1의 보수 + 1
  • 양수 이진수에는 0, 음수 이진수에는 1이 데이터 왼쪽 끝에 적용
a=5 # 이진수 0101
~a # not 연산 
# 0101 반전 1010 으로 데이터에 저장
# 결과를 출력할 때는 역산으로 출력
# 2의 보수 역산 : -1 후에 비트 반전
# 음수 010 에서 -1 = 음수 001 
# 비트 반전 음수 110 = -6

# 공식은 -(x+1)

데이터 타입

  • 문자형 ",' 을 문자열 안에 사용할 때
  • "I'm" 과 같이 감싸는 것을 구분한다

0개의 댓글