안녕하세요. 언휴예요.
프로그래밍에서 수와 문자열은 가장 기본적으로 사용하는 데이터 형식이죠. 이 중에 문자열은 대부분 언어에서 다양한 표현 방법과 연산 및 함수 등을 제공하고 있어요. 이러한 것들을 살펴보고 사용 능력을 키우면 프로그래밍에 도움을 줄 수 있어요.
이번 강의에서는 문자열을 표현하고 사용하기 위해 약속하거나 제공하고 있는 것들을 소개할 거예요.
문자열을 선언하는 방법을 앞에서 소개했었던 내용이예요. 문자열을 선언할 때 단일 콤마나 이중 콤마를 사용하여 선언할 수 있죠. 그리고 여러 라인으로 구성하는 인용문은 이중 콤마를 삼겹으로 감싸서 표현하는 것도 얘기했었어요.
#문자열 선언 str1 = '단일 콤마 사용' #단일 콤마 print(str1) str2 = "이중 콤마 사용" #이중 콤마 print(str2) str3 = """Rainbow My heart leaps up when I behold A rainbow in the sky So was it when my life began So is it now I am a man; So be it when I shall grow old, Or let me die! The Child is father of the Man And I could wish my days to be Bound each to each by natural piety! """ #인용문 print(str3)
문자열을 선언할 때 구성 문자에 백슬러시가 오더라도 escape 문자로 처리하지 않고 그대로 사용하길 원하면 문자열 선언 앞에 r 혹은 R을 명시하세요. 그리고 Python에서 기본적인 문자열은 ASCII 코드 문자열인데 문자열 선언 앞에 u를 표시하면 유니 코드 문자열로 인식합니다. 아직까지는 문자열이 ASCII 코드인지 유니 코드인지 구분할 필요가 없었지만 파일 입출력 등의 작업을 할 때 필요할 수 있어요.
#Raw 문자열, 유니코드 문자열 선언 #일반 문자열 str1 = "c:\\temp\\hello.txt" print(str1) #Raw 문자열 str2 = r"c:\\temp\\hello.txt" print(str2) #유니코드 문자열 str3 = u"안녕하세요." print(str3)
문자열을 효과적으로 사용하려면 피연산자를 문자열인 연산을 알아야겠죠. 먼저 문자열을 구성하는 원소에 접근할 때 인덱스[] 연산을 사용합니다. 그리고 멤버쉽 연산인 in과 not in을 사용할 수 있어요. 이 외에 두 개의 문자열을 합산하는 + 연산과 원본 문자열의 내용을 반복해서 구성하는 문자열을 합성하는 * 연산이 있어요.
#문자열 관련 연산 str1="abcde123456789" str2="hello" str3="yahoo" #문자열을 구성하는 문자 확인하기 print("원본 문자열:",str1) print("str1[2]:",str1[2]) print("str1[3:]:",str1[3:]) print("str1[3:5]:",str1[3:5]) #문자열 합성하기 print("str2:{0} str3:{1}".format(str2,str3)) print("str2+str3:",str2+str3) print("str2[1:3]+str3:",str2[1:3]+str3) print("str2*3:",str2*3) #멤버쉽 연산하기 if('0' in str1): print("0문자는 str1에 있어요.") else: print("0문자는 str1에 없어요.")
그리고 Python 언어에서는 String 형식에 다양한 멤버 메서드를 제공하고 있어요. 이 부분은 다음 강의에서 다루기로 할게요.