반응형

Python 104

단순히 함수 반환값을 캐시할 수 있는 데코레이터가 있나요?

단순히 함수 반환값을 캐시할 수 있는 데코레이터가 있나요? 다음 사항을 고려하십시오. @property def name(self): if not hasattr(self, '_name'): # expensive calculation self._name = 1 + 1 return self._name 처음이지만 캐싱은 장식가에도 반영될 수 있을 것 같아요.다만, 이것과 같은 것은 발견하지 못했습니다.;) PS 실제 계산은 변동 가능한 값에 의존하지 않습니다.Python 3.2부터는 데코레이터가 내장되어 있습니다. @functools.lru_cache(maxsize=100, typed=False) 데코레이터: 함수를 메모화 콜 가능으로 래핑하여 최신 콜의 최대 크기를 저장합니다.고비용 함수 또는 I/O 바운드 ..

itsource 2022.09.19

모든 목록 요소에서 int() 함수를 호출하시겠습니까?

모든 목록 요소에서 int() 함수를 호출하시겠습니까? 다음과 같은 숫자 문자열이 포함된 목록이 있습니다. numbers = ['1', '5', '10', '8']; 다음과 같이 모든 목록 요소를 정수로 변환합니다. numbers = [1, 5, 10, 8]; 루프를 사용하여 다음과 같이 할 수 있습니다. new_numbers = []; for n in numbers: new_numbers.append(int(n)); numbers = new_numbers; 꼭 그렇게 못생겨야 해요?나는 이것을 한 줄의 코드로 할 수 있는 더 많은 버마적인 방법이 있다고 확신한다.제발 도와주세요.목록 압축의 목적은 다음과 같습니다. numbers = [ int(x) for x in numbers ] Python 2.x에..

itsource 2022.09.18

입력 인수를 기반으로 한 모의 python 함수

입력 인수를 기반으로 한 모의 python 함수 Python에는 Mock을 사용한지 꽤 되었습니다. 지금 우리는 함수를 조롱하고 싶은 상황이 있다. def foo(self, my_param): #do something here, assign something to my_result return my_result 일반적으로 이를 조롱하는 방법은 (foo가 객체의 일부라고 가정)입니다. self.foo = MagicMock(return_value="mocked!") foo()를 몇 번 호출해도 사용할 수 있습니다. self.foo = MagicMock(side_effect=["mocked once", "mocked twice!"]) 지금은 입력 파라미터에 특정 값이 있을 때 고정값을 반환하고 싶은 상황에 처..

itsource 2022.09.18

Tensorflow 디버깅 정보 비활성화

Tensorflow 디버깅 정보 비활성화 디버깅 정보는 Python 오류가 아닌 로드된 라이브러리와 발견된 디바이스 등에 대해 TensorFlow가 내 단말기에 표시하는 것을 의미합니다. I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft...

itsource 2022.09.17

matplotlib 그림에서 축 텍스트 숨기기

matplotlib 그림에서 축 텍스트 숨기기 두 축 모두에 눈금이나 숫자가 없는 도형을 표시하려고 합니다(저는 matplotlib 명명법이 아닌 전통적인 의미의 축을 사용합니다!).matplotlib가 값 N을 빼서 x(y) ticklabel을 조정하고 축 끝에 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 arang..

itsource 2022.09.17

해당 함수 내에서 함수 이름 결정(트레이스백을 사용하지 않음)

해당 함수 내에서 함수 이름 결정(트레이스백을 사용하지 않음) Python을 하지 않고traceback모듈, 해당 기능 내에서 기능 이름을 결정할 수 있는 방법이 있습니까? 를 들어 '모듈이 '고 해 주세요.foobar실 · 시foo.bar() 에 방법이 요?barbar의 이름 름 ? 더 것은은은 '?foo.bar의 이름 름? #foo.py def bar(): print "my name is", __myname__ # >> Foo() Foo >>> Foo2() Foo 그 구별이 당신에게 중요한지 아닌지 나는 말할 수 없다.이 편리한 유틸리티를 근처에 두고 있습니다. import inspect myself = lambda: inspect.stack()[1][3] 사용방법: myself() , 아, 아, 맞..

