파이썬49 pytest _ pytest-cov로 coverage 확인하기(실습) GitHub - Daco2020/pytest-cov-practice: Repository for practicing pytest-cov Repository for practicing pytest-cov. Contribute to Daco2020/pytest-cov-practice development by creating an account on GitHub. github.com (실습에 사용하는 소스코드는 위 링크에서 확인할 수 있습니다.) pytest-cov 란? pytest-cov는 --cov 옵션 추가하여 테스트 대상의 coverage를 확인할 수 있습니다. 사용자는 coverage 수치를 통해 테스트의 적용범위를 파악할 수 있습니다. 실습 방법 레포지토리 복사 git clone https://g.. 2022. 9. 5. 파이썬으로 해외 증권거래소 개장일/휴장일 확인하는 방법 덴마크 증권거래소는 몇 시에 열릴까? 국내 증권거래소의 정보는 손쉽게 구할 수 있다. 특히 개장일/휴장일의 경우 우리가 보는 달력만으로도 알 수 있다. 하지만 해외 증권거래소는 파악이 어렵다. 각 국가별로 공휴일이 다를 수 있고 시간도 상이하다. 특히 지역 시간대로 인해 정확한 시간을 파악하는 것이 더 어렵다. 덴마크 증권거래소를 예로 들어보겠다. 덴마크 장시작 시간이 몇 시인지 알고 있는가? 정답은 한국 시간으로 16시에 열린다.(이는 서머타임 시간이며 겨울에는 17시에 열린다.) 이미 본인에게 익숙한 시장이라면 어느 정도 파악해두고 있겠지만 그럼에도 각 국가별로 정확한 개장일과 개장시간을 파악하고 있는 것은 여간 성가신일이 아니다. 이러한 문제를 Python 라이브러리 exchange_calendar.. 2022. 8. 30. Tenacity _ 예외가 발생한 함수를 다시 실행하려면? Tenacity 란? 보통 에러나 예외처리에 의해 런타임이 종료될 때가 있다. Tenacity는 런타임 종료없이 함수를 다시 실행시켜주는 Python 라이브러리이다. 사용법 1. Tenacity 설치 pip install tenacity 2. Tenacity 라이브러리 가져오기 및 함수 작성 import tenacity def throw_error(): print("running...") raise ValueError("Errors make me stronger") if __name__ == "__main__": throw_error() 이대로 스크립트를 실행해보면 우리가 의도한대로 에러가 발생하며 곧바로 스크립트가 종료된다. running... Traceback (most recent call last.. 2022. 8. 27. Black _ Code Formatter 회피하는 방법 Black Code Formatter를 사용하는 이유는 일관된 코드 스타일을 유지함으로써 코드 가독성을 높이고 개발자들 간의 원활한 커뮤니케이션을 유도하기 위함이다. Python에서도 포맷팅 라이브러리가 있는데, 그중 Black은 대중적으로 많이 사용하는 Code Formatter 중에 하나이다. Code Formatter는 보통 '파일을 저장할 때'나 혹은 '커밋을 생성할 때' 등 자동 실행되도록 지정한다. 그런데 가끔은 Code Formatter 가 실행되지 않았으면 하는 때가 있다. 예를 들어 아래와 같은 dictionary가 있다고 가정해보자. 이를 포멧팅 하면 다음처럼 스타일이 수정된다. 포맷팅을 적용한 결과 코드라인이 13줄에서 58줄로 늘어났다... 이런 경우에는 포맷팅이 오히려 가독성을 떨.. 2022. 8. 19. Python _ Protocol로 인터페이스 만드는 방법 Python에서 인터페이스를 구현하는 방법에는 여러 가지가 있지만 이번 글에서는 Protocol을 이용한 방법을 소개한다. 인터페이스란? 쉽게 말해 외부와 소통하기 위해 필요한 메서드를 정의한것이다. 하위 모듈들은 해당 인터페이스에 맞춰 기능을 구현한다. Protocol 사용법 아래 코드를 보자. from typing import Protocol class 감정(Protocol): def 기쁘다(self) -> str: ... def 슬프다(self) -> str: ... class 사람: def 기쁘다(self) -> str: return "기뻐!" def 화나다(self) -> str: return "화나!" class 사회생활: def 시작(self, 사람: 감정) -> None: self.사람 =.. 2022. 8. 16. 모노스테이트, 메타클래스, 싱글톤 구현예시 모노스테이트 싱글톤 패턴 The Monostate Singleton Pattern 객체 생성여부 보다는 상태와 행위에 초점을 맞춘 패턴 단일 객체가 아닌, 모든 객체가 같은 상태를 공유하는 패턴 __init__ 으로 구현 하는 방법 # __init__ 으로 구현하는 방법 class Mono: __shared_state = {"공유":"데이터"} def __init__(self): self.data = 1 self.__dict__ = self.__shared_state pass obj = Mono() obj.data = 9999 other_obj = Mono() print(f"{obj=}") print(f"{other_obj=}") """ 결과값. 서로 다른 인스턴스임을 확인할 수 있음 obj= other.. 2022. 5. 25. 이전 1 2 3 4 5 ··· 9 다음