python3 有關getattr 函式的用法

2021-10-06 14:31:15 字數 1220 閱讀 4754

getattr(object, name[, default])

返回物件命名屬性的值。name 必須是字串。如果該字串是物件的屬性之一,則返回該屬性的值。例如,getattr(x, 'foobar')等同於x.foobar。如果指定的屬性不存在,且提供了 default 值,則返回它,否則觸發attributeerror

官方函式文件: 

**示例:

class example:

@classmethod

def kline(cls, symbol, klinetype, params={}):

# check_symbol(symbol) # 函式自定義驗證函式 忽略

klinetype_dict =

klinetype = klinetype_dict[klinetype]

func = cls().check_kline_symbol(symbol) # 這裡是根據引數的型別,返回需要呼叫的函式方法

return getattr(cls(), func)(symbol, klinetype, params={})

# 檢查kline symbols 屬於哪一種

def check_kline_symbol(self,symbol):

if '-' in symbol:

return '_swap_kline'

if 'cw' in symbol or 'nw' in symbol or 'cq' in symbol:

return '_futures_kline'

if '_' in symbol and 'cw' not in symbol or 'nw' not in symbol or 'cq' not in symbol:

return '_spot_kline'

def _swap_kline(self, symbol, klinetype, params={}):

pass  # 處理自己的邏輯

exportclass = example
if __name__ == '__main__':

e = exportclass()

print(e.kline('xrp-usd', '1h')) # swap

說明: 自己編寫**過程中用到的知識點, 可能會減少一定的**量,

python3 切片 python3 切片

取乙個list或tuple的部分元素是非常常見的操作。比如,乙個list如下 l michael sarah tracy bob jack 取前3個元素,應該怎麼做?笨辦法 l 0 l 1 l 2 michael sarah tracy 之所以是笨辦法是因為擴充套件一下,取前n個元素就沒轍了。取前n...

python3 有關字典的一些用法

如 res a 1 a 2 c 3 d 4 轉為 組成字典,若重複,則是values值相加 res a 1 a 2 c 3 d 4 adict for i in range 0,len res if res i 0 in list adict.keys adict res i 0 int adict...

python3安裝 Python3的安裝

1.anaconda安裝 2.安裝包安裝 3.linux下的命令列安裝 centos red hat 1 sudo yum install y sudo yum update3 sudo yum install y python35u python35u libs python35u devel p...