當前位置: 首頁>>代碼示例>>Python>>正文


Python typing.TypedDict方法代碼示例

本文整理匯總了Python中typing.TypedDict方法的典型用法代碼示例。如果您正苦於以下問題:Python typing.TypedDict方法的具體用法?Python typing.TypedDict怎麽用?Python typing.TypedDict使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在typing的用法示例。


在下文中一共展示了typing.TypedDict方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: _typeddict_new

# 需要導入模塊: import typing [as 別名]
# 或者: from typing import TypedDict [as 別名]
def _typeddict_new(cls, _typename, _fields=None, **kwargs):
        total = kwargs.pop('total', True)
        if _fields is None:
            _fields = kwargs
        elif kwargs:
            raise TypeError("TypedDict takes either a dict or keyword arguments,"
                            " but not both")

        ns = {'__annotations__': dict(_fields), '__total__': total}
        try:
            # Setting correct module is necessary to make typed dict classes pickleable.
            ns['__module__'] = sys._getframe(1).f_globals.get('__name__', '__main__')
        except (AttributeError, ValueError):
            pass

        return _TypedDictMeta(_typename, (), ns) 
開發者ID:thombashi,項目名稱:pytablewriter,代碼行數:18,代碼來源:_typing.py

示例2: __new__

# 需要導入模塊: import typing [as 別名]
# 或者: from typing import TypedDict [as 別名]
def __new__(cls, name, bases, ns, total=True):
            # Create new typed dict class object.
            # This method is called directly when TypedDict is subclassed,
            # or via _typeddict_new when TypedDict is instantiated. This way
            # TypedDict supports all three syntaxes described in its docstring.
            # Subclasses and instances of TypedDict return actual dictionaries
            # via _dict_new.
            ns['__new__'] = _typeddict_new if name == 'TypedDict' else _dict_new
            tp_dict = super(_TypedDictMeta, cls).__new__(cls, name, (dict,), ns)

            anns = ns.get('__annotations__', {})
            msg = "TypedDict('Name', {f0: t0, f1: t1, ...}); each t must be a type"
            anns = {n: typing._type_check(tp, msg) for n, tp in anns.items()}
            for base in bases:
                anns.update(base.__dict__.get('__annotations__', {}))
            tp_dict.__annotations__ = anns
            if not hasattr(tp_dict, '__total__'):
                tp_dict.__total__ = total
            return tp_dict 
開發者ID:thombashi,項目名稱:pytablewriter,代碼行數:21,代碼來源:_typing.py

示例3: _check_fails

# 需要導入模塊: import typing [as 別名]
# 或者: from typing import TypedDict [as 別名]
def _check_fails(cls, other):
        try:
            if sys._getframe(1).f_globals['__name__'] not in ['abc',
                                                              'functools',
                                                              'typing']:
                # Typed dicts are only for static structural subtyping.
                raise TypeError('TypedDict does not support instance and class checks')
        except (AttributeError, ValueError):
            pass
        return False 
開發者ID:thombashi,項目名稱:pytablewriter,代碼行數:12,代碼來源:_typing.py


注:本文中的typing.TypedDict方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。