Dolphins의 HelloWorld
Python의 문자열 본문
* 파이썬에서는 문자열을 색인( index)를 통해 접근할 수 있다.
아래의 코드에서 색인을 통해 접근하고 출력하는 모습을 확인할 수 있다.
exp = 'example' print(exp[0]) #인덱스는 0부터 시작한다. print(exp[1]) print(exp[5])
* len 함수를 통해 문자열의 길이를 알 수 있다.
아래는 len함수의 활용을 통해 list에서 가장 큰 수를 추출하는 프로그램이다.
mylist = [5,20,3,77,2,1] max = -1 for n in range(len(mylist)): # 0 부터 mylist의 길이 -1 까지 검사한다. if(mylist[n] > max): max = mylist[n] print(max)
* 문자열의 일부를 가져오는 방법
파이썬에서는 대괄호와 콜론을 통해 문자열의 일부를 가져올 수 있다.
(다른 언어에서의 substring과 같은 기능이라고 생각하면 될 것이다.)
예를들어
exp = 'HelloMyFriend'
에서 Hello만 뽑아서 출력하고 싶다면
시작 인덱스인 0과 끝나는 인덱스에서 1을 더한 5를 활용하여
print(exp[0:5]) 라는 명령어를 통해 출력해주면 된다.
exp[0:5]라고 할 때 5번째 인덱스는 포함하지 않는다는것을 잘 기억하자.
아래의 코드는 위의 기능을 여러가지로 활용할 수 있는 방법에 대한 것이다.
exp = 'HelloMyFriend' #이 문자열의 길이는 13 print(exp[0:5]) # 결과로 'Hello'가 나옴 print(exp[10:20]) #끝나는 값으로 문자열의 길이보다 더 큰 값을 주었지만 #에러 없이 10번째 문자부터 마지막 문자까지 출력된다. print(exp[:7]) # 처음부터 6번째 문자까지 출력된다. print(exp[4:]) # 4번째 문자부터 끝까지 출력된다.
* 특정 문자가 문자열에 포함되어있는지 검사
in 연산자를 통해 특정문자가 문자열에 포함되어있는지 검사할 수 있다.
간단하므로 아래 예시를 통해 보고 넘어가겠다.
exp = 'HelloMyFriend' print('h' in exp) print('H' in exp) print('d' in exp)
* 사전상 순서 비교
우리에게 익숙한 == , > , < 연산자를 이용해 사전상으로 어떤 문자열이 먼저 나오는지 비교하는것도 가능하다.
exp1 = 'apple' exp2 = 'grape' print(exp1 < exp2) #apple 뒤에 grape가 나오는지 판별
보통 판별이 잘 되지만 대소문자나 특수문자를 섞어서 사용할 경우 잘 동작하지 않을 수도 있다는 점을 주의할 필요가 있다.
* 기타 문자열 함수
str.lower() # 문자열을 소문자로 변환
str.upper() # 문자열을 대문자로 변환
str.rstrip() # 문자열의 우측 공백 삭제
str.lstrip() # 문자열의 좌측 공백 삭제
str.replace(old, new[,count]) #문자열에서 일부 문자들을 원하는 것으로 교체
str.find(sub[, start[, end]]) #문자열에서 찾고자하는 문자를 찾아서 인덱스 반환
예시 코드를 통해 이 함수들이 쓰여지는 모습을 확인해보자.
#문자열 함수 활용 s = 'ABCDEFG' s = s.lower(); print(s) #소문자로 변환 후 출력 s = s.upper(); print(s) #다시 대문자로 변환 후 출력 index1 = s.find('C'); print(index1) #문자 C의 인덱스 출력 index2 = s.find('EF'); print(index2) #EF가 시작하는 인덱스 출력 exp = ' 123456' exp = exp.replace('123','789'); print(exp) #123을 789로 교체 exp = exp.lstrip(); print(exp) #exp문자열에서 좌측공백 제거 exp2 = 'abc1234@google.com' print(exp2.startswith('abc')) #exp2문자열이 abc로 시작한는지 검사 #위의 이메일에서 아이디만 추출하기 index = exp2.find('@') print(exp2[:index])
'python' 카테고리의 다른 글
Python의 list2 (0) | 2018.07.05 |
---|---|
Python의 파일 입출력 (0) | 2018.07.05 |
Python의 none/ is와 is not (0) | 2018.07.04 |
Python의 예외처리 (0) | 2018.07.04 |
Python의 for in 반복문과 for in range (0) | 2018.07.01 |