개발새발개발

파이썬 기초(연산자, 진수, 변수, 데이터 타입, 시퀀스 타입, 스타일 가이드) 본문

개발새발개발

파이썬 기초(연산자, 진수, 변수, 데이터 타입, 시퀀스 타입, 스타일 가이드)

birdsfoot 2024. 7. 18. 20:11

프로그래밍


  • 프로그래밍의 핵심 & 목적
    새 연산을 정의하고 조합해 유용한 작업을 수행하는 것
    "문제를 해결"하는 강력한 방법
  • git bash 나가는 법 : exit()
  • val1 = 10의 의미 : 어딘가에 저장된 상수 10을 가르키는 값이 저장됨(10으로 가는 길을 저장)

 

연산자 & 진수&지수


  • 연산자 우선순위
    ** → -(음수부호)  →*,/,//,% → +,-
    ex1) -2 ** 4 = -16              #**(지수)가 더 높기 때문에 2**4 먼저 계산된 뒤 다음 우선순위인 -가 작용함
    ex2) -(2**4) = -16
    ex3) (-2)**4 = 16
  • 진수 표현
    2진수 : 0b
    8진수 : 0o
    16진수 : 0x10
  • 지수 표현
    314e-2 : 3.14

 

변수


  • 변수 : 값을 저장하기 위한 이름
  • 변수 할당 : 표현식을 통해 변수에 값을 저장
    할당 : grade = 36.5
    재할당 : grade = 'abc'
  • 변수명 규칙
    - 영문 알파벳, 언더스코어(_), 숫자로 구성
    - 숫자로 시작할 수 없음
    - 대소문자 구분
    - 기존에 사용중인 것은 사용 불가
     : False, None, True, __peg_parser__, and, as, assert, async, await, break, class, continue, def, del, elif, if, else,   
       except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield

 

Data Types


  • 값의 종류에 따라 적용 가능한 연산과 동작이 다르다
  • 실수 연산시 주의사항(부동소수점 에러)
    - 정확한 0.1이 아닌 근사값을 표시한 것
    - 정확히 동일하지 않기 때문에 예상치 못한 결과가 나타날 수 있음
    ex) 오류 상황
    a = 4.5 - 2.4
    b = 3.3 - 1.2
    a == b  #False
    ex) 오류 해결
    from decimal import Decimal
    a = Decimal('4.5') - Decimal ('2.4')
    b = Decimal('3.3') - Decimal('1.2')
    a == b #True
  • 지수 표현 : 3.14
    number = 314e-2 (대문자, 소문자 상관 없음)

 

Sequence Type


  • 여러 개의 값들을 순서대로 나열하여 저장하는 자료형 
  • str, list, tuple, range
  • 특징
    1) 순서(Sequence)대로 저장( ≠ 정렬)
    2) 인덱싱(Indexing) : 각 값에 고유한 인덱스 번호가 있음
    3) 슬라이싱(Slicing) : 부분적인 값 추출 가능
    4) 길이(Length) : 값의 개수를 구할 수 있음
    5) 반복(lteration) : 저장된 값을 반복적으로 처리할 수 있음
  • str (string)
    - 문자들의 순서가 있는 변경 불가능한 시퀀스 자료형
  • Escape Sequence
    - 역슬래시(backslash, \) 뒤에 특수 문자가 와서 특수 기능을 수행하는 것 ex)\n, \'
  • String Interpolation ★ ★ ★
    - 문자열 내에 변수나 표현식을 삽입하는 방법
    - 문자열에 f or F 접두어를 붙이고 표현식을 {}로 작성하는 것 (=f-string 표기법)
    - 문자열에 파이썬 표현식의 값을 삽입 가능
    ex)
    bugs = 'roaches'
    counts = 13
    area = 'living room'

    print(f'abcd {bugs} {counts} {area}')
    #abcd roaches 13 living room

  • Slicing 
    my_str[::-1] : 뒤부터 역순으로 출력됨
    str[5:2:-1] : 5이하 2초과가 역순으로 출력됨
  • 불변이기 때문에 `my_str[1] = 'z'` 출력 안됨

 

Style Guide


  • 변수명은 무엇을 위한 변수인지 직관적인 이름을 가져야 함
  • 공백은 4칸으로 통일(권장사항)
  • 길어지면 줄바꿈하기 (한 줄의 길이는 79자로 제한)
  • 문자와 밑줄을 사용하여 함수, 변수, 속성의 이름을 작성 : snake case (_가 뱀같아서)
  • 함수 정의나 클래스 정의 등 블록 사이에는 빈 줄 추가(가독성)

 

주석


  • 프로그램 코드 내 작성되는 설명이나 메모 (실행되지 않음)
  • #  or """ 여러줄 """
  • 블럭 잡고 Ctrl + /

 

참고


  • Python Tutor
  • 구글링
    검색 : 영어로 검색하는게 더 좋음 완벽한 문장일 필요 없음
  • 신뢰할 수 있는 출처 먼저 사용 : 공식문서와 라이브러리 우선, 그 다음에 Stack Overflow, GitHub lssue 등 개발자 커뮤
  • AI에 의존하지 않기!