Skip to content

Data Type

변수: 기호 =를 사용하여 만든 것.

a=1에서 a가 변수임.

Function: 독립적으로 사용.

Method: 클래스 내부의 함수.

ex. sum() vs. a.upper()

type(): 자료형 확인


  • Numbers(숫자형)

  • Arithmetic Operators(산술 연산자)

    a ** b = a의 b 제곱

    a % b = a를 b로 나누고 나머지 반환.

    a // b = a를 b로 나누고 몫 반환.

  • Functions(숫자형 관련 함수)

    int(): 객체를 정수로 반환.

    float(): 객체를 실수로 반환.


  • String(문자열)

  • 문자열 만들기

    'a': 한 줄 내에 들어갈 문자열.

    "a": 한 줄 내에 들어갈 문자열.

    '''a''': 여러 줄에 걸친 문자열.

    """a""": 여러 줄에 걸친 문자열.

    str(a[2]): 문자열로 변경.

  • Escape code: 미리 정의해 둔 "문자 조합"

    \n: 줄 바꾸기

    \t: 탭

    \\: 문자 \

    \': 문자 '

    r'': 문자열 전체에 대해 이스케이프 코드를 처리하지 않음.

  • Indexing과 Slicing

    Indexing: "가리킨다"라는 뜻.

    Slicing: "잘라낸다"라는 뜻.

    형식: a[1:-1]

    immutable: 문자열의 요소값은 바꿀 수 있는 값이 아니다. 즉, a[1]만을 변경하는 것은 불가능.

  • Formatting

    예시1: "I eat %d apples" % 3 ⇒ 'I eat 3 apples'

    예시2: "I ate %d apples. so I was sick for %s days." % (number, day)

    %s: 문자열(어떤 형태든 문자열로 바꿈)

    %d: 정수

    %f: 실수

    %%: 문자 %

    %10s: 전체 길이가 10개인 문자열 공간에서 오른쪽 정렬, 앞의 나머지는 공백.

    %-10s: 전체 길이가 10개인 문자열 공간에서 왼쪽 정렬, 뒤의 나머지는 공백.

    %0.4f: 소수점 네 번째 자리까지 표시.

    %10.4f: 소수점 네 번째 자리까지 표시. 전체 길이가 10개인 문자열 공간에서 오른쪽 정렬, 앞의 나머지는 공백.

    • format()

    "{0}과 {1}".format(x, y): 0번에 x, 1번에 y를 각각 넣어주기.

    • f 문자열 포매팅: Python 3.6부터 가능.

    f'나의 이름은 {name}이고, 나이는 내년에 {age+1}이다.'

    딕셔너리의 d['key'] 등도 들어갈 수 있음.

    f'{"hi":<10}': 전체 길이가 10개인 문자열 공간에서 왼쪽 정렬, 뒤의 나머지는 공백.

    :=^는 가운데 정렬하고, 나머지는 '=' 문자로 공백 채우기.

  • String Methods(문자열 메서드)

    str(): 객체를 문자열로 변환.

    len(a): 문자열의 길이 반환.

    .count('a'): 문자열 중 문자 a의 개수 반환.

    .find('a'): 문자열 중 문자 a가 처음 나온 위치를 반환, 존재하지 않는다면 -1을 반환.

    .index('a'): 문자열 중 문자 a가 처음 나온 위치를 반환, 존재하지 않는다면 오류 발생.

    ",".join('abcd'): abcd 문자열 각각 사이에 ','를 삽입.

    리스트나 튜플에도 입력 가능.

    .upper() & .lower() & .swapcase(): 대문자, 소문자, 혹은 서로 변경.

    .strip() & .lstrip() & .rstrip(): 문자열의 양옆, 왼쪽, 오른쪽의 한 칸 이상 연속된 공백을 모두 삭제.

    .replace('a', 'b'): a라는 문자를 b로 변경.

    .split(): 값을 기준으로, 값이 없으면 공백을 기준으로 문자열을 나누어 리스트로 변환.

    .isalpha() & .isnumeric() & .isalnum(): 문자열이 알파벳, 숫자, 그 둘로만 구성되어 있는지 검사.

    .startswith(): 문자열이 특정 문자로 시작하는지 판단.


  • List(리스트)

  • Indexing과 Slicing

    a[0]: 리스트 a의 0자리 요솟값 불러오기.

    a[-1][1]: 리스트 a의 마지막 요솟값인 리스트의 1자리 요솟값 불러오기.

  • 리스트의 연산

    문자열과 마찬가지로 더하고 곱하기가 가능.

    단, 숫자형과 문자열을 더할 수는 없기에 자료 형태를 str() 함수 등을 통해 자료형을 일치 시켜줘야 함.

  • List Methods(리스트 메서드)

    list(): 객체를 리스트로 변환.

    del 객체: 모든 자료형을 삭제

    del a[1] 등등.

    .append(값): (값)을 리스트 마지막에 추가.

    .sort(): 리스트 요소를 순서대로 정렬.

    .sort(reverse=True): 리스트 요소를 역순으로 정렬.

    .reverse(): 현재 리스트를 뒤집음.

    .index(값): (값)의 위치 값을 반환.

    .insert(a, b): a번째 자리에 b를 삽입.

    .remove(값): 가장 앞자리의 (값)을 제거.

    .pop(): 리스트 마지막 요소를 반환. 혹은 x번째 요소를 반환. 그 요소는 삭제.

    .count(값): 리스트 안의 (값) 개수를 반환.

    .extend([값]): 기존 리스트에 ([값]) 리스트를 뒤에 추가.


  • Tuple(튜플)

  • 리스트와 유사하지만 튜플은 ()로 둘러싸고, 항목 값의 생성, 삭제, 수정이 불가능하다.

  • 1개의 요소만을 가질 때는 뒤에 (1,)처럼 콤마를 붙여야 한다.
  • 변화시킬 수 없다는 점만 제외하면 리스트와 동일하므로 인덱싱과 슬라이싱, 더하고 곱하기, 길이 구하기 등은 가능하다.

