Classes
- 클래스는 고유의 속성(attribute)과 동작(method)를 갖는 데이터 타입이다.
- 클래스를 통해 정의된 대상을 객체(object)라고 한다.
- 앞서 배운 int str float 같은 data type은 모두 클래스이다.
Methods
- 클래스 내부에 정의된 함수.
- 일반 함수는 독립적으로 사용이 가능하지만 메소드는 클래스에 속한 객체를 통해 사용된다.
- object.method() 또는 class.method(object)를 통해 메소드를 사용
- 이처럼 object를 기반으로 프로그래밍하는 것을 object-orieted programming. 객체지향 프로그래밍이라고 한다.
String methods
- 문자열의 내용을 바꾸는 메소드는 문자열 원본값이 변화하는 것이 아니라 출력값으로 변화된 새로운 문자열을 만드는 것임을 주의 (문자열은 immutable)
- str.capitalize() : 첫번째 문자를 대문자로 나머지는 소문자로 변환한 문자열을 출력
- str.count(s) : 문자열에 포함된 s의 개수를 출력
- str.center(a,b) : a의 길이의 문자열에서 객체값을 가운데
- str.replace(a,b) : 문자열의 a를 b로 변환한 문자열을 출력
- str.endswith(s) : 문자열이 s로 끝나는지 논리값 출력
- str.startswith(s) : 문자열이 s로 시작하는지 논리값 출력
- str.islower() : 문자열이 모두 소문자인지 논리값 출력
- str.isupper() : 문자열이 모두 대문자인지 논리값 출력
- str.find(s) : s가 문자열 몇번째에 위치하는지 출력
- str.swapcase() : 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 출력
- str.isdigit() : 문자열이 숫자인지 논리값 출력
- str.isalpha() : 문자열이 문자인지 논리값 출력
- str.format() :
>>>'i ate {0} apples and {2} {1}'.format(3, 'melons', 2)
i ate 3 apples and 2 melons
문자열에 파라미터를 삽입할 부분을 {}로 만들고 그 내부에 삽입할 파라미터 순서를 입력한다. {} 내부에 숫자가 입력되지않으면 입력파라미터 순서대로 자동으로 입력됨