Post

Python study 1 - 식별자, 자료형, 문자열

Python 식별자, 자료형, 문자열에 대해 학습합니다.


Python에서 사용되는 개념의 일부 혹은 전체를 정리하여 반복학습에 사용합니다.

  • 식별자, 자료형, 문자열에 대해 학습합니다.

식별자(identifier)


식별자 : 기호를 빌려서 값을 표현
ex) π = 3.141592
리터럴 : 값을 직접 표현하는 방식
ex) 10, 20, ‘a’, …

ex2) 원의 둘레(2 π r)

  • 2 : 리터럴
  • π : 식별자
  • r : 식별자

ex3) 운동 법칙 f = ma

  • f : 식별자
  • m : 식별자
  • a : 식별자

프로그래밍상 식별자 규칙

  • 파이썬이 강제하는 규칙 (사용할 경우 오류가 발생됨)
    1. 키워드를 사용하면 안 된다. ex) if = 3.14
    2. 특수문자는 _만 허용한다. ex) $ = 3.14
    3. 숫자로 시작하면 안 된다. ex) 10a = 3.14
    4. 공백을 포함할 수 없다. ex) a b c = 3.14
  • 개발자들끼리 약속한 규칙
    1. 최대한 알파벳을 사용할 것
    2. 의미 없는 단어보다는 의미 있는 단어를 사용할 것
    3. 스네이크케이스(_)와 캐멀케이스(각 단어의 앞글자를 대문자로)를 사용할 것
      • ex) send_to_user, SendToUser

식별자의 구분

식별자괄호여부구분
캐멀 케이스 (대문자로 시작) 클래스
스네이크 케이스 (소문자로 시작)뒤에 괄호가 있다함수
 뒤에 괄호가 없다변수

ex) 식별자 구분 예시

  • print() → 함수
  • list() → 함수
  • soup.select() → 함수
  • math.pi → 변수
  • math.e → 변수
  • class Animal: → 클래스
  • BeautifulSoup() → 클래스


자료형


  • 자료형 확인 : type()함수 사용
    • type(“문자열”) is str → 문자열인지 True/False 반환
    • type([]) is list → 리스트인지 True/False 반환
    • type({}) is dict → 딕셔너리인지 True/False 반환
  • 기본자료형
    • 문자열(str) String
      “안녕하세요”
      “Hello World”
    • 숫자
      • 정수(int) Interger
        10 20
      • 실수(float) Floating Point = 부동소수점 354.63
    • 불(bool) Boolean True 참 False 거짓
  • 복합자료형 : 기본자료형이 복합적으로 섞여 있는 형태


문자열


  • 문자열 만들기
    “안녕하세요” or ‘안녕하세요’

  • 문자열 속에 문자열을 만들때
    1. 다른 따옴표 사용하기 ‘ “안녕하세요” ‘ or “ ‘안녕하세요’ “
    2. 이스케이프 문자 \ 사용하기
      \“안녕하세요\” “
      • 이스케이프 문자 종류
        • \n : 줄바꿈
        • \t : 탭효과
        • \\ : 역슬래시 출력
  • 여러줄 문자열 """ """ : 이스케이프 문자 없이 줄바꿈, 탭효과 등 사용 가능
    1
    2
    3
    4
    
     print("""이렇게 만들면
     줄바꿈 이스케이프를 사용하지 않아도
     자동으로 줄바꿈이 되고
         탭도 됩니다.""")
    
    • 여러줄 문자열에서 역슬래시 \를 줄 마지막에 입력하면 줄바꿈 해당줄은 줄바꿈이 되지 않습니다.
      1
      2
      3
      4
      5
      6
      
      print("""\
      이렇게 만들면
      줄바꿈 이스케이프를 사용하지 않아도
      자동으로 줄바꿈이 되고
          탭도 됩니다.\
      """)
      

문자열 연산자

  • 문자열 연결 연산자 문자열 + 문자열 “abc” + “abc” → “abcabc”
  • 문자열 반복 연산자 숫자 * 문자열 3 * “abc” → “abcabcabc”
    문자열 * 숫자 “abc” * 3 → “abcabcabc”
  • 문자 선택 연산자 : 문자열에서 특정한 위치의 문자를 0번째부터 시작하여 선택해 추출 ex) “안녕하세요”
    [0]번째 : 안
    [1]번째 : 녕
    [2]번째 : 하
    [3]번째 : 세
    [4]번째 : 요

    [-1]번째 : 요
    [-2]번째 : 세
    [-3]번째 : 하
    [-4]번째 : 녕
    [-5]번째 : 안

    • 인덱싱 : 문자열[숫자]
      “abcde”[0] → “a”
      “abcde”[-2] → “d”
    • 슬라이싱 : 문자열[숫자A:숫자B] : 숫자A번째부터 숫자B-1번째까지 선택
      “안녕하세요”[0:3] → “안녕하”
      [0]~[3-1 = 2]까지 선택
      “안녕하세요”[:3] : 처음부터 3-1 = 2번째까지 선택 → “안녕하”
      “안녕하세요”[3:] : 3번째부터 마지막까지 선택 → “세요”
    • 중간 점검
      1. print(“안녕하세요[0]”)
      2. print(“안녕하세요[2]”)
      3. print(“안녕하세요[4]”)
      4. print(“안녕하세요[-1]”)

      5. print(“안녕하세요[0:1]”)
      6. print(“안녕하세요[0:2]”)
      7. print(“안녕하세요[2:3]”)

      8. print(“안녕하세요[2:]”)
      9. print(“안녕하세요[:]”)
      정답 1. "안" 2. "하" 3. "요" 4. "요" 5. "안" 6. "안녕" 7. "하" 8. "하세요" 9. "안녕하세요"
    • 슬라이싱 : 문자열[숫자A:숫자B:스탭] : 숫자A번째부터 숫자B-1번째까지 스탭단위로 선택 “0123456789”[::4] = 처음부터 마지막까지 4칸씩 선택 → 048
      “안녕하세요”[1:4:2] = 1번째부터 4-1 = 3번째까지 2칸씩 선택 → “녕세”
      “0123456789”[::-1] = 처음부터 마지막까지 뒤집어서 출력 → “9876543210”

      스탭에서 -1을 사용할경우 뒤집어서 출력합니다. 자주사용하는 표현이기에 기억해주세요.

  • 용어 정리
    • 인덱스 : 위치를 나타내는 숫자, 인덱스는 0번째부터 시작한다.
    • 문자열[인덱스] : 인덱싱이라고 표현함
    • 문자열[인덱스:인덱스] 와 문자열[인덱스:인덱스:스탭] : 슬라이싱이라고 표현함


IndexError 예외

  • 인덱싱에서 print(“안녕하세요”[100]) 코드를 실행할 경우, 인덱스 범위가 넘어가 IndexError가 발생합니다.
  • 슬라이싱에서 print(“안녕하세요”[1:100]) 코드를 실행할 경우,
    인덱스 범위가 넘어가 오류가 발생해야하지만 "녕하세요"를 출력합니다.
    이는 Python에서는 슬라이싱을 사용할 때 IndexError가 발생하지 않게 설계되었기 때문입니다.
    비록 이런 시스템 오류방지 기능이 있더라도, 상기와같은 정상적이지 않은 코드는 지양하도록 합시다.

문자열의 길이

  • 문자열의 길이는 len함수를 사용하여 확인합니다.
    1
    
     len("안녕하세요")
    


This post is licensed under CC BY 4.0 by the author.