在寫腳本時,往往需要根據接口參數的形式來構造相應格式的數據,這個過程也是對python基礎的一種應用,下面用一個例子來看下
有一個創建數據的接口,參數形式如下
有2個地方需要說明:
1、rule下的targetType和codes字段有一個關聯關系
當codes中只有1條數據時,targetType的值為1;
有多條數據時,targetType的值為0;
2、codes的值被一個[]包裹,應該是一個數組(列表),數組中的值是字符串格式;
這個接口對應到頁面上的功能,可以理解為在一個輸入框內輸入codes(可以只輸入一個code;或者輸入多個code,並用逗號分隔)
接下來要做的就是構造targetType和codes兩個參數
1、構造codes
根據codes參數的特征,第一感覺就是使用split()方法
這樣在輸入形如codes="aaa,bbb,ccc"這種數據時,可以通過","切割為列表形式的數據,即
>>> codes = "aaa,bbb,ccc" >>> codes.split(",") ['aaa', 'bbb', 'ccc'] >>>
如果輸入codes只包含一個數值,如codes="aaa"
使用不存在的分隔符切割,則返回整個字符串,剛好滿足要求
>>> codes = "aaa" >>> codes.split(",") ['aaa'] >>>
2、判斷targetType傳1還是傳0
因為targetType的值是根據輸入codes的數量來決定的,而經過處理的codes又是一個列表,所以可以使用len()函數來獲取處理后codes的大小,即列表中包含多少個值
new_codes = codes.split(",") # 將輸入的student_code轉換為列表形式的參數 if len(student_codes) == 1: target_type = 0 else: target_type = 1
這樣就構造好了個參數的入參~