Skip to content

Latest commit

 

History

History
63 lines (49 loc) · 1.75 KB

스터디_내용.md

File metadata and controls

63 lines (49 loc) · 1.75 KB

3주차 스터디 내용

  • string

    • formatting 에는 3가지 방식이 존재
    • string 여러개를 이어 붙이는 동작은 자주 사용되는 동작
      • 그러나 아래와 같은 동작은 "메모리 카피" 가 지속적으로 되기 때문에 성능이 느려진다.
      while:
          ans = ans + new
      • 메모리 카피 를 하지 않도록 아래와 같이 join() 을 사용 할 수 있다.
      tmp = []
      while:
          tmp.append(new)
      ans = ''.join(tmp)
  • difflib

  • unicodedata

  • re

    • re 는 왜 사용할까
      • 문자열을 찾는데 쓰는 것
      • 잘 모르는 데이터에서 패턴에 맞는 문자열을 찾기 위해서 사용한다
    • 기호 체계
      • 이산수학 : a-z, A-Z, 0-9
      • python 특수: \w=글자, \d=숫자, \s=공백, ...
    • greedy
    • group
  • stringprep

  • 2진수 / 16진수

  • unicode

    • 인코딩 방식이 아니고, 모든 문자를 2 bytes 숫자로 매핑 시키는 방식
  • encoding

    • unicode 를 표현하는 방식
    • ASCII
      • 7bits 사용 (128개)
    • ANSI
      • 8bits 로 구성 (256개)
    • UTF-8
      • unicode 를 위한 가변 길이 문자 인코딩방식 (한글=3bytes, 영어=1byte)
      • ANSI 의 단점 보완
  • performance coding

    • linux 시스템 콜을 부르는거는 비용이 매우 비싸다

      • write/read 같은 리눅스 명령어를 불러서 쓴다.
      • 초당 1000번 정도 밖에 안된다.
      • file 쓰기, memory 쓰기 (malloc)
    • python interpereter 안에서 돌아가는 명령어 들은 매우 빠르다.

      • a = x + y 같은거
      • 초당 50~100만번 정도 가능하다.
      • python 에는 메모리 라는게 없다