class내에서 method 내부에 다른 method 호출하기
1. 문제
영어 소문자로 주어지는 문자열에서 모음을 제거한 나머지 문자열을 출력하는 method와 자음을 제거한 나머지 문자열을 출력하는 method를 작성한다면??
2. 제한사항
입력으로 주어지는 문자열 s에는 최소한 하나 이상의 모음과 자음이 포함된다
3. 풀이
class FilterLetter:
def __init__(self,s):
self.s = s
def filter_vowel(self):
vowel_list = ['a','e','i','o','u']
remove_vowel_s = self.s
for char in vowel_list:
remove_vowel_s = remove_vowel_s.replace(char,'')
return remove_vowel_s
def filter_consonant(self):
remove_vowel_s = self.filter_vowel()
remove_cons_s = self.s
for char in remove_vowel_s:
remove_cons_s = remove_cons_s.replace(char,'')
return remove_cons_s
모음 리스트 ['a','e','i','o','u']에서 하나씩 문자를 돌아서
원래 주어진 문자열 remove_vowel_s = self.s에 대해 replace함수를 이용해서 하나씩 제거해나간다
여기서 알아가면 좋은 부분이 class내의 method B에 method A의 결과를 호출하는 방법
def filter_consonant(self):
remove_vowel_s = self.filter_vowel()
remove_cons_s = self.s
for char in remove_vowel_s:
remove_cons_s = remove_cons_s.replace(char,'')
return remove_cons_s
self.filter_vowel()을 하면 filter_vowel(self)의 결과인 remove_vowel_s를 얻을 수 있다
self 자체가 자기자신 class를 가리키기 때문에
s = 'taeyeon'
a = FilterLetter(s)
a.filter_vowel()
tyn
a.filter_consonant()
aeeo
'프로그래밍 > Python' 카테고리의 다른 글
변수(variable), 리스트(list), 딕셔너리(dictionary) 맛보기 (0) | 2022.07.18 |
---|---|
파이썬 개요, VScode 기본 사용법 등등 (0) | 2022.07.18 |
파이썬 객체의 3가지 특징 상속성(inheritance), 다형성(polymorphism), 가시성(visibility) (0) | 2022.02.20 |
파이썬 object의 magic method (0) | 2022.02.19 |
파이썬의 지역변수와 전역변수 (0) | 2022.02.17 |
TAGS.