# Copyright (C) 2001-2022, Python Software Foundation # This file is distributed under the same license as the Python package. # # Translators: # Matt Wang , 2022 # msgid "" msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-07-29 00:03+0000\n" "PO-Revision-Date: 2022-10-16 16:16+0800\n" "Last-Translator: Matt Wang \n" "Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-" "tw)\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.1.1\n" #: ../../c-api/typehints.rst:6 msgid "Objects for Type Hinting" msgstr "型別提示物件" #: ../../c-api/typehints.rst:8 msgid "" "Various built-in types for type hinting are provided. Currently, two types " "exist -- :ref:`GenericAlias ` and :ref:`Union `. Only ``GenericAlias`` is exposed to C." msgstr "" "提供了數個用於型別提示的內建型別。目前有兩種 -- :ref:`GenericAlias ` 和 :ref:`Union `。只有 ``GenericAlias`` 有公開 " "(expose) 給 C。" #: ../../c-api/typehints.rst:14 msgid "" "Create a :ref:`GenericAlias ` object. Equivalent to " "calling the Python class :class:`types.GenericAlias`. The *origin* and " "*args* arguments set the ``GenericAlias``\\ 's ``__origin__`` and " "``__args__`` attributes respectively. *origin* should be a :c:expr:" "`PyTypeObject*`, and *args* can be a :c:expr:`PyTupleObject*` or any " "``PyObject*``. If *args* passed is not a tuple, a 1-tuple is automatically " "constructed and ``__args__`` is set to ``(args,)``. Minimal checking is done " "for the arguments, so the function will succeed even if *origin* is not a " "type. The ``GenericAlias``\\ 's ``__parameters__`` attribute is constructed " "lazily from ``__args__``. On failure, an exception is raised and ``NULL`` " "is returned." msgstr "" "建立一個 :ref:`GenericAlias ` 物件,等同於呼叫 Python " "的 :class:`types.GenericAlias` class。 *origin* 和 *args* 引數分別設定了 " "``GenericAlias`` 的 ``__origin__`` 與 ``__args__`` 屬性。*origin* 應該要是" "個 :c:expr:`PyTypeObject*` 且 *args* 可以是個 :c:expr:`PyTupleObject*` 或任" "意 ``PyObject*``。如果傳入的 *args* 不是個 tuple(元組),則會自動建立一個長" "度為 1 的 tuple 且 ``__args__`` 會被設為 ``(args,)``。只會進行最少的引數檢" "查,所以即便 *origin* 不是個型別,函式也會不會失敗。 ``GenericAlias`` 的 " "``__parameters__`` 屬性會自 ``__args__`` 惰性地建立 (constructed lazily)。當" "失敗時,會引發一個例外並回傳 ``NULL``。" #: ../../c-api/typehints.rst:28 msgid "Here's an example of how to make an extension type generic::" msgstr "" "以下是個讓一個擴充型別泛用化 (generic) 的例子:\n" "\n" "::" #: ../../c-api/typehints.rst:38 msgid "The data model method :meth:`~object.__class_getitem__`." msgstr "資料模型方法 :meth:`~object.__class_getitem__`。" #: ../../c-api/typehints.rst:44 msgid "" "The C type of the object returned by :c:func:`Py_GenericAlias`. Equivalent " "to :class:`types.GenericAlias` in Python." msgstr "" ":c:func:`Py_GenericAlias` 所回傳該物件的 C 型別。等價於 Python 中的 :class:" "`types.GenericAlias`。"