본문 바로가기

전체 글980

Python 문자열에서 구두점을 제거하는 가장 좋은 방법, Best way to strip punctuation from a string 질문 더 간단한 방법이 있어야 할 것 같습니다: import string s = "string. With. Punctuation?" # 샘플 문자열 out = s.translate(string.maketrans("",""), string.punctuation) 있을까요? 답변 효율적인 관점에서, 다음을 이길 수는 없습니다. s.translate(None, string.punctuation) Python의 더 높은 버전에서는 다음 코드를 사용하십시오: s.translate(str.maketrans('', '', string.punctuation)) 이는 C에서 룩업 테이블을 사용하여 원시 문자열 작업을 수행합니다. 이를 이길 수 있는 것은 C 코드를 직접 작성하는 것뿐입니다. 속도가 걱정되지 않는다면, 다.. 2023. 6. 30.
Python 몽키 패칭이란 무엇인가요?, What is monkey patching? 질문 나는 monkey patching 또는 monkey patch가 무엇인지 이해하려고 노력하고 있습니다. 이것은 메서드/연산자 오버로딩 또는 위임과 비슷한 것인가요? 이러한 것들과 어떤 공통점이 있을까요? 답변 No, it's not like any of those things. It's simply the dynamic replacement of attributes at runtime. For instance, consider a class that has a method get_data. This method does an external lookup (on a database or web API, for example), and various other methods in the class ca.. 2023. 6. 30.
Python 파이썬의 'private' 메소드들이 실제로는 왜 비공개가 아닌가요?, Why are Python's 'private' methods not actually private? 질문 파이썬은 클래스 내에서 이름 앞에 이중 밑줄을 사용하여 '비공개' 메서드와 변수를 생성할 수 있습니다. 예를 들어 이렇게 사용할 수 있습니다: __myPrivateMethod(). 그렇다면, 이것을 어떻게 설명해야 할까요? >>>> class MyClass: ... def myPublicMethod(self): ... print 'public method' ... def __myPrivateMethod(self): ... print 'this is private!!' ... >>> obj = MyClass() >>> obj.myPublicMethod() public method >>> obj.__myPrivateMethod() Traceback (most recent call last): File .. 2023. 6. 30.
Python 파이썬에서 파일을 압축 해제하기, Unzipping files in Python 질문 저는 zipfile 문서를 읽었지만, 파일을 압축 해제하는 방법은 이해할 수 없었습니다. 오직 파일을 압축하는 방법만 알려주고 있었죠. 어떻게 하면 zip 파일의 모든 내용을 동일한 디렉토리에 압축 해제할 수 있을까요? 답변 import zipfile with zipfile.ZipFile(path_to_zip_file, 'r') as zip_ref: zip_ref.extractall(directory_to_extract_to) 그게 대부분이에요! 2023. 6. 30.
Python 내장된 open 함수의 모드 a, a+, w, w+ 및 r+ 간의 차이점은 무엇인가요?, Difference between modes a, a+, w, w+, and r+ in built-in open function? 질문 파이썬 내장 open 함수에서, w, a, w+, a+, 그리고 r+ 모드 간의 정확한 차이는 무엇인가요? 특히, 문서는 이러한 모두가 파일에 쓰기를 허용한다고 암시하며, "추가", "쓰기", 그리고 "업데이트"를 위해 파일을 열었음을 언급하지만, 이러한 용어들이 정확히 무엇을 의미하는지는 정의하지 않습니다. 답변 오프닝 모드는 C 표준 라이브러리 함수인 fopen()과 정확히 동일합니다. BSD fopen 매뉴얼 페이지에서는 다음과 같이 정의합니다: 인수 mode은 다음 중 하나로 시작하는 문자열을 가리킵니다 (이들 시퀀스 뒤에 추가 문자가 올 수 있음): ``r'' 텍스트 파일을 읽기 위해 엽니다. 스트림은 파일의 시작 위치에 있습니다. ``r+'' 읽기 및 쓰기를 위해 엽니다. 스트림은 파일의.. 2023. 6. 30.
Python "__init__.py"가 있어도 "Attempted relative import in non-package" 오류를 어떻게 해결할 수 있을까요?, How to fix "Attempted relative import in non-package" even with __init__.py 질문 나는 다음 디렉토리 구조를 가진 PEP 328을 따르려고 노력하고 있습니다: pkg/ __init__.py components/ core.py __init__.py tests/ core_test.py __init__.py core_test.py에서 다음과 같은 import 문이 있습니다. from ..components.core import GameLoopEvents 그러나 실행하면 다음과 같은 오류가 발생합니다: tests$ python core_test.py Traceback (most recent call last): File "core_test.py", line 3, in from ..components.core import GameLoopEvents ValueError: Attempted .. 2023. 6. 30.
Python 리스트의 모든 순열을 생성하는 방법은 무엇인가요?, How do I generate all permutations of a list? 질문 리스트의 모든 순열을 생성하는 방법은 무엇인가요? 예를 들어: permutations([]) [] permutations([1]) [1] permutations([1, 2]) [1, 2] [2, 1] permutations([1, 2, 3]) [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1] 답변 표준 라이브러리의 itertools.permutations을 사용하세요: import itertools list(itertools.permutations([1, 2, 3])) 여기에서 적용된 itertools.permutations의 구현 예시입니다: def permutations(elements): if len(elements) AB AC AD B.. 2023. 6. 30.
Python f-strings를 사용하여 소수점 이하의 고정된 자릿수를 설정합니다., Fixed digits after decimal with f-strings 질문 파이썬 f-문자열을 사용하여 소수점 이하의 숫자 자릿수를 쉽게 고칠 수 있는 방법이 있나요? (.format이나 %와 같은 다른 문자열 포맷팅 옵션은 아니고, 특히 f-문자열만 해당합니다.) 예를 들어, 소수점 이하 2자리를 표시하려면 어떻게 해야 할까요? 그렇다면 다음과 같다고 가정해 봅시다. a = 10.1234 답변 형식 표현식에 형식 지정자를 포함하세요: >>> a = 10.1234 >>> f'{a:.2f}' '10.12' 2023. 6. 27.