728x90
문자열 관련 기능
텍스트 결합/추출/조작
- +를 이용한 결합 : String 끼리는 +를 이용하여 연결할 수 있다.
- *를 이용한 복제 : String에 *n을 이용하여 문자열을 여러번 반복할 수 있다.
- 인덱스를 이용한 추출 : String의 인덱스로 Char를 추출할 수 있다. 음수도 입력가능하다.
- 인덱스를 이용한 슬라이스[start : end : step] : [start : end-1] 사이 문자를 추출. step으로 몇 글자씩 건너뛰면서 가져오는 것도 가능.
- String을 특정 문자로 나누기 : (문자열).split(“나눌문자”)
- String을 특정 문자로 결합하기 : (“결합문자”).join(순회가능한 개체)
- join은 리스트/튜플의 메서드가 아니라 String을 위한 메서드다. 따라서 반드시 String을 취하는 결합문자가 앞에 나오고, 순회가능한 개체가 뒤에 나온다. 또한, (당연하지만) 순회 가능한 개체의 가장 마지막 구성요소 뒤에는 결합문자가 붙지 않는다.
- join은 리스트/튜플의 메서드가 아니라 String을 위한 메서드다. 따라서 반드시 String을 취하는 결합문자가 앞에 나오고, 순회가능한 개체가 뒤에 나온다. 또한, (당연하지만) 순회 가능한 개체의 가장 마지막 구성요소 뒤에는 결합문자가 붙지 않는다.
찾기/참조
- 특정 문자열 찾기 : .find(‘찾을 문자열’)
- 특정 문자열을 뒤에서부터 찾기 : .rfind(‘찾을 문자열’)
- 특정 문자열이 반복되는 횟수 확인하기 : .count(‘특정 문자열’)
- 문자열의 길이 : len('문자열‘)
- 대체하기 : .replace(‘찾을 문자열’, ‘대체 문자열’, 바꿀 최대 횟수)
- 찾을 문자열은 정규표현식을 이용하여 검색할 수 있다
- 찾을 문자열은 정규표현식을 이용하여 검색할 수 있다
728x90
대소문자
- 첫 단어 대문자로 만들기 : .capitalize()
- 모든 단어의 첫 글자를 대문자로 만들기 : .title()
- 모두 대문자로 만들기 : .upper()
- 모두 소문자로 만들기 : .lower()
- 대/소문자 전환 : .swapcase()
리스트 관련 기능
항목 추가/삭제
- 끝에 추가 : .append()
- 인덱스로 추가 : .insert(인덱스, ‘추가할 값’)
- 리스트의 실제 길이값보다 큰 인덱스를 넣으면 예외를 던지지 않고 그냥 끝에 추가해준다
- 인덱스로 삭제 : del 리스트개체[인덱스]
- del은 리스트 함수가 아니라 구문이다. 즉, 리스트.del()은 불가능하다.
- 인덱스로 변경 : 리스트개체[인덱스] = “입력할 내용”
- 이 기능은 리스트에서만 가능하다. Tuple, String은 불변이다.
- 인덱스로 값 추출 후 삭제(queue/stack 기능) : .pop(인덱스) // 인덱스 미입력시 기본값은 –1
- 값으로 삭제 : .remove(‘삭제할 값’)
찾기 / 참조
- 값으로 인덱스 찾기 : .index(‘찾을 값’)
- 특정 값 존재여부 확인 : ‘찾을 값’ in 리스트개체
- 특정 값의 개수 확인 : .count(‘찾을 값’)
- 중복값 제거 : set(리스트개체)
기타
- 데이터를 리스트로 변경 : list()
- 빈 리스트는 [], 튜플은 (), 딕셔너리는 {}로 생성가능하나, 헷갈리므로 함수를 쓰는게 낫다
- 리스트 병합 : A.extend(B) 혹은 A += B
- 리스트 정렬하기
- 리스트 자체를 정렬 : .sort(리스트개체) // 역순의 경우, sort(리스트개체, reverse=True)
- 리스트의 정렬된 복사본 반환 : .sorted(리스트개체) // 역순은 마찬가지로 reverse=True 추가
- 항목 개수 얻기 : len(리스트개체)
- 리스트 복사 : ①B=list(A) ②B=A.copy() ③B=A[:]
- 단순히 B=A로 입력시, B는 A의 레퍼런스 변수가 되어 한 쪽 변경시 다른 쪽도 덩달아 변경됨
- 단순히 B=A로 입력시, B는 A의 레퍼런스 변수가 되어 한 쪽 변경시 다른 쪽도 덩달아 변경됨
셋(set)관련 기능
- 개요 : Set에는 고유값만 입력가능하며, 순번은 의미없다. 주로 고유값 검출 및 고유값간 중복여부 확인에 사용된다.
- 리스트 A의 고유값 찾기 : B = set(A)
- 집합연산 - 집합 간 요소확인
- 집합연산 - 집합 간 관계확인
클래스와 객체모델
클래스
- 일반적인 클래스 구현
- 파이썬의 클래스는 암묵적으로 object를 상속받는다(즉, 상속할 슈퍼클래스가 기본적으로 object인 셈). 다만 여기에 큰 의미는 없으며, 과거 Python2 시절에는 명시적으로 object를 상속해야했던것에 대한 호환이라고 생각하면 된다.
- 인스턴스 생성시엔 '클래스_인스턴스명 = 클래스명(인자1, 인자2)'의 형태로 생성한다.
- 기본적인 코드 구조
class 클래스명(상속할 슈퍼클래스명):
def __init__(self, 매개변수1, 매개변수2):
클래스명.속성1 = 매개변수1
클래스명.속성2 = 매개변수2
- 네임드튜플을 이용한 간결한 구현
- 기본적인 코드 구조 : 클래스명 = collections.namedtuple(‘클래스명’, [‘매개변수1’, ‘매개변수2’]
- 상속
- 기본적인 코드 구조 : ‘class 클래스명(상속할 슈퍼클래스명):’
- 참고사항 : 만약 슈퍼클래스의 내부구조물에 접근할 경우에는 super()를 사용한다
객체모델(데이터모델 / 마법메서드 구현)
- 객체모델(데이터모델)의 정의 : 특정 컴퓨터 프로그래밍 언어에서 일반적인 객체의 속성
- 마법메서드(특별메서드)
- 개요 : 파이썬의 객체모델 특징의 구현을 위하여 고안된 존재로, len함수, 연산자의 사용, print함수 등이 호출하는 특수한 내부함수로 각 클래스마다 구현이 가능한 공통함수
- 종류 및 호출방법
반응형
'컴퓨터 & 코딩 공부 > 파이썬' 카테고리의 다른 글
파이썬 Library/API - 오픈소스 저작권 (1) | 2024.04.19 |
---|---|
파이썬 - 표준 라이브러리(사용해본것만 일부 정리) (1) | 2024.04.19 |
파이썬 기초(1) - 공통문법, Comprehension, Packing, Decorator (0) | 2024.04.19 |
파이썬 웹자동화 - 자바스크립트 활용 및 PyAutoGui 사용법 (1) | 2024.04.19 |
파이썬 웹자동화 - 셀레늄 및 관련 라이브러리 기본 사용법 (1) | 2024.04.19 |