2017-07-25 54 views
1

讓我們假設我有一個包含幾個字段的結果集。現在,其中一個字段以'NULL'或以Python語言None出現。現在我需要創建一個方法,用特定的單詞示例'UNKNOWN'替換字段中的整個Nones。這是我的方法。Python 3.X從表中讀取空值

def definegender(x): 
    if x is not None: 
     return x 
    else: 
     x = 'unknown' 
     return x 

現在開始測試

z= None 
definegender(z) 
print('{}'.format(z)) 

不幸的是,我的方法是行不通的,請你們可以讓我知道創建此驗證的最佳方式。謝謝

+0

您不能在引用賦值蟒蛇。 –

回答

2

你的目標是做參考。是否可以使用C,C++和C#等語言。在Java和Python中它不是。你可以改變狀態(如果你通過一個列表,你可以更新元素,但是你不能爲它設置另一個列表)。

但是,您可以使用賦值運算符

z = None 
z =definegender(z) 
print('{}'.format(z))

而且可以使代碼更短,通過在definegender功能使用三元運算符:

def definegender(x): 
    return x if x is not None else 'unknown' 
+0

嗨夥計,當我嘗試z = definegender(z)沒有一個以前的名字我得到這個錯誤NameError:名稱'z'沒有定義 –

+0

@AndresAngel:當然你首先必須確保'z'初始化,就像在你自己的代碼片段中。 –

+0

那麼我初始化爲Z =無,但它沒有返回'未知':( –