본문 바로가기
IT/Python

[Python] 기초 공부 내용 정리(변수, 자료형, 내장함수)

by dwoi 2023. 3. 20.

본 글은 필자가 공부한 Python에 대해서 간략하게 정리한 내용

 

목차

     


    Python

     


    1.  파이썬의 특징

    1.1. 파이썬의 특징

    스크립트 언어
    코드를 한줄한줄 작성할때마다 실행되는 언어.

    장점 : 코드를 실행가는한 프로그램으로 만들 필요 없음 (컴파일이 필요하지 않음.)
               파이썬만 설치하면 어디든 실행가능
               배우기가 (상대적으로) 쉬움.

    단점 : 한줄한줄 작성할때마다 실행되기때문에 느린 것이 단점.

    Jupyter notebook : 
    Jupyter notebook은 웹 인터페이스를 통해 파이썬 개발을 할 수 있는 툴
    시각화가 잘 되어 있어, 데이터 분석용으로 많이 사용

     

    1.2. 변수의 이해

    데이터를 담는 그릇

    다양한 종류의 데이터를 담을 수 있다

    • 문자열, 숫자, 리스트 등

     

    변수 : 데이터를 담는 그릇 중에 변할 수 있는 값을 담는 그릇 

             이름을 잘 지어야 함

    더보기

    변수명 = 1

    → 할당 연산자를 통해 우항에 있는 걸 넣겠다라고 선언

     

    상수 : 파이썬에서 상수는 존재하지 않음.

    관례 : 대문자로 작성된 변수는 상수처럼 쓰고 싶은 것.

     

    1.3. 변수의 종류

    숫자형 : 정수, 실수

    문자열 : 문자열  ex. 'host'

    리스트 : 다른 자료형의 모음을 다루는 자료형 [1. 'elephant', 2] 

    튜플 : 수정이 불가능한 리스트 (1,2,3)

    딕셔녀리 : 키와 값으로 이루어진 자료형 {'key' : 'value'}

     

    데이터를 담는 순간, 그 변수의 자료형이 정해짐

    자료형에 따라 지원하는 연산, 기능이 다르기 때문에 자료형을 아는 것이 중요.

     

    1.4. 숫자형 변수

    정수, 실수  등과 같은 숫자를 담는 자료형

     

    1.4.1 숫자형 변수 연산

    • 사칙연산 (+ - * /)
    • ** : 제곱
    • // : 몫
    • % : 나머지

     

    1.4.2. 숫자형의 표현 

    • 파이썬에서 제공하든 다른 진수 표현
      • 8진수 표현 : 0o라고 앞에 써주는 것으로 이제 8진수를 나타낼 것이라는 것을 알림. ( ex. 0o100 : 64)
      • 16진수 표현 : 0x라고 앞에 써주는 것으로 이제 16진수를 나타낼것이라는 것을 알림. (ex . 0x100 : 256)
      • 지수 표현 (ex. 12E10 : 120000000000)
      • 복소수 표현 (ex. 1+2j)

     

    2. 문자열 자료형

    2.1. 문자열 자료형

    • 문자열을 담는 자료형
    • 파이썬의 장점 중 하나 → 문자열을 내 맘대로 다루기가 편함.

    표현 방식도 4가지나 존재

    a='python'
    a="python"
    a='''python'''
    a="""python"""

    이렇게 다양하게 방법이 필요한 이유는??

    • 따옴표 : 문자열 안에 ""를 포함 가능
    • 큰따옴표 : 문자열 안에 : ''를 포함 가능
    • ''' ''' : 여러행의 문자열과 "를 포함 가능 
    • """ """: 여러 행의 문자열과 '를 포함 가능

    → 그냥 편한거 써라


    이스케이프 코드 (참고 용도 )

    • \n : 줄바꿈
    • \t : 탭
    • \\ :  문자 그대로의 \
    • \' : 문자 그대로의 '
    • \" : 문자 그대로의 "

     

    → 이스케이프 코드로 여러 줄의 문자열 표현이 가능하지만 개행 구분이 쉽지 않다.

     

    2.2. 문자열 자료형 - 연산

    더하기 (+)  : 문자열 붙이기

    곱하기 (*) : 문자열 반복하기

     

    2.3. 문자열 변수의 생성

    인덱싱과 슬라이싱

    • 인덱싱은 문자열에서 특정 문자를 가리키는 것을 의미 
    • 슬라이싱은 문자열에서 특정 문자열을 가리키는 것을 의미

    인덱싱 코드

    더보기

    a = "python"

    print(a[1])

    print(a[-1])

    → y 출력, n 출력(음수로도 인덱싱 가능.)

     

    슬라이싱 코드

    더보기

    a = "python"

    print(a[0:4])

    → pyth 출력

    다른 파일에서 데이터를 가져왔을 때 슬라이싱하거나 인덱싱하는 것이 요구됨.

    내장함수

    • 내장함수란 파이썬이 기본적으로 제공하는 함수
    • 문자열 내장함수 : 문자열 자료형이 기본적으로 제공하는 함수

    ※ 함수 :

    • 특정 입력 값에 의해 정해진 동작을 수행하고 결과값을 내는 기능
    • 결과를 반환하는 함수와 반환하지 않는 함수로 구분됨.

    ex. 

    더보기

    a = "python"

    c = a.count('p')
    print(c)

    a라는 문자열이 가지고 있는 'p'의 갯수를 세어달라

    >> 1 출력

    2.4. 문자열의 대표적인 내장 함수

    .count() : 특장 문자 수를 반환 

    find() : 특정 문자 위치를 반환 (못 찾으면 -1 값을 반환)

    index() : 특정 문자 위치를 반환 (못 찾으면 error)

    join(): 문자 사이에 입력한 문자를 삽입

    • ex. 데이터 사이에 , 삽입하는 경우 사용함.

     

    upper() : 대문자로 변환한 값 반환

    lower() : 소문자로 변환한 값 반환

    replace() : 문자열을 치환한 결과 반환 :

    • 자주 씀, 필요없는 문자열을 삭제할 때 사용

    split() : 문자열을 나눈 결과를 반환

    • 쪼개진 걸 리스트로 반환.

    strip() : 공백 제거한 값 반환

    isdigit() : 문자열이 숫자로만 이뤄져 있는지 참, 거짓을 반

     


     

    3. 리스트, 튜플, 딕셔너리

    3.1. 리스트 자료형

    • 데이터의 모음을 담기 위한 자료형
    • 데이터의 추가, 삭제, 수정이 자유로움
    • 중복된 데이터도 가능, 넣을 수 있는 데이터의 자료형도 자유!
    • 인덱싱으로 데이터를 다룰 수 있음!

    a=[0, 123, 'python', 0, 1,1]

    ※ 리스트 안의 리스트도 가능함.

    3.1.1. 연산

    더하기 : 리스트 붙기

    곱하기 : 리스트 반복하기

     

    3.1.2. 인덱싱과 슬라이싱

    리스트도 당연히 인덱싱과 슬라이싱 가능

    ※ 인덱싱 시 그 안에 있는 값을 인덱싱하는 거니까 그거의 자료형대로 나타나지만

        슬라이싱 시 리스트의 일부분을 슬라이싱 해오는 거니까 리스트 형태로 반환되는 것을 주의!

     

    3.1.3. 내장함수

    ※ 문자열의 내장함수와는 다르게 리스트에서 값을 변경하는 내장함수를 사용하면 리스트안에 있는 데이터는 바뀜

    즉 a라는 리스트에 append한 경우 a라는 리스트는 더이상 예전의 리스트 그대로가 아니라는 것을 주의

     

    append() : 요소를 뒤에 추가

    sort() : 정렬

    reverse() : 역순

    index() : 입력값의 위치를 반환 (첫번째로 찾은 위치)

    insert('a','b') : 특정 위치에 요소를 추가 → 'a' 문자열 위치에 'b'를 넣는다

    remove() : 입력값을 삭제 (첫번쨰로 찾은 위치)

    pop() : 마지막 요소를 꺼내고 삭제

    count() : 입력값의 개수

     

    3.2. 튜플 자료형

    • 리스트와 유사하지만 수정, 삭제, 추가 불가능 → 읽기만 지원
      • 필요한 이유
        • 성능이 더 좋음(속도가 빠름)
        • 실수 방지 : 변경하면 안되는 값에 대한 보호 가능

    값을 변경하는 함수 제외하고 전부 사용 가능 (연산, 인덱싱, 슬라이싱)

     

    3.3. 딕셔너리

    • 대응관계를 나타낼 수 있는 자료형
      • key값이 있으면 그에 해당하는 'value'가 존재

    슬라이싱은 지원하지 않고 인덱싱만 가능

    인덱싱은 key로 가능

     

    3.3.1. 내장함수

    keys() : key들을 반환

    values() : value들을 반환

    items() : key,value 쌍을 반환

    get() : key에 대한 값을 반환

     


     

    마무리

    변수나 자료형에 대한 개념에 대해서는 꾸준히 넣어둬서 어렵진 않았지만

    기본적으로 익혀야 되는 내장함수를 계속 머리 속으로 점검해야 하는 필요성

    사이트에 돌아다니는 여러 예제들을 통해 점검해볼 예정.

     

     

    댓글