np.set_printoptions은 numpy 배열의 예쁜 인쇄을 사용자 정의 할 수 있습니다. 그러나 다른 유스 케이스의 경우 다른 인쇄 옵션을 갖고 싶습니다.numpy에 대한 로컬 범위 set_printoptions
이상적으로 이것은 매번 옵션 전체를 재정의 할 필요없이 수행됩니다. 나는 같은 지역의 범위, 뭔가를 사용하는 방법에 대한 생각 :
with np.set_printoptions(precision=3):
print my_numpy_array
그러나, set_printoptions
이 with
문을 지원하지 않는 것, 에러가 (AttributeError: __exit__
) 슬로우됩니다있다. 자신의 예쁜 인쇄 수업을 만들지 않고도이 작업을 할 수있는 방법이 있습니까?
class PrettyPrint():
def __init__(self, **options):
self.options = options
def __enter__(self):
self.back = np.get_printoptions()
np.set_printoptions(**self.options)
def __exit__(self, *args):
np.set_printoptions(**self.back)
그리고로 사용 :이 내가 아니라 내 자신의 상황에 맞는 관리자를 만들 수 있다는 것을 알고있다, 그러나, 거기에
>>> print A
[ 0.29276529 -0.01866612 0.89768998]
>>> with PrettyPrint(precision=3):
print A
[ 0.293 -0.019 0.898]
(바람직하게는 이미 내장)보다 더 간단 뭔가 새로운 수업을 만드는거야?
[그림] (http://stackoverflow.com/a/2891805/190597)의 컨텍스트 관리자를 만드는보다 간단한 방법이 있습니다. – unutbu
@unutbu'contextlib' (그 답변도)에 대해 몰랐어요. 고마워요! 그러나 그것은 여전히 새로운 함수를 정의하는 것을 의미합니다. 나는 아무것도 아닌 것보다 낫다고 생각합니다. –