Python 심화 학습3

CheolSoonKang·2024년 2월 23일

개념정리

목록 보기
13/18

Class 객체(object) 다루기

객체란?

클래스(class)를 이용하여 만들어낸 실제 데이터

  • (이전 강의에서 클래스를 과자 틀, 클래스를 사용해 만들어진 과자를 인스턴스(객체)라고 하였다)
    (https://velog.io/@kcs4752/Python-%EC%8B%AC%ED%99%94-%ED%95%99%EC%8A%B52)
  • 객체와 인스턴스는 동일한 용어이며, CookieFrame 클래스를 사용해 생성된 cookie를 “객체” 혹은 “CookieFrame의 인스턴스”라고 표현한다.

객체 사용하기

sample_list = [1, 2, 3, 4]
sample_dict = {"key": "value"}
print(type(sample_list)) # <class 'list'>
print(type(sample_dict)) # <class 'dict'>
sample_list.sort() # <<list 클래스의 sort 메소드 사용

이미 알게 모르게 계속 사용해왔다.

정규표현식

정규표현식이란?

  • regular expression의 약자인 regex라고도 한다.
  • 문자열이 특정 패턴과 일치하는지 판단하는 형식 언어
    • 사용자가 입력한 이메일이 유효한 이메일
    • 유효한 핸드폰 번호를 입력했는지
    • 대문자로 시작하고 숫자로 끝나는 패턴의 단어가 몇번 반복되는지 등

메타 문자

  • 원래 그 문자가 가진 뜻이 아니라 특별한 의미를 가진 문자
  • 정규 표현식에 다음과 같은 메타 문자를 사용하면 특별한 의미를 가진다
. ^ $ * + ? { } [ ] \ | ( )

문자 클래스([])

‘[’ 와 ‘]’ 사이의 문자들과 매치’라는 의미를 갖는다

문자 클래스를 만드는 메타 문자인 [ ] 사이에는 어떤 문자도 들어갈 수 있다.
  • 즉, 정규 표현식이 [abc]라면 이 표현식의 의미는 ‘a, b, c 중 한 개의 문자와 매치’를 뜻한다.
  • [] 안의 두 문자 사이에 하이픈(-)을 사용하면 두 문자 사이의 범위를 의미한다. 예를 들어 [a-c]라는 정규 표현식은 [abc]와 동일하고 [0-5]는 [012345]와 동일하다.
    • [a-zA-Z] : 모든 알파벳
    • [0-9] : 모든 숫자

.(dot) 문자

줄바꿈 문자인 \n을 제외한 모든 문자와 매치된다는 것을 의미

a.b 는 "a + 모든_문자 + b"를 의미한다.
즉, a와 b라는 문자 사이에 어떤 문자가 들어가도 모두 매치된다는 의미이다.
***[] 안에 . 문자를 쓰면 여기서 .는 메타 문자가 아니라 ‘.’ 문자 그대로를 의미

(정규표현식은 다음 포스트에서 이어진다..)

profile
소통하며 성장하는 늦깎이 개발자

0개의 댓글