본문 바로가기

Python/Python FAQ540

Python 모듈을 사용할 때 'import module' 또는 'from module import'를 사용하나요?, Use 'import module' or 'from module import'? 질문 나는 import module을 사용하는 것이 좋은지 아니면 from module import을 사용하는 것이 좋은지에 대한 포괄적인 가이드를 찾아보려고 노력했습니다. 나는 막 Python을 시작했고, 최상의 방법을 염두에 두고 시작하려고 합니다. 기본적으로, 누군가 자신의 경험을 공유해주거나, 다른 개발자들이 선호하는 방법, 그리고 앞으로 발생할 수 있는 어려움을 피하는 가장 좋은 방법에 대해 알려주실 수 있을까요? 답변 import module과 from module import foo의 차이점은 주로 주관적입니다. 가장 좋아하는 방법을 선택하고 일관성 있게 사용하십시오. 결정을 돕기 위해 다음은 몇 가지 포인트입니다. import module 장점: import 문을 유지하는 것이 덜 필요합니.. 2023. 9. 13.
Python에서 **kwargs를 올바르게 사용하는 방법, Proper way to use **kwargs in Python 질문 **kwargs를 기본값으로 사용하는 경우 Python에서 올바른 방법은 무엇인가요? kwargs는 사전을 반환하지만, 기본값을 설정하는 가장 좋은 방법은 무엇인가요? 단순히 사전으로 접근해야 할까요? get 함수를 사용해야 할까요? class ExampleClass: def __init__(self, **kwargs): self.val = kwargs['val'] self.val2 = kwargs.get('val2') 내가 본 코드에서 사람들은 서로 다른 방식으로 이를 수행하며, 어떤 것을 사용해야 할지 알기 어렵습니다. 답변 딕셔너리에 없는 키에 대해 get()에 기본값을 전달할 수 있습니다: self.val2 = kwargs.get('val2',"기본값") 하지만, 특정 기본값을 가진 특정 인.. 2023. 9. 13.
ISO 8601 datetime 문자열을 Python datetime 객체로 어떻게 번역하나요? [중복], How do I translate an ISO 8601 datetime string into a Python datetime object? [duplicate] 질문 날짜 및 시간 문자열을 "2009-05-28T16:15:00"과 같은 형식으로 받고 있습니다 (ISO 8601인 것 같습니다). 하나의 해킹적인 옵션은 time.strptime을 사용하여 문자열을 구문 분석하고 튜플의 첫 6개 요소를 datetime 생성자에 전달하는 것입니다. 예를 들면 다음과 같습니다: datetime.datetime(*time.strptime("2007-03-04T21:08:12", "%Y-%m-%dT%H:%M:%S")[:6]) 더 "깨끗한" 방법을 찾지 못했습니다. 그런 방법이 있을까요? 답변 나는 일반적으로 시간대 처리와 일반적으로 견고한 날짜 구문 분석을 위해 dateutil 라이브러리를 선호합니다. ISO 8601 문자열인 2010-05-08T23:41:54.000Z와 .. 2023. 9. 13.
Python 큰 파일을 한 줄씩 읽는 방법은 무엇인가요?, How to read a large file - line by line? 질문 전체 파일의 각 줄을 반복하고 싶습니다. 이를 위해 전체 파일을 읽어 리스트에 저장한 다음 관심 있는 줄을 처리합니다. 이 방법은 많은 메모리를 사용하므로 다른 대안을 찾고 있습니다. 지금까지 작성한 코드: for each_line in fileinput.input(input_file): do_something(each_line) for each_line_again in fileinput.input(input_file): do_something(each_line_again) 이 코드를 실행하면 오류 메시지가 표시됩니다: device active. 어떤 제안이 있나요? 목적은 각 줄에 대해 모든 다른 줄과 Levenshtein 거리를 계산하는 것입니다. 2022년 11월 수정: 이 질문보다 8개월 뒤.. 2023. 9. 13.