2011-03-28 7641 views
2

我在一個文件中有一個函數,我正在調用一個單獨的腳本(如下所示)。直接從函數打印工作正常,但是當我嘗試將值返回給腳本時,它會發送'None'。返回的字典值是'None'python

任何幫助,將不勝感激。 感謝

腳本:

import modules.functions as f 

restype = 'THR' 
atomtype = 'CA' 

print f.AtomType(restype,atomtype) 

功能:(這是一個返回值的函數的一部分)

def AtomType(resName,atomType): 
    def threonine(): 
     print 'well im here' 
     atoms = {'N' : 1, 
       'CA': 6, 
       'C' : 8, 
       'O' : 2, 
       'CB': 6, 
       'OG1': 1, 
       'CG2': 4, 
       }  

      print atoms[atomType] 
      return atoms[atomType] 

    residues = {'ALA' : hydrophobic, 
       'ARG' : arginine, 
       'ASN' : asparagine, 
       'ASP' : aspartate, 
       'CYS' : cysteine, 
       'GLN' : glutamine, 
       'GLU' : glutamate, 
       'GLY' : hydrophobic, 
       'HIS' : histidine, 
       'ILE' : hydrophobic, 
       'LEU' : hydrophobic, 
       'LYS' : lysine, 
       'MET' : methionine, 
       'PHE' : phenylalanine, 
       'PRO' : proline, 
       'SER' : serine, 
       'THR' : threonine, 
       'TRP' : tryptophan, 
       'TYR' : tyrosine, 
       'VAL' : hydrophobic, 
       } 

    residues[resName]() 

和輸出我得到的是:

well im here 
6 
None 

編輯:增加了整個功能

+5

第一個代碼片段不會在第二個代碼片段中調用該函數。第二個片段中的函數不接受任何參數,但無論如何都會訪問一些神祕的'atomType'。這有點令人困惑......也許你可以發佈你真的*試圖運行的代碼? – 2011-03-28 16:11:48

+0

你能告訴我們一段完整的代碼來重現錯誤嗎? – 2011-03-28 16:12:16

+0

您正在調用'f.AtomType'併發布'threonine()'的代碼。請發佈'f.AtomType()'的代碼' – pajton 2011-03-28 16:13:27

回答

2

這是一個猜測:AtomType調用threonine,但不返回它的返回值。