본문 바로가기

전체 글980

Python 내 파이썬 쉘이 32비트인지 64비트인지 어떻게 확인할 수 있나요?, How do I determine if my python shell is executing in 32bit or 64bit? 질문 쉘 내에서 쉘이 어떤 모드인지 어떻게 알 수 있을까요? platform 모듈을 살펴봤지만, 이 모듈은 "실행 파일에 사용된 비트 아키텍처와 링크 형식에 대해서만 알려줍니다". 제 바이너리는 64비트로 컴파일되었고 (OS X 10.6에서 실행 중입니다), 그래서 항상 64비트를 보고하는 것 같습니다. 하지만 저는 여기에서 설명된 방법을 사용하여 32비트 모드로 강제로 설정하고 있습니다. 답변 하나의 방법은 여기서 sys.maxsize를 확인하는 것입니다: $ python-32 -c 'import sys;print("%x" % sys.maxsize, sys.maxsize > 2**32)' ('7fffffff', False) $ python-64 -c 'import sys;print("%x" % sys... 2023. 10. 9.
Python 모듈의 import 문은 항상 맨 위에 있어야 합니까?, Should import statements always be at the top of a module? 질문 PEP 8는 다음과 같이 명시합니다: 임포트는 항상 파일의 맨 위에 위치하며, 모듈 주석과 독스트링 바로 다음에 오고, 모듈 전역 변수와 상수 앞에 위치합니다. 하지만 내가 임포트하는 클래스/메소드/함수가 드물게 사용되는 경우, 필요할 때만 임포트하는 것이 더 효율적이지 않을까요? 이렇게 하는 것이: class SomeClass(object): def not_often_called(self) from datetime import datetime self.datetime = datetime.now() 이렇게 하는 것보다 더 효율적이지 않을까요? from datetime import datetime class SomeClass(object): def not_often_called(self) self.d.. 2023. 10. 9.
Python 파이썬 문자열.replace 정규 표현식 [중복], Python string.replace regular expression [duplicate] 질문 나는 다음과 같은 형식의 매개변수 파일을 가지고 있습니다: parameter-name parameter-value 매개변수는 어떤 순서로든 있을 수 있지만 한 줄에는 하나의 매개변수만 있습니다. 나는 한 매개변수의 parameter-value를 새 값으로 바꾸고 싶습니다. 나는 이전에 게시된 라인 교체 함수 를 사용하여 Python의 string.replace(pattern, sub)을 사용하여 라인을 교체하고 있습니다. 제가 사용하는 정규 표현식은 vim에서 작동하지만 string.replace()에서 작동하지 않는 것 같습니다. 다음은 제가 사용하는 정규 표현식입니다: line.replace("^.*interfaceOpDataFile.*$/i", "interfaceOpDataFile %s" % .. 2023. 10. 9.
Python 리스트 vs 튜플, 각각 언제 사용해야 하나요? [중복], List vs tuple, when to use each? [duplicate] 질문 파이썬에서는 언제 리스트를 사용하고 언제 튜플을 사용해야 할까요? 가끔 선택의 여지가 없을 때도 있습니다. 예를 들어 "hello %s you are %s years old" % x 이렇게 할 경우 x는 튜플이어야 합니다. 하지만 API를 디자인하고 데이터 유형을 선택할 수 있는 사람이라면 가이드라인은 무엇일까요? 답변 튜플은 고정 크기입니다. 반면에 리스트는 동적입니다. 다른 말로, 튜플은 불변이고 리스트는 가변입니다. 튜플에 요소를 추가할 수 없습니다. 튜플에는 append나 extend 메서드가 없습니다. 튜플에서 요소를 제거할 수 없습니다. 튜플에는 remove나 pop 메서드가 없습니다. 튜플에서 요소를 찾을 수 있습니다. 이는 튜플을 변경하지 않기 때문입니다. in 연산자를 사용하여 튜플.. 2023. 10. 9.
Python 파이썬에서 날짜 범위를 반복하는 것, Iterating through a range of dates in Python 질문 다음과 같은 코드가 있습니다. 그러나 어떻게 더 좋게 할 수 있을까요? 현재는 중첩된 루프보다는 더 좋다고 생각하지만, 생성기가 목록 표현식에 포함되면 Perl-one-linerish해집니다. day_count = (end_date - start_date).days + 1 for single_date in [d for d in (start_date + timedelta(n) for n in range(day_count)) if d 2023. 10. 9.
Python 문자열에서 한 문자를 변경하는 것, Changing one character in a string 질문 파이썬에서 문자열에서 문자를 바꾸는 가장 쉬운 방법은 무엇인가요? 예를 들어: text = "abcdefg"; text[1] = "Z"; ^ 답변 문자열을 수정하지 마세요. 리스트로 작업하고 필요할 때만 문자열로 변환하세요. >>> s = list("Hello zorld") >>> s ['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd'] >>> s[6] = 'W' >>> s ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'] >>> "".join(s) 'Hello World' 파이썬 문자열은 변경할 수 없습니다. 이에는 다양한 이유가 있습니다. 가능한 한 리스트를 사용하고, 필요한 경우에만 문자열로 변환하.. 2023. 10. 9.
Python matplotlib 그림에서 축 텍스트를 숨기기, Hiding axis text in matplotlib plots 질문 나는 무늬나 숫자가 없는 축(나는 matplotlib 용어가 아닌 전통적인 의미의 축을 사용한다!)으로 그림을 그리려고 한다. 내가 마주친 문제는 matplotlib이 x(y)ticklabels을 값 N을 빼고 축 끝에 N을 추가하는 것이다. 이것은 모호할 수 있지만, 다음과 같은 단순화된 예제는 문제를 강조하고 있으며, '6.18'은 N의 문제가되는 값이다: import matplotlib.pyplot as plt import random prefix = 6.18 rx = [prefix+(0.001*random.random()) for i in arange(100)] ry = [prefix+(0.001*random.random()) for i in arange(100)] plt.plot(rx,ry.. 2023. 10. 8.
Python 내 타입 힌트에서 함수 타입을 어떻게 지정할 수 있을까요?, How can I specify the function type in my type hints? 질문 변수의 타입 힌트를 함수 타입으로 지정하는 방법은 어떻게 되나요? typing.Function은 없고, 관련된 PEP인 PEP 483에도 그에 대한 내용을 찾을 수 없었습니다. 답변 As @jonrsharpe noted in a comment, this can be done with typing.Callable: from typing import Callable def my_function(func: Callable): Note: Callable on its own is equivalent to Callable[..., Any]. Such a Callable takes any number and type of arguments (...) and returns a value of any type (A.. 2023. 10. 8.