[12강. 메소드]
메소드(methdo)라는것 = 클래스 내에 정의된 어떤 동작, 기능을 하든 코드들의 묶음
쉽게생각하면 기능 이라고 생각하면 된다.
메소드 사용 형식 | 문자열.메소드(...) |
문자열.메소드(...)입니다. 물론 메소드안에 어떤게 들어가있겠죠?
ex) letter = 'how are YOU?'
이렇게 있는 문자열의 모든 내용을 소문자로 바꾸기위해서는 lower이라는 메소드가필요합니다.
print(letter.lower())을 실행하게 되면 #how are you? 라고 출력되는겁니다.
모든걸 대문자로 바꾸기 위해서는 upper 이라는 메소드가 필요합니다.
print(letter.upper())을 실행하게 되면 #HOW ARE YOU? 라고 출력됩니다.
첫글자를 대문자로하고 나머지는 모두 소문자로 바꾸고싶다면 capitalize라는 메소드가 필요합니다.
print(letter.capitalize())를 실행하게 되면 #How are you? 라고 출력됩니다.
각단어들의 첫 글자만 대문자로하고 싶다면 title라는 메소드가 필요합니다.
print(letter.title())를 실행하게 되면 #How Are You? 라고 출력됩니다.
대소문자를 뒤바꾸고 싶을때는 swapcase메소드가 필요합니다.
print(letter.swapcase())를 실행하게 되면 #HOW ARE you? 라고 출력됩니다.
문자열을 나누고 싶을때는 split라는 메소드가 필요합니다.
print(letter.split())를 실행하게 되면 #['how', 'are', 'YOU?']라고 출력됩니다.
이럴때는 띄어쓰기를 기준으로 나누어진 결과를 리스트의 형태로 변환하게 됩니다.
'how'가 몇번 쓰였는지 알고싶다면 count라는 메소드가 필요합니다.
print(letter.count('how'))를 실행하게되면 #1라고 출력됩니다.
[13강. 메소드 2 ]
s = '나도고등학교'
특정 문자로 시작하는지확인하려면 사용할 수 있는 메소드는 startswith입니다.
print(s.startswith('나도')를 실행하게 되면 #True 라고 출력됩니다.
괄호속에 확인하려는 값을 넣어주면 됩니다. 결과는 불리안 형태로 나오게 됩니다.
특정 문자로 끝나는지 확인하려면 사용할 수 있는 메소드는 endswith입니다.
print(s.endswith('초등학교')를 실행하게 되면 #False 라고 출력됩니다.
괄호속에 확인하려는 값을 넣어주면 됩니다. 결과는 불리안 형태로 나오게 됩니다.
s = '...나도고등학교...'
라고 가정했을대 앞뒤로 불필요한 부분을 제거하려고 할때 사용할 수 있는 메소드는 strip(' ')입니다.
괄호안에 제거하려는 문자들을 넣어두면 됩니다.
print(s.strip('.')를 실행하게 되면 #나도고등학교 라고 출력됩니다.
괄호속 안에 아무것도 넣지않으면 문자열 앞뒤로 불필요한 공백들이 제거 됩니다.
s = '나도고등학교'
'고등학교'를 '고교'로 문자열 일부를 바꿀수도 있는데, 그럴때 사용하는 메소드는 replace입니다.
print(s.replace('고등학교' , '고교'))를 실행하게 되면 #나도고교 라고 출력됩니다.
특정 글자가 어디에있는지 확인할때 사용하는 메소드는 find입니다.
'학교'라는 글자를 찾고싶다면 인덱스 기준으로 어디에 위치해있는지 알려주게 됩니다.
print(s.find('학교')를 실행하게 되면 #4 가 출력됩니다.
문자열을 다른 문자들 사이에 가운데로 집어넣고 싶을때 사용하는 메소드는 center입니다.
총 길이를 10글자로 정의를 해두고 하이픈을 적어서 나도고등학교를 하이픈으로 감싸는 총 10글자에 해당하는 결과를 낼 수 있습니다.
print(s.center(10, '-'))을 실행하게 되면 #--나도고등학교-- 가 출력됩니다.
더 다양한 메소드를 찾아보려면?
구글 -> python 내장형 -> 문자열 메소드를 참고하면 좋다. 아래에 링크를 걸어놨으니 참고하시길!!
https://docs.python.org/ko/3/library/stdtypes.html
[14강. 문자열 포맷]
python = '파이썬'
java = '자바'
print를 이용해서 둘 다출력하려면 print(python + ' ' + java)를 이용한 실행결과는 #파이썬 자바 가 출력됩니다.
더 간단히 하려면 바로 ,(콤마)를 이용하는것입니다.
print(python, java)로 출력하더라도 동일한 #파이썬 자바 라는것이 출력됩니다.
변수값을 있는 그대로가 아닌 다른 문장 속에 포함 시키려면 어떻게 해야할까요?
이럴때 문자열 포맷을 이용하면 됩니다.
문자열 포맷
1. {} + format
print('개발언어에는 {},{}등이 있어요'.format(python, java))
#실행결과 : 개발언어에는 python, java등이 있어요.
순서대로 문자열 내의 중괄호에 대입이 됩니다.
2. {N} + format / N :0,1,2, ...
print('개발언어에는 {0},{1}등이 있어요'.format(python, java))
#실행결과 : 개발언어에는 python, java등이 있어요.
중괄호 안의 숫자를 통해서 정해줄 수 있다.
3. f-string / 파이썬 3.6이상
print(f'개발언어에는 {python}, {java}등이 있어요)
#실행결과 : 개발언어에는 python, java등이 있어요.
[15. 탈출 문자]
예문1)
친구가 "파이썬 배우기 쉬워?" 하고 물었다. 를 출력하려면
print('친구가 "파이썬 배우기 쉬워?"하고 물었다.')
#실행결과 : 친구가 "파이썬 배우기 쉬워?"하고 물었다.
예문2)
나는 속으로 '엄청 어려운데...'라고 생각했다.
print( "나는 속으로 '엄청 어려운데...'라고 생각했다.")
#실행결과 : 나는 속으로 '엄청 어려운데...'라고 생각했다.
그렇지만...
하지만 '나만 당할 순 없지'라는 생각에 "엄청 쉽지"라고 했다.
이럴경우에는 이미 큰따옴표 작은따옴표가 있어서 원하는 결과를 얻기 쉽지않다.
그래서 사용하는것이바로 탈출문자이다.
탈출 문자
역실래시(\)와 특정 문자(숫자)의 조합으로 표현할 수 없는 기능이나 문자를 표시.
탈출문자 | |
큰 따옴표 | \" |
작은 따옴표 | \' |
역슬래시 | \\ |
줄바꿈 | \n |
[16. 리스트]
변수같은경우에는 하나의 값을 저장다고 하면 리스트같은 경우에는 여러값을 저장합니다.
일반적으로는 서로 관련 있는 연속적인 데이터들을 관리하는데 사용합니다.
리스트의 형태
리스트 = [값1, 값2, 값3, ....]
리스트는 똑같은 값을 넣는것는 중복값을 허용, 정수 실수 불리언, 문자, 빈 값 등 모두 가능하기때문에
my_list= [1, 2, 3, 3, 3, 'True', '아무거나', 3.1542] 도 가능합니다.
my_bongtu = [] 도 가능함.
[17. 리스트 2]
my_list = ['신발', '과자', '콜라']
print(my_list[0])를 출력하게되면 신발 이 출력됩니다.
리스트는 순서를 보장해주고 슬라이싱도 가능하다는 말입니다.
리스트를 수정하려면? 메소드 append를 사용하면 됩니다.
my_list.append('빅파이') #값 추가
print(my_list)를 실행하면 : ['오예스', '몽쉘', '초코파이', '빅파이']
리스트 요소를 지우려면 메소드 remove를 사용해도 됩니다.
리스트와 리스트를 합치려면? 메소드 extend()를 사용하면 됩니다.
list1 = ['빨강', '주황']
list2 = ['노랑', '초록']
list1.extend(list2) 를 하면 리스트의 값이 합쳐지게 되고
print(list1)을 실행하게 되면 ['빨강', '주황', '노랑', '초록']이 출력됩니다.
메소드 | 의미 |
insert() | 원하는 위치에 값 추가 |
pop() | 원하는 위치(또는 마지막)의 값 삭제 |
clear() | 모든 값 삭제 |
sort() | 값 순서대로 정렬 |
reverse() | 순서 뒤집기 |
copy() | 리스트 복사 |
index() | 어떤 값이 어디에 있는지 |
count() | 어떤 값이 몇개 있는지 |
[18. 튜플]
튜플은 대괄호가 아닌!!! 소괄호 속에 값들을 지정합니다.
리스트는 대괄호, 튜플은 소괄호
튜플은 한번 만들고나면 수정이 불가능하다는것도 특징입니다. 이해하기 쉽게 표현하자면
읽기 전용 리스트라고 이해해도 좋습니다.
튜플형식
tuple = ('봄', '여름') #기본형식
tuple = ('봄', '여름',' 여름') #중복 허용
tuple = ('봄', '여름',' 여름', '3.14', 2, 3, True) #뭐든지 다 넣을 수 있음.
튜플의 원소들의 순서도 보장이 된다.
단 수정은 되지 않음
슬라이싱을 통해서 원하는 만큼 출력도 가능합니다.
[19. 튜플 2 ]
tuple = ('봄', '여름',' 가을')
이렇게 오른쪽에있는 값들을 왼쪽에 넣는것을 #패킹 이라고 합니다.
그런데 파이썬에는 이것의 반대인 개념도 있습니다.
('벚꽃', '개나리',' 봉숭화') = tuple #언패킹 이라고 합니다.
tuple에 있는 내용들을 하나씩 꺼내서 '봄', '여름', '가을'에 각각 저장하게 되는겁니다.
그렇게 되면
'벚꽃' = '봄'
'개나리' = '여름'
'봉숭화' = '가을'
로 구현이 되는거겠죠.
언패킹에서는 *을 이용할 수 있습니다.
numbers = (1,2,3,4,5,6,7)
(one, two, *others) = numbers
를 이용해서 보자면
one은 1 two는 2 로 *others는 3,4,5,6,7인 나머지를 모두 의미합니다.
이때 others는 튜플이 아닌 리스트의 형태로 된다는 점 주의해야합니다.
별의 위치가 앞으로 올때는?
numbers = (1,2,3,4,5,6,7)
(*others, seven, six) = numbers
*others = [1,2,3,4,5]
즉 others는 각각 값이 아닌 다른 남는값들을 넣습니다.
'언어 > Python' 카테고리의 다른 글
[유튜브 나도코딩 1분파이썬] 100분완성 강의 요약본 #42강~46강 (1) | 2024.05.11 |
---|---|
[Python] 문법 ~~~~32~~41 (0) | 2024.05.10 |
[유튜브 나도코딩 1분파이썬] 100분완성 강의 요약본 #24강~31강 (0) | 2024.05.09 |
[유튜브 나도코딩 1분파이썬] 100분완성 강의 요약본 #20강~23강 (0) | 2024.05.07 |
[유튜브 나도코딩 1분파이썬] 100분완성 강의 요약본 #3강~11강 (0) | 2024.05.06 |