zip(): 순회 가능한 객체를 인자로 받고, 각 객체가 담고 있는 원소를 튜플의 형태로, 차례로 접근할 수 있는 반복자를 반환.

list나 dict로 만들면 유용.


  • Dictionary(딕셔너리)

  • Ditionary 특징

    1. 기본 형태는 {Key1:Value1, Key2:Value2}
    2. Key에는 변하지 않는 값을, Value에는 변하는 값과 변하지 않는 값 모두 사용 가능. Key에는 리스트 자료형을 사용할 수 없다.
    3. 리스트와 튜플, 문자열과 다르게 인덱싱과 슬라이싱은 불가능 하고, Key를 통해 Value를 구하는 방법만이 있다.
    4. Key가 중복되면 1개를 제외한 나머지 해당 Key 쌍이 무시된다.
  • Ditionary 쌍 추가 및 삭제

    a[Key] = Value: 딕셔너리 a에 {Key:Value}를 추가.

    del a[1]: 딕셔너리 a의 1이라는 Key를 가진 쌍 삭제.

  • Value 얻기

    Dictionary[Key]: 딕셔너리의 Key에 해당하는 Value를 반환.

  • Dictionary Methods(딕셔너리 메서드)

    .keys(): 딕셔너리의 Key만을 모아서 dict_keys 객체를 돌려줌.

    .values(): 딕셔너리의 Value만을 모아서 dict_values 객체를 돌려줌.

    .items(): Key와 Value의 쌍을 튜플로 묶은 값을 dict_items 객체로 돌려줌.

    list() 함수를 이용하면 리스트로 반환 가능.

    .clear(): 딕셔너리 안의 모든 요소 삭제. {} 반환.

    .get(Key): Key에 대응되는 Value를 반환.

    Key가 없으면 a[Key]는 오류를 발생, a.get(Key) 함수는 None을 반환.

    .get(Key, x): 딕셔너리 안에 Key가 없으면 x라는 미리 정해 둔 디폴트 값을 대신 가져옴.

    .pop(Key): Key에 대응되는 Value를 반환하고 딕셔너리에서 삭제.

    .pop(Key, x): 딕셔너리 안에 Key가 없으면 x라는 미리 정해 둔 디폴트 값을 대신 가져옴

    Key **in** Dictionay: 딕셔너리 안에 Key가 있으면 True, 없으면 False 반환.


  • Set(집합)

  • 집합 자료형 특징

    set("Hello") = {'e', 'h', 'l', 'o'}

    set([1, 2, 3]) = {1, 2, 3}

    1. 집합 자료형은 set 키워드를 사용해 만들 수 있다.
    2. 중복을 허용하지 않고, 순서가 없다.
    3. 리스트와 문자열이 들어간다.
  • 교집합, 합집합, 차집합

    s1 & s2: 집합 s1과 s2의 교집합.

    s1.intersection(s2): 집합 s1과 s2의 교집합.

    s1 | s2: 집합 s1과 s2의 합집합.

    s1.union(s2): 집합 s1과 s2의 합집합.

    s1 - s2: 집합 s1에서 s2를 뺀 차집합.

    s1.difference(s2): 집합 s1에서 s2를 뺀 차집합.

  • Set Methods(집합 메서드)

    .add(4): 1개의 값을 추가.

    .update([4, 5]): 여러 개의 값을 추가.

    .remove(2): 특정 값을 제거.


  • Boolean(불)

bool(): 자료형의 참과 거짓 식별

  • True

    참, 1

    1 == 1, 2 > 1

    값이 있는 자료형: "python", [1, 2, 3], {'a':1}

  • False

    거짓, 0

    1 == 2, 2< 1

    비어있는 자료형: "", [], {}

    None