본문 바로가기

전체 글980

Python 예외를 적절하게 무시하는 방법, How to properly ignore exceptions 질문 Python에서 예외 처리를 처리하지 않고 try-except를 수행하려면 어떻게해야합니까? 다음이 올바른 방법인가요? try: shutil.rmtree(path) except: pass 답변 try: doSomething() except Exception: pass 또는 try: doSomething() except: pass 차이점은 두 번째 방법은 직접적으로 BaseException에서 파생된 KeyboardInterrupt, SystemExit와 같은 것도 잡을 수 있다는 것입니다. 자세한 내용은 문서를 참조하십시오: try문 예외 하지만 모든 오류를 잡는 것은 일반적으로 좋은 방법이 아닙니다. "except: pass"가 나쁜 프로그래밍 관행인 이유를 참조하십시오. 2023. 6. 7.
Python functools.wraps는 무엇을 하는 것인가요?, What does functools.wraps do? 질문 다른 질문에 대한 답변에 댓글에서, 누군가는 functools.wraps가 무엇을 하는지 확실하지 않다고 말했습니다. 그래서, 나는 이 질문을 하여 나중에 StackOverflow에서 참고할 기록이 있도록 하고 싶습니다: functools.wraps는 정확히 무엇을 하는가요? 답변 데코레이터를 사용하면 하나의 함수를 다른 함수로 대체합니다. 다시 말해, 데코레이터를 사용하는 경우 def logged(func): def with_logging(*args, **kwargs): print(func.__name__ + " was called") return func(*args, **kwargs) return with_logging 위와 같은 데코레이터가 있다면 @logged def f(x): """does.. 2023. 6. 7.
Python 문자열 목록에서 빈 문자열을 제거합니다., Remove empty strings from a list of strings 질문 나는 파이썬에서 문자열 목록에서 모든 빈 문자열을 제거하고 싶습니다. 내 아이디어는 다음과 같습니다: while '' in str_list: str_list.remove('') 이것을 더 파이썬스럽게 할 수 있는 방법이 있나요? 답변 나는 filter를 사용할 것이다: str_list = filter(None, str_list) str_list = filter(bool, str_list) str_list = filter(len, str_list) str_list = filter(lambda item: item, str_list) Python 3는 filter에서 이터레이터를 반환하기 때문에 list() 호출로 래핑해야 한다. str_list = list(filter(None, str_list)) 2023. 6. 7.
Python pip install mysql-python가 환경 오류로 실패했습니다: mysql_config를 찾을 수 없습니다., pip install mysql-python fails with EnvironmentError: mysql_config not found 질문 This is the error I get (mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python Downloading/unpacking mysql-python Downloading MySQL-python-1.2.3.tar.gz (70Kb): 70Kb downloaded Running setup.py egg_info for package mysql-python sh: mysql_config: not found Traceback (most recent call last): File "", line 14, in File "/home/zjm1126/zjm_test/mysite/build/mysql-python/setup.p.. 2023. 6. 7.
IPython 노트북에서 matplotlib 플롯을 인라인으로 만드는 방법, How to make IPython notebook matplotlib plot inline 질문 나는 Python 2.7.2와 IPython 1.1.0이 설치된 MacOS X에서 IPython 노트북을 사용하려고 노력하고 있습니다. 하지만 matplotlib 그래픽이 인라인으로 나타나지 않습니다. import matplotlib import numpy as np import matplotlib.pyplot as plt %matplotlib inline %pylab inline과 ipython 명령줄 인수 --pylab=inline도 시도해 보았지만, 이에는 차이가 없습니다. x = np.linspace(0, 3*np.pi, 500) plt.plot(x, np.sin(x**2)) plt.title('A simple chirp') plt.show() 인라인 그래픽 대신에 다음과 같은 결과가 나타납.. 2023. 6. 7.
Python 리스트 컴프리헨션 대 맵, List comprehension vs map 질문 map()를 사용하는 것이 리스트 컴프리헨션보다 나은 이유가 있나요? 그리고 그 반대의 경우도 마찬가지인가요? 어느 것이 일반적으로 더 효율적이거나 Pythonic하다고 생각되나요? 답변 map는 경우에 따라 (람다를 만드는 대신 map과 리스트 컴프리헨션에서 동일한 함수를 사용할 때) 미세하게 더 빠를 수 있습니다. 리스트 컴프리헨션은 다른 경우에 더 빠를 수 있으며 대부분의 (모든 것이 아닌) Pythonista는 더 직접적이고 명확하다고 생각합니다. 동일한 함수를 사용할 때 map의 미세한 속도 이점의 예: $ python -m timeit -s'xs=range(10)' 'map(hex, xs)' 100000 loops, best of 3: 4.86 usec per loop $ python -.. 2023. 6. 6.
Python 변수가 함수인지 감지하는 방법은 무엇인가요?, How do I detect whether a variable is a function? 질문 나는 변수 x가 함수를 가리키는지 여부를 알고 싶습니다. 나는 다음과 같은 작업을 할 수 있기를 희망했습니다: >>> isinstance(x, function) 하지만 그것은 다음을 제공합니다: Traceback (most recent call last): File "", line 1, in ? NameError: name 'function' is not defined 그것을 선택한 이유는 다음과 같습니다. >>> type(x) 답변 만약 이것이 Python 2.x 또는 Python 3.2+를 위한 것이라면, callable()을 사용할 수 있습니다. 이전에는 사용이 중단되었지만, 지금은 중단이 해제되어 다시 사용할 수 있습니다. 이에 대한 토론은 여기에서 읽을 수 있습니다: http://bugs... 2023. 6. 6.
Python 파이썬으로 파일에 새 줄로 목록 작성하기, Writing a list to a file with Python, with newlines 질문 파일에 목록을 작성하는 방법은 무엇인가요? writelines()는 새 줄 문자를 삽입하지 않으므로 다음과 같이 해야합니다: f.writelines([f"{line}\n" for line in lines]) 답변 루프를 사용하세요: with open('your_file.txt', 'w') as f: for line in lines: f.write(f"{line}\n") Python > f, line 하나의 함수 호출에 집착한다면, 적어도 대괄호 []를 제거하여 인쇄할 문자열이 한 번에 하나씩 생성되도록하십시오(리스트 대신 genexp) - 전체 문자열 목록을 구체화하는 데 필요한 모든 메모리를 사용할 이유가 없습니다. 2023. 6. 6.