1일차 학습 정리
강의 복습 내용
4. Python Object Oriented Programming
- OOP characteristics
Visibility (가시성)
-> Encapsulation (캡슐화) 라고도 함
가시성을 제한하지 않으면 어디서든 객체에 접근할 수 있는 public으로 설정된다.
private
속성 이름 앞에 밑줄 두개 (__)를 붙여서 지정한다.
같은 클래스에 속한 메서드에서는 비공개 필드에 직접 접근 가능
@property : property decorator로 숨겨진 변수를 반환할 수 있게 해준다
class ClassName(object):
def __init__(self):
self.__items = []
def add_item(self, product):
self.__items.append(product)
print("new item added")
else:
raiseValueError("InvalidItem")
@property
def items(self):
return self.__items
def gen_power(exp):
def wrapper(f):
def inner(*args):
result = f(*args)
return exp**result
return inner
return wrapper
@gen_power(2)
def raise_two(n):
return n**2
print(raise_two(7))
562949953421312
exp에 2가 들어가고 wrapper의 f 자리에 raise_two가 들어가서 *args에는 n이 들어가게 된다. f(n) = raise_two(n)이 된다.
결과는 exp^raise_two(n)이 되어서 raise_two(7)은
2^(7^2)로 2^49 = 562949953421312이 나오게 된다.
decorator를 써본 적이 없어서 한번 정리하고 넘어간다.
과제 수행 과정/ 결과물 정리
과제를 수행하는데 정규표현식을 사용할 일이 생겨서 정규표현식에 대해서 살짝 정리하고 넘어간다.
import re
s = re.compile('[0-9]')
all_num = s.findall('1577-1577')
나는 문자열에서 숫자만 빼내는 것을 원한다. 정규표현식이 생각이 나서 검색을 했고 과제에 쓰인 부분만 정리한다.
re.compile은 어떤 정규식을 사용할지 결정하는 단계이고
그렇게 생성된 변수 s에는 여러가지 method를 사용 가능하다.
match(): 문자열의 처음부터 정규식과 매치되는지 조사
만족할 시 <_sre.SRE_Match object at 0x01F3F9F8> 와 같은 match object를 반환한다.
search(): 문자열 전체에서 정규식과 매치되는 게 있는지 조사한다.
만족할 시 match()와 같이 match object를 반환한다.
findall(): 문자열에서 정규식과 매치되는 단어를 모두 리스트 형식으로 반환한다.
finditer(): findall()과 비슷하지만 결과를 iterator object로 반환한다. iterator 안에는 match object가 존재한다.
위의 코드에서 all_num은 ['1','5','7','7','1','5','7','7']을 반환한다.
- Reference
점프 투 파이썬
피어세션 정리
- 자기소개
- 그라운드 룰
- 팀명 정하기
학습 회고
파이썬 기초에 대해서는 꽤나 많이 익숙해졌다 생각했는데 딥러닝에서 class를 활용하는 부분이 자주 나와서 이 부분만은 조금 더 집중해서 듣고 검색을 해서 공부를 하였다. 기초를 짚고 넘어가는 부분이라서 수월했지만 꼭 필요한 과정 같기도 하다.
Author And Source
이 문제에 관하여(1일차 학습 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hylee5642/1일차-학습-정리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)