ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 자료형 - 문자열
    NAN/Python 2021. 5. 22. 00:48
    728x90

     

     

    파이썬 자료형의 종류

     

    • 숫자 자료형
    • 문자열 자료형
    • 리스트 
    • 튜플
    • 딕셔너리
    • 집합 

     

     

    프로그래밍에서 자료형이란 크게 두 가지로 나뉜다.

     

     

    • 문자열 자료형 (string)
    • 숫자 자료형 (int, float)

     

     

    우리는 앞으로 파이썬을 통해 프로그래밍을 할 때 변수 값에 위와 같은 자료형을 삽입하게 되는데

     

    이는 컴퓨터가 데이터를 보관할 때 보다 효율적으로 보관하기 위해 나누어진 커다란 박스라고 생각하면 된다.

     

    물론 앞으로 포스팅 하게 될 글에서 문자열 자료형과 숫자 자료형이 가지고 있는 특성과 함께 쓰이는 함수들을 

     

    함께 알아보게 될텐데 오늘 알아볼 주제는 자료형 중에서 문자열 자료형(str)이 되겠다.

     

    프로그래밍에서 쓰이는 문자란 우리가 일상에서도 흔히 사용하는 한국어를 표기한 것 혹은 영문자 아니면

     

    각 나라에서 사용되는 언어가 될 수 있는데 이를 보다 효율적으로 사용 할 수 있는 방법을 공부해보자

     

    먼저 프로그래밍에서 문자를 변수에 할당 할 때에는 아래와 같이 표기해야 한다.

     

     

    a = "대한민국 만세"
    
    i = '대한민국 만세'
    
    print(a)
    print(i)
    
    대한민국 만세
    대한민국 만세

     

    이처럼 문자열을 표기할 때에는 큰 따옴표 " ", 혹은 작은따옴표 ' ' 를 사용하여 문자를 닫아줘야 바르게 표기가 된다.

     

     

    b = 'python' * 3
    
    print(b)
    
    pythonpythonpython

     

     

    문자열에는 곱셈이 가능하고 추가로 덧셈 역시 가능하다.

     

     

     

    문자와 문자 덧셈

     

     

    첨부한 사진에 변수 b의 값을 살펴보자 작은 따옴표 안에 공백을 추가하였는데

     

    출력될 때에도 공백이 출력되는 것을 확인할 수 있다. 

     

    추가로 연속 따옴표라 하여 따옴표가 세 개 연달아 열고 다는 형태의 문자열이 존재한다.

     

     

    연속 따옴표 사용 예시

     

     

     

    연속 따옴표를 사용하여 문자열을 출력하면 예시와 같이 enter를 통해 줄 바꿈을 한 곳마다

     

    문자가 나뉘어 출력되는 것을 확인할 수 있다. 만약 우리가 긴 문자를 출력해야 하는 경우가 생긴다면

     

    가로로 길게 출력되는 문자열보다 이처럼 문장이 나뉜 글이 한눈에 잘 들어올 것이다. 

     

    다른 방법으로는  \n을 사용하는 건데 한국어 자판으로 표기하면 '\n'의 형태가 된다.  -- 역슬러쉬는 '₩' 로 대체된다.

     

     

     

    예시

     

     

     

    문장이 짧다면 큰 문제가 되지 않겠지만 예시와 같이 문자의 길이가 길어지면 길어질수록 나눠야 할 구역을 지정하려면

     

    머리가 어지러워질 수 있기 때문에 이런 방법이 있다는 것만 알고 있으면 좋을 거 같다.

     

    이와 같이  '\'를 이용하여 문자열 값 출력에 변동을 주는 문자를 '이스케이프 문자'라고 부릅니다,

     

    이스케이프 문자열에는 아래 표기와 같은 것들이 존재하니 필요에 따라 잘 조합하여 사용하면 

     

    보다 깔끔한 코드를 만들 수 있겠습니다.

     

     

    • 줄 바꿈  \n 
    • 문자 사이에 탭  \t
    • 출력되는 문자열에 큰 따옴표를 추가 \"
    • 출력되는 문자열에 작은따옴표를 추가 \'
    • 여러 줄 문자열의 공백을 없애주는 """\ 문자  \"""
    • 역 슬레쉬를 의미하는 문자

     

    ※ 곱하기를 제외한 나머지 기본 연산은 같은 type의 data끼리만 사용 할 수 있습니다.
       
    "문자열" + "문자열"
     7  +  4
    "문자열" * 3
    3 * "문자열"

    이를 지키지 않을시 TypeError와 같은 에러 문구를 접하게 됍니다.

     


     

    인덱싱 [ indexing ]

     

    파이썬에서는 생성된 문자열 데이터에 자동으로 넘버가 지정됩니다.

     

    지정된 각 숫자들을 인덱스 [index]라고 하는데 이렇게 번호를 지정하는걸 [indexing]이라 표기합니다.

     

    여기서 프로그래밍을 처음 접하는 이들은 보통 첫 글자부터 하나, 둘, 셋 이런 식으로 카운팅을 할 텐데

     

    프로그래밍에서의 첫 글자는 항상 ' 0 '부터 카운팅 된다는 걸 명심하길 바랍니다.

     

     

    a = "맛있는 치킨!"
        0 1 2 3 4 5 6

     

     

    예를 들어 a라는 변수에 "맛있는 치킨!"이라는 문자열이 들어갔다면 공백과 특수문자를 포함한

     

    0부터 6번까지의 인덱스가 생성이 됩니다.

     

    위와 같은 문자열에서 특정 문자열만 출력하고 싶다면 어떻게 해야 할까요?

     

     

    a = "맛있는 치킨!"
    
    print(a[0])
    
    맛

    이처럼 변수명을 적고 출력하고자 하는 문자의 순서를 대괄호 [  ]로 묶어 출력해주면 

     

    원하는 문자만 출력되는 모습을 확인할 수 있었습니다.

     

    추가적인 기능 슬라이싱 [ slicing ] 

     

    인덱싱을 사용하면 문자열에서 특정 문자를 출력할 수 있었는데

     

    만약 여러 가지 문자를 출력하고 싶다면 어떻게 하면 좋을까요?

     

    이럴 때 사용하는 게 슬라이싱 기능입니다. 다시 한번 "맛있는 치킨!"으로 예를 들어보겠습니다.

     

     

    a = "맛있는 치킨!"
    
    b = a[0:4]
    
    print(b)
    
    맛있는

     

     

    이처럼 한 번에 세 가지의 문자가 출력되는 걸 볼 수 있었습니다. 

     

    한 가지 특이점은 슬라이싱의 경우  ~이상 ~ 미만이라는 점이 도드라집니다.

     

    변수 b는 변수 a의 0번째 문자부터 시작해 4번째인 '치'까지 출력하지 않고 3번째 공백까지만 포함한 것을 보면 

     

    이러한 특징을 좀 더 잘 이해할 수 있습니다. 

     

    a [0:4]  == 0 이상 4 미만의 문자를 출력한다!

     

     


    문자열과 함께 사용되는 내장 함수

     

    내장 함수란 파이썬 자체에 지정되어 있는 print( )와 같은 함수를 말합니다.

     

    함수 옆 소괄호는 매개변수에 해당하는데 안에 값을 넣어주면 미리 지정된 기능을 수행한다고 이해하면 되겠습니다.

     

    print( )의 경우 print(매개변수)를 입력하게 되면 값에 해당하는 게 문법에 오류가 없다면 출력이 되듯이

     

    지정된 행동을 수행하는 게 함수입니다. 우리는 이 지정된 행동을 수행하는 것을 보고 값을 '반환한다'라고 표현합니다.

     

     

     

    • 문자열의 길이를 반환하는 len( )
    a = "맛있는 치킨!"
    
    print(len(a))
    
    6

     

     

    • 문자열을 순회하여 처음 만난 특정 문자열의 인덱스를 찾아 반환하는 find( )
    i = '가나다라마가나다라마'
    
    print(i.find('가'))
    print(i.find('사'))
    
    0
    -1
    

     

    • 문자열을 순회하여 처음 만난 특정 문자열의 인덱스를 찾아 반환하는 index( )
    i = '가나다라마가나다라마'
    
    print(i.index('가'))
    
    0

     

    • 특정 문자열이 몇 번 포함되었는지 반환하는 count( )
    i = '가나다라마가나다라마'
    
    print(i.count('가'))
    
    2

     

    • 문자열을 대, 소문자로 반환하는 upper( ), lower( )
    a = "Hello World"
    
    print(a.upper())
    print(a.lower())
    
    HELLO WORLD
    hello world
    

     

    • 문자 사이사이에 새로운 문자열을 반복적으로 넣는 join( )
    a = ";".join("맛있는 치킨!")
    
    print(a)
    
    맛;있;는; ;치;킨;!

     

    • 공백(스페이스, 텝, 엔터)을 기준으로 문자열을 반환하는 split( )
    a = "치킨은 너무 맛있어!"
    
    i_a = a.split()
    
    print(i_a)
    
    ['치킨은', '너무', '맛있어!']

     

    여기서 split( )을 사용하여 문자열을 나누게 되면 문자는 리스트의 원소로 변환되어 반환됩니다.

     

    이상으로 파이썬의 자료형 중 문자열 자료형이 무엇인지 어떻게 표기하는지와 함께

     

    문자열에 사용되는 기본 함수들을 살펴보았습니다.

     

     


     

    'NAN > Python' 카테고리의 다른 글

    [Python] 자료형 - set  (0) 2021.06.04
    [Python] 자료형 - Dictionary  (0) 2021.06.02
    [Python] 자료형 - List, Tuple  (0) 2021.05.26
    [Python] 자료형 - 숫자 자료형  (0) 2021.05.22
    [Python] 변수  (0) 2021.05.21
Designed by Tistory.