2014-02-25 193 views
1

我已經開發了一個函數,它對提供的輸入進行操作,如果它沒有找到輸入數據類型爲unicode,它必須返回輸入數據類型unicode所需的。我可以通過硬編碼到unicode來實現,但是在將來如果我想更改所需的數據類型,我不想相應地更改該字符串。因此,我將所需的輸入變量的數據類型保存在不同的文件中,如果不匹配,它將從該文件返回所需的數據類型。但它返回像獲取類型的字符串作爲字符串

Required Data Type - <type 'unicode'> 

而不是<type 'unicode'>我希望它只是unicode返回。請建議。

回答

7

使用__name__屬性類型:

>>> s = unicode(1) 
>>> type(s).__name__ 
'unicode' 
1

下面是一種替代,並與用戶定義的類的工作原理:

s.__class__.__name__ 

實施例:

class A : 
    pass 

a = A() 
type(a).__name__ # 'instance' 
a.__class.__name # 'A' 

s = u"string" 
type(s).__name__ # 'unicode' 
s.__class.__name # 'unicode' 
相關問題