itsource 2022.09.17

Python 문자열에서 마지막 구분 기호로 분할하시겠습니까?

Python 문자열에서 마지막 구분 기호로 분할하시겠습니까? 문자열에서 딜리미터가 마지막으로 나타날 때 문자열을 분할할 때 권장되는 Python 관용구는 무엇입니까?예: # instead of regular split >> s = "a,b,c,d" >> s.split(",") >> ['a', 'b', 'c', 'd'] # ..split only on last occurrence of ',' in string: >>> s.mysplit(s, -1) >>> ['a,b,c', 'd'] mysplit는 분할할 딜리미터의 발생인두 번째 인수를 사용합니다.일반적인 목록 색인처럼-1끝에서부터의 마지막을 의미합니다.이것이 어떻게 행해지는가?또는 대신 사용: s.rsplit(',', 1) s.rpartition(',')..

itsource 2022.09.17

"최소한의 놀라움" 및 가변 디폴트

"최소한의 놀라움" 및 가변 디폴트 Python을 오랫동안 만지작거리던 사람은 다음 문제로 인해 물린 적이 있다(또는 갈기갈기 찢어진 적이 있습니다. def foo(a=[]): a.append(5) return a Python 이 Python novices의 한 요소만 합니다.[5]그 대신 결과는 매우 다르며 (초보자에게는) 매우 놀랍습니다. >>> foo() [5] >>> foo() [5, 5] >>> foo() [5, 5, 5] >>> foo() [5, 5, 5, 5] >>> foo() 제 매니저는 이 기능을 처음 접한 적이 있는데, 이 기능을 언어의 "극적 디자인 결함"이라고 불렀습니다.나는 그 행동에 근본적인 설명이 있다고 대답했고, 만약 당신이 내면을 이해하지 못한다면 그것은 정말로 매우 곤혹스..

itsource 2022.09.16

Python에서 (값에서 검색하지 않고) 직접 변수로서 사전 키를 얻는 방법은 무엇입니까?

Python에서 (값에서 검색하지 않고) 직접 변수로서 사전 키를 얻는 방법은 무엇입니까? 기본적인 질문입니다만, 검색 결과, 키의 텍스트/이름만을 원하기 때문에 사용하지 않는 것이 좋다고 생각합니다만, 사전에 엔트리가 많으면 2개 이상의 키가 반환될 우려가 있습니다.제가 하려는 일은 이것입니다. mydictionary={'keyname':'somevalue'} for current in mydictionary: result = mydictionary.(some_function_to_get_key_name)[current] print result "keyname" 그 이유는 문서 출력 시 키 이름과 값을 사용하고 싶기 때문입니다. 아래 방법을 봤지만 키 값만 반환되는 것 같습니다. get(key[, de..

itsource 2022.09.16

Django가 실행 중인 원시 SQL 쿼리를 확인하는 방법은 무엇입니까?

Django가 실행 중인 원시 SQL 쿼리를 확인하는 방법은 무엇입니까? 쿼리를 실행하는 동안 Django가 실행 중임을 SQL에 표시할 수 있는 방법이 있습니까?문서 FAQ: "Django가 실행 중인 원시 SQL 쿼리를 확인하는 방법"을 참조하십시오. django.db.connection.queries:에 SQL목록을 나타냅니다 쿼리가 SQL쿼리의 목록을 포함합니다. from django.db import connection print(connection.queries) 쿼리 세트에는 실행할 쿼리를 포함하는 속성도 있습니다. print(MyModel.objects.filter(name="my name").query) 쿼리 출력은 다음 이유로 유효하지 않습니다. "Django는 실제로 매개 변수를 보간..

itsource 2022.09.16
반응형