printf("ho_tari\n");

ep.18 Coroutine, 정규표현식 본문

두산 로보틱스 부트캠프 ROKEY/Python 교육

ep.18 Coroutine, 정규표현식

호타리 2024. 7. 31. 16:13

2024.7.31

오늘 오전 이론 교육 시간에는 코루틴(Coroutine)과 정규표현식에 대해서 배웠다.

메인 루틴에서 서브 루틴을 호출하면 서브 루틴의 코드를 실행한 뒤 다시 메인 루틴으로 돌아온다.

서브 루틴이 끝나면 서브 루틴의 내용은 모두 사라진다.

서브 루틴은 메인 루틴에 종속된 관계이다.

코루틴은 방식이 조금 다른게 코루틴은 cooperative routine를 의미하는데 서로 협력하는 루틴이라는 뜻이다.

메인 루틴과 서브 루틴처럼 종속된 관계가 아니라 서로 대등한 관계이며 특정 시점에 상대방의 코드를 실행한다.

코루틴은 함수가 종료되지 않은 상태에서 메인 루틴의 코드를 실행한 뒤 다시 돌아와서 코루틴의 코드를 실행한다.

코루틴이 종료되지 않았으므로 코루틴의 내용도 계속 유지된다.

일반 ㅎ마수를 호출하면 코드를 한 번만 실행할 수 있지만, 코루틴은 코드를 여러번 실행할 수 있다.

캄고로 함수의 코드를 실행하는 지점을 진입점(entry point)이라고 하는데, 코루틴은 진입점이 여러 개인 함수이다.

코루틴은 제너레이터의 특별한 형태이다.

제너레이터는 yield로 값을 발생시켰지만 코루틴은 yield로 값을 받아올 수 있다.

다음과 같이 코루틴에 값을 보내면서 코드를 실행할 때는 send 메서드를 사용한다.

send 메서드가 보낸 값을 받아오려면 (yield) 형식으로 yield를 괄호로 묶어준 뒤 변수에 저장한다.

코루틴객체.send(값)

변수 = (yield)

코루틴 안에 예외를 발생 시킬 때는 throw 메서드를 사용한다.

throw는 말그대로 던지다라는 뜻인데 예외를 코루틴 안으로 던진다.

throw 메서드에 지정한 에러 메시지는 except as의 변수에 들어간다.

코루틴객체.throw(예외이름, 에러메시지)

정규표현식(regular expression)은 일정한 규칙(패턴)을 가진 문자열을 표현하는 방법이다.

복잡한 문자열 속에서 특정한 규칙으로 된 문자열을 검색한 뒤 추출하거나 바꿀 때 사용한다.

문자열이 정해진 규칙에 맞는지 판단할 때도 사용한다.

 

 

오후 실습 교육 시간에는 오전에 배운 코루틴과 정규표현식을 적용한 연습 문제들을 풀어보았다. 코루틴은 처음 들어보는 내용이라 조금 이해가 필요했고 정규표현식은 코딩이 어렵지는 않지만 적용 규칙들을 외워야 편하다는 특징이 있어 암기를 해야할 것 같다.

오늘 담당조교님이 말씀해주신 내용은 다음과 같다.

코루틴이 여러 개 물린 경우도 상당하다
그리고 그걸 로그에 찍는다
그리고 그걸 빌드해서 서로 물리게 만든다

코루틴은 비동기식 프로그램

자연어 분석 NLP

분석기 내에서도 해당 문자가 포함되었는지 빈도 수도 체크해준다
(워드 클라우드)

보통 자연어 분석은 챗봇 만들 때 쓴다
햇봇이 이상한 말을 해서 문제가 될 수 있어 공공기관의 경우 알고리즘형 챗봇을 쓴다 (혹은 섞어서 쓴다)

불용어 삭제
비전에서는 학습데이터 첨삭 후 영상 전처리 학습

웹 크롤링
seaborn, beautifulsoup 라이브러리를 쓴다

DR-01408_박성호_파이썬_연습문제_18차시.pdf
0.49MB

'두산 로보틱스 부트캠프 ROKEY > Python 교육' 카테고리의 다른 글

ep.17 Iterator, Generator  (0) 2024.07.30
ep.16 lambda  (0) 2024.07.29
ep.15 터틀 그래픽스 활용  (0) 2024.07.26
ep.14 자료구조3(시퀀스)  (0) 2024.07.25
ep.13 모듈  (0) 2024.07.24