matplotlib._api
#
Matplotlib API를 관리하기 위한 도우미 함수입니다.
이 문서는 사용자가 아닌 Matplotlib 개발자에게만 해당됩니다.
경고
이 모듈과 해당 하위 모듈은 내부 전용입니다. 자신의 코드에서 사용하지 마십시오. 경고 없이 언제든지 API를 변경할 수 있습니다.
- matplotlib._api. caching_module_getattr ( cls ) [출처] #
모듈 수준
__getattr__
을 클래스로 구현하기 위한 도우미 데코레이터.이 데코레이터는 다음과 같이 모듈 최상위 수준에서 사용해야 합니다.
@caching_module_getattr class __getattr__: # The class *must* be named ``__getattr__``. @property # Only properties are taken into account. def name(self): ...
클래스 는 모듈에 대한 액세스 시도가 해당 속성을 해결
__getattr__
하는 함수로 대체될 것 입니다(예: 모듈 전역을 더 이상 사용하지 않도록 데코레이션될 수 있음). 속성은 모두 암시적으로 캐시됩니다. 게다가 주어진 이름을 가진 속성이 존재하지 않으면 적절한 AttributeError가 생성되고 발생합니다.__getattr__
name
_api.deprecated
- matplotlib._api. check_getitem ( _mapping , ** kwargs ) [출처] #
kwargs 는 단일 키, 값 쌍으로 구성되어야 합니다. 키 가 _mapping 에 있으면
_mapping[value]
; 그렇지 않으면 적절한 ValueError를 발생시킵니다.예
>>> _api.check_getitem({"foo": "bar"}, arg=arg)
- matplotlib._api. check_in_list ( _values , * , _print_supported_values = True , ** kwargs ) [출처] #
kwargs 의 각 키, 값 쌍에 대해 값 이 _values 에 있는지 확인합니다 .
- 매개변수 :
- _값 반복 가능
확인할 값의 시퀀스입니다.
- _print_supported_values 부울, 기본값: True
ValueError 발생 시 _values 를 인쇄할지 여부 .
- **kwargs 사전
키, 값 쌍을 _values 에서 찾을 키워드 인수로 사용 합니다.
- 레이즈 :
- 값 오류
kwargs 의 값 이 _values 에서 발견되지 않는 경우 .
예
>>> _api.check_in_list(["foo", "bar"], arg=arg, other_arg=other_arg)
- matplotlib._api. check_isinstance ( _types , ** kwargs ) [출처] #
kwargs 의 각 키, 값 쌍에 대해 값 이 _types 중 하나의 인스턴스인지 확인합니다 . 그렇지 않은 경우 적절한 TypeError를 발생시킵니다.
특수한 경우 로 _types
None
의 항목은 NoneType으로 처리됩니다.예
>>> _api.check_isinstance((SomeClass, None), arg=arg)
- matplotlib._api. check_shape ( _shape , ** kwargs ) [출처] #
kwargs 의 각 키, 값 쌍에 대해 값 이 _shape 모양 인지 확인하고 , 그렇지 않은 경우 적절한 ValueError를 발생시킵니다.
모양의 어떤 것도 길이를 가질 수 있는 "자유로운" 크기로 처리됩니다. 예: (없음, 2) -> (N, 2)
확인된 값은 numpy 배열이어야 합니다.
예
(N, 2) 모양의 배열을 확인하려면
>>> _api.check_shape((None, 2), arg=arg, other_arg=other_arg)
- 클래스 matplotlib._api. 클래스 속성 ( fget , fset = 없음 , fdel = 없음 , doc = 없음 ) [출처] #
베이스:
object
와
property
비슷하지만 클래스를 통한 액세스에서도 트리거 되며 인수로 전달되는 클래스 입니다.예
class C: @classproperty def foo(cls): return cls.__name__ assert C.foo == "C"
- 속성 fget #
- matplotlib._api. define_aliases ( alias_d , cls = 없음 ) [소스] #
속성 별칭을 정의하기 위한 클래스 데코레이터.
로 사용
@_api.define_aliases({"property": ["alias", ...], ...}) class C: ...
각 속성에 대해 해당 항목
get_property
이 지금까지 클래스에 정의되어 있으면 명명된 별칭get_alias
이 정의됩니다. 세터도 마찬가지입니다. getter와 setter가 모두 존재하지 않으면 예외가 발생합니다.앨리어스 맵은
_alias_map
클래스의 속성으로 저장되며 에서 사용할 수 있습니다normalize_kwargs
(우선 순위가 높은 앨리어스가 마지막이라고 가정).
- matplotlib._api. select_matching_signature ( funcs , * args , ** kwargs ) [소스] #
를 수락하는 함수를 선택하고 호출합니다 .
*args, **kwargs
funcs 는 예외를 발생시키지 않아야 하는 함수 목록입니다(
TypeError
전달된 인수가 서명과 일치하지 않는 경우 제외).select_matching_signature
funcs 의 각 함수를 (주어진 순서대로) 호출하려고 시도 합니다 . 실패하는 호출 은 자동으로 건너뜁니다. 호출이 성공하는 즉시 반환 값을 반환합니다. 어떤 함수도 받아들이지 않으면 마지막 실패한 호출에 의해 발생한 가 다시 발생합니다.*args, **kwargs
TypeError
select_matching_signature
*args, **kwargs
TypeError
호출자는 일반적으로 any 가 단일 func 만 바인딩할 수 있는지 확인해야 합니다 (모호함을 방지하기 위해). 에서 확인하지는 않습니다 .
*args, **kwargs
select_matching_signature
메모
select_matching_signature
시그니처 오버로드 기능을 구현하는 데 도움이 됩니다. 일반적으로 이전 버전과의 호환성 문제를 제외하고 이러한 기능은 피해야 합니다. 일반적인 사용 패턴은def my_func(*args, **kwargs): params = select_matching_signature( [lambda old1, old2: locals(), lambda new: locals()], *args, **kwargs) if "old1" in params: warn_deprecated(...) old1, old2 = params.values() # note that locals() is ordered. else: new, = params.values() # do things with params
두 개의 매개변수( old1 및 old2 ) 또는 단일 매개변수( new ) 를 사용 하여 my_func 를 호출할 수 있습니다 . 새 서명은 마지막에 제공되므로 호출자가 전달한 인수가 서명과 일치하지 않는 경우 새 서명에 해당하는 서명을 얻습니다.
TypeError
- matplotlib._api. warn_external ( 메시지 , 카테고리 = 없음 ) [출처] #
warnings.warn
stacklevel 을 "외부 Matplotlib"로 설정하는 래퍼 .경고의 원래 발신자는 이 기능을
warnings.warn
, 즉 (또는 등)에 다시 패치하여 얻을 수 있습니다._api.warn_external = warnings.warn
functools.partial(warnings.warn, stacklevel=2)
Matplotlib API의 일부를 지원 중단하기 위한 도우미 함수.
이 문서는 사용자가 아닌 Matplotlib 개발자에게만 해당됩니다.
경고
이 모듈은 내부 전용입니다. 자신의 코드에서 사용하지 마십시오. 경고 없이 언제든지 API를 변경할 수 있습니다.
- 예외 matplotlib._api.deprecation. MatplotlibDeprecationWarning [출처] #
-
Matplotlib 사용자에 대한 지원 중단 경고를 발행하는 클래스입니다.
- matplotlib._api.deprecation. delete_parameter ( 이후 , 이름 , func = 없음 , ** kwargs ) [소스] #
func 의 매개변수 이름 이 더 이상 사용되지 않음 을 나타내는 데코레이터 입니다.
func 의 실제 구현은 서명에 이름 매개변수를 유지 하거나
**kwargs
인수( 이름 이 전달되는)를 수락해야 합니다.사용되지 않는 매개변수 뒤에 오는 매개변수는 실질적으로 키워드 전용이 되며(사용되지 않는 매개변수에 대한 DeprecationWarning을 트리거하지 않고는 위치적으로 전달될 수 없기 때문에) 사용되지 않는 기간이 경과하고 사용되지 않는 매개변수가 제거된 후에 그렇게 표시되어야 합니다.
이후 , name 및 func 이외의 매개변수 는 키워드 전용이며 에 전달됩니다
warn_deprecated
.예
@_api.delete_parameter("3.1", "unused") def func(used_arg, other_arg, unused, more_args): ...
- matplotlib._api.deprecation. deprecate_method_override ( method , obj , * , allow_empty = False , ** kwargs ) [출처] #
obj.method
재정의된 경우 지원 중단으로 반환 하고 그렇지 않으면 없음으로 반환합니다.- 매개변수 :
- 방법
바인딩되지 않은 메서드, 즉
Class.method_name
. 메서드 본문 내에서__class__
현재 정의 중인 클래스를 참조하기 위해 항상 를 사용할 수 있음을 기억하십시오.- 객체
메서드 가 정의된 클래스의 객체 이거나 해당 클래스의 하위 클래스입니다.
- allow_empty 부울, 기본값: 거짓
경고를 표시하지 않고 "빈" 메서드에 의한 재정의를 허용할지 여부입니다.
- **kwargs
warn_deprecated
지원 중단 경고를 생성 하기 위해 전달된 추가 매개변수 입니다. 최소한 "since" 키를 포함해야 합니다.
- 클래스 matplotlib._api.deprecation. deprecate_privatize_attribute ( * args , ** kwargs ) [출처] #
베이스:
object
속성(또는 메소드)에 대한 공개 액세스를 더 이상 사용하지 않는 헬퍼.
이 도우미는 다음과 같이 클래스 범위에서만 사용해야 합니다.
class Foo: attr = _deprecate_privatize_attribute(*args, **kwargs)
여기서 모든 매개변수는 로 전달됩니다
deprecated
. 이 형식은 사용 중단 경고와 함께attr
읽기 및 쓰기 액세스를 전달하는 속성self._attr
(동일한 이름이지만 앞에 밑줄이 있음)을 만듭니다. 속성 이름은 이 도우미가 할당된 이름 에서 파생 됩니다 . 이 도우미는 사용 중단 메서드에도 작동합니다.
- matplotlib._api.deprecation. 더 이상 사용되지 않음 ( , * , 메시지 = '' , 이름 = '' , 대안 = '' , 보류 중 = False , obj_type = None , addendum = '' , 제거 = '' ) [소스 ] #
함수, 클래스 또는 속성을 더 이상 사용되지 않는 것으로 표시하는 데코레이터입니다.
classmethod, staticmethod 또는 속성을 더 이상 사용하지 않을 때
@deprecated
데코레이터는 and 로 이동해야 하지만@classmethod
(@staticmethod
즉, 기본 콜러블 을deprecated
직접 장식해야 함) .@property
C
다중 상속 계층 구조에서 기본 클래스로 사용하려는 클래스를 폐기할 때 메서드 를 정의C
해야 합니다 ( 대신 자체 기본 클래스에서 상속하는 경우 자체 설치 시 상속 이 엉망이 됨(사용 중단됨) ).__init__
C
__init__
@deprecated
__init__
C.__init__
매개변수는 클래스를 장식하는 경우 obj_type 이 'class'로, 속성을 장식하는 경우 'attribute'로, 그렇지 않으면 'function'으로 기본 설정
warn_deprecated
된다는 점을 제외하면 for 와 동일합니다.예
@deprecated('1.4.0') def the_function_to_deprecate(): pass
- matplotlib._api.deprecation. make_keyword_only ( 이후 , 이름 , func = 없음 ) [소스] #
매개 변수 이름 (또는 다음 중 하나)을 func 에 전달하는 것이 더 이상 사용되지 않음을 나타내는 데코레이터 입니다.
pyplot 래퍼가 있는 메서드에서 사용하는
boilerplate.py
경우 원래 서명에 액세스할 수 있도록 가장 바깥쪽 데코레이터여야 합니다.
- matplotlib._api.deprecation. rename_parameter ( 이후 , old , new , func = None ) [소스] #
func 의 old 매개변수가 new 로 이름이 바뀌었음을 나타내는 데코레이터 .
func 의 실제 구현은 old 가 아니라 new 를 사용해야 합니다 . old 가 func 에 전달 되면 DeprecationWarning이 발생하고 new 도 키워드로 전달 되더라도 해당 값이 사용됩니다 (이는 항상 Axes 메서드에 명시적으로 new 를 전달하는 pyplot 래퍼 함수를 단순화하기 위한 것입니다). new 도 전달되지만 위치적으로 전달 되면 인수 바인딩 중에 기본 함수에 의해 TypeError가 발생합니다.
예
@_api.rename_parameter("3.1", "bad_name", "good_name") def func(good_name): ...
- matplotlib._api.deprecation. warn_deprecated ( 이후 , * , 메시지 = '' , 이름 = '' , 대안 = '' , 보류 중 = False , obj_type = '' , addendum = '' , 제거 = '' ) [출처] #
표준화된 지원 중단을 표시합니다.
- 매개변수 :
- 이후 str
이 API가 더 이상 사용되지 않는 릴리스입니다.
- 메시지 문자열, 선택 사항
기본 지원 중단 메시지를 재정의합니다. ,
%(since)s
,%(name)s
,%(alternative)s
, 형식 지정자는 이 함수%(obj_type)s
에 전달된 각 인수의 값으로 대체됩니다.%(addendum)s
%(removal)s
- 이름 문자열, 선택 사항
사용되지 않는 개체의 이름입니다.
- 대체 str, 선택 사항
사용되지 않는 API 대신 사용자가 사용할 수 있는 대체 API입니다. 사용 중단 경고는 제공되는 경우 이 대안에 대해 사용자에게 알려줍니다.
- 보류 중인 부울, 선택 사항
True인 경우 DeprecationWarning 대신 PendingDeprecationWarning을 사용합니다. 제거 와 함께 사용할 수 없습니다 .
- obj_type 문자열 , 선택 사항
더 이상 사용되지 않는 개체 유형입니다.
- 부록 str, 선택사항
최종 메시지에 직접 추가되는 추가 텍스트입니다.
- 제거 문자열, 선택 사항
예상 제거 버전입니다. 기본값(빈 문자열)을 사용하면 제거 버전이 이후부터 자동으로 계산됩니다 . 제거 날짜를 예약하지 않으려면 다른 Falsy 값으로 설정하십시오. pending 과 함께 사용할 수 없습니다 .
예
# To warn of the deprecation of "matplotlib.name_of_module" warn_deprecated('1.4.0', name='matplotlib.name_of_module', obj_type='module')