Field 類別

Field 類別是針對訊息所定義所有欄位的基礎類別。開發人員不能擴充這個類別。

Field 是由 protorpc.messages 模組提供。

建構函式

Field 類別的建構函式定義如下:

class  Field (message_type, number, [required=False | repeated=False], variant=None, default=None)

初始化 Field 例項。Field 的每個子類別都必須定義下列資訊:

VARIANTS
該欄位可接受的變數類型集合。
DEFAULT_VARIANT
如果建構函式未指定變數類型時,應使用的變數類型。
引數
number
欄位的號碼。每種訊息類別的欄位號碼皆必須與其他類別不同。
required=False
這個欄位是否為必填欄位。與 repeated 引數互斥;使用 required 就不會指定 repeated
repeated=False
這個欄位是否為重複欄位。與 required 引數互斥;若使用 repeated=True 就不會指定 required=True
variant=None
提供額外的編碼資訊,通常是由通訊協定緩衝區使用。這些變因對應到 descriptor.proto 中的「類型」值。最佳做法是使用預設值,不過您也可以將值指定為 32-bit、64-bit、unsigned 等。
default=None
如果在基礎要求中找不到欄位值時,應使用的預設值。

注意:重複的欄位或訊息欄位不得使用預設值。

會引發下列例外狀況:

類別屬性

FieldList 類別具有一項屬性:

default()
欄位的預設值。

例項方法

FieldList 例項的方法如下:

validate(value)
驗證指派給欄位的值。 引數
value
要評估的值。

若值並非預期的類型,就會引發 ValidationError

validate_default_element(value)

驗證指派給預設欄位的值。對每個元素而言都是專屬的。

發生循環定義參考時,部分欄位可能會允許延遲解析預設類型。在這種情況下,預設值可能會變成一個預留位置,等到所有的訊息類別都獲得定義之後,才會視需要予以解析。

引數
value
要驗證的預設值。

若值並非預期的類型,就會引發 ValidationError

validate_default(value)

驗證欄位的預設值。

引數
value
要驗證的預設值。

若值並非預期的類型,就會引發 ValidationError

message_definition()

取得包含這個 Field 定義的訊息定義。傳回含有 Field 的 Message 物件定義。如果 Field 是定義在訊息類別以外,則傳回 None。

若值並非預期的類型,就會引發 ValidationError

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Python 2 適用的 App Engine 標準環境