JSITCLUB
파이썬 독학#11 - 문자를 다루는법 - 문자열(str) 2 본문
오늘은 문자열 두번째 시간으로 문자열의 메서드(method)와 관련 함수를 배우겠습니다.
사실 '메서드'도 함수 입니다. 그런데 어느때 "함수"라고 부르고, 어느때 "메서드"라고 부를까요?
메서드는 객체지향의 클래스에서 기능의 역활 하는것을 이야기하는데.. 파이썬은 모든 자료형을 클래스 형태로 갖고 있기 때문에 그것의 기능들을 메서드라고 부릅니다. 쩝... 무슨 소리인지 모르셔도 괜찮아요. 그냥 특정 자료형에 포함되어 있으면 메서드, 자료형에 상관없이 사용되는것은 함수라 생각하시면 무리가 없습니다.
두 가지모두 함수이므로 형태는 "이름()"의 모습을 갖고 있는데 (참조 https://jsitclub.tistory.com/10) 특별히 메서드는 자료형에 포함되어 있으므로 "자료형.메서드이름()"의 형태를 사용합니다.
1. 문자열의 메서드
메서드 | 설명 | 리턴값 |
split(문자열) | 입력된 문자(열)을 기준으로 분리한다. 매개변수없으면 공백(" ")을 기준 | 리스트 |
strip() | 좌우의 공백을 없앤다 | 문자열 |
rstrip() | 오른쪽 공백을 없앤다. | 문자열 |
lstrip() | 왼쪽 공백을 없앤다. | 문자열 |
count(문자) | 입력된 문자(열)의 갯수를 알려준다. | 정수 |
replace(문자1,문자2) | 문자열에 있는 문자(열)1을 문자(열)2로 바꾼다. | 문자열 |
count(문자) | 입력된 문자(열)의 갯수를 알려준다. | 정수 |
index(문자) | 입력된 문자(열)의 위치를 알려준다. | 정수 |
#1
"JSCITCLUB".split("C") 부분이 "JSCITCLUB"을 "C"를 기준으로 분리하는 코드입니다. 여기서 기준이 되는 "C"는 사라지고 나머지를 묶은 리스트인 ['JS', 'IT', 'LUB']가 결과로 리턴됩니다.
#2
strip()의 결과 "JSITCLUB"
lstrip()의 결과 "JSITCLUB "
rstrip()의 결과 " JSITCLUB" 로 약간씩 차이가 있다.
#4
문자열의 메서드라고 항상 ""묶인것 뒤에만 메서드를 사용해야 한다고 생각하는것은 아니겠죠?
당연히 문자열을 담고있는 변수뒤에도 문자열 메서드를 사용할 수 있습니다.
a="cccaaacacd"
print(a.count("c"))
코드의 결과가 나오는 작업순서를 정리해보면
순서 | 코드 |
1 | a="cccaaacacd" |
2 | print(a.count("c")) |
3 | -> print("cccaaacacd".count("c")) |
4 | -> print(5) |
5 | -> 5 |
- count() 와 index()는 다른 시퀀스형(list, tuple, range)에도 메서드로 있다.
2. 시퀀스형 관련 공통함수
다음에 나오는 함수는 파이썬의 내장 함수로 문자열(str)뿐 아니라 모든 시퀀스형(list,tuple,rnage)에서도 사용이 가능합니다.
함수 | 설명 | 리턴값 |
len(시퀀스형) | 시퀀스형의 길이(항목수)를 알려준다. | 정수 |
sorted(시퀀스형) | 시퀀스형을 오름차순으로 정렬 | 정렬된 리스트 |
max(시퀀스형) | 시퀀스값 중 가장 큰값을 리턴 | 숫자형,문자열 |
min(시퀀스형) | 시퀀스값 중 가장 작은값을 리턴 | 숫자형,문자열 |
sum(숫자값시퀀스형) | 시퀀스값 의 총합 (숫자값일때문 가능) | 숫자형 |
3. 시퀀스형 관련 공통연산자
연산자 | 설명 | 리턴값 |
in | 시퀀스형에 값이 있는지 여부 (있으면 True) | bool |
not in | 시퀀스형에 값이 없는지 여부 (없으면 True) | bool |
in 과 not in 은 "찾는값 in 시퀀스형" 의 형태로 시퀀스에 특정값의 포함 또는 불포함 여부를 확인하는 연산자 입니다.
Tip 1
함수는 종종 매개변수가 필요할때가 있습니다. 매개변수란 함수를 실행할때 필요해서 요구하는 값을 말하는데, 이것은 각 함수에 따라 갯수도, 자료형도 달라집니다. 하지만 함수가 너무 많아 자주사용하는 함수가 아니면 기억하기 쉽지 않습니다. 이때 함수의 이름을 적고 여는괄호'('만 적으면 파이썬은 자동으로 필요한 매개변수를 다음과 같이 알려줍니다. 이것은 메서드도 마찬가지입니다. (메서드도 함수라는 것을 다시한번 생각하세요..)
또한 자료형의 메서드를 알고 싶을때는 자료형에 점(.)까지 입력후 Tab키를 치거나 몇초 기다리면 다음과 같이 목록도 나옵니다. 참고 하세요.
Tip 2
결과(리턴값)가 있는 함수는 출력이나 변수에 담는것이 가능합니다. a="JSCITCLUB".split("C") -> a=['JS', 'IT', 'LUB']
print("JSCITCLUB".split("C")) 를 예로 보면 사실 "JSCITCLUB".split("C") 코드만 실행해도 아무문제는 없어요. 하지만 이렇게 하면 내부적으로 작업은 했지만, 결과를 볼수가 없습니다. 그래서 "JSCITCLUB".split("C") 를 print()의 매개변수로 넣어 줍니다. 그러면, 먼저 "JSCITCLUB".split("C") 부분이 실행 되어 ['JS', 'IT', 'LUB'] 가되고 그 ['JS', 'IT', 'LUB']를 화면에 출력하게 되는겁니다. print("JSCITCLUB".split("C")) -> print(['JS', 'IT', 'LUB']) -> ['JS', 'IT', 'LUB'] 화면에 출력
리턴값이 없는 함수는 출력 해도 None으로 찍혀요.
다른 시퀀스형은 거의 내용(인덱싱,슬라이싱,관련 내장함수)이 같고 해당 메서드만 배우면 되므로 문자열을 잘 공부 해두세요..
수고하셨습니다.
'파이썬 > 입문' 카테고리의 다른 글
파이썬 독학#13 - 특별하게 담는법 - 사전(dict) ,집합(set) (0) | 2020.01.13 |
---|---|
파이썬 독학#12 - 여러값을 담는법 - 리스트(list) ,튜플(tuple) (0) | 2020.01.03 |
파이썬 독학#10 - 문자를 다루는법 - 문자열(str) 1 (0) | 2019.12.30 |
파이썬 독학#9 - 숫자들의 종류 (int , float, complex ) (0) | 2019.12.28 |
파이썬 독학#8 - 참,거짓 - bool (0) | 2019.12.27 |