2011-03-28 4 views
2

저는 아래 그림과 같이 별도의 스크립트에서 호출하는 파일에 함수가 있습니다. 함수에서 직접 인쇄가 올바르게 작동하지만 스크립트에 값을 반환하려고하면 '없음'이 전송됩니다.반환 된 사전 값이 '없음'입니다. 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'을 액세스합니다. 이것은 약간 혼란 스럽습니다 ... 아마도 당신이 정말로 실행하려고하는 코드를 게시 할 수 있습니까? –

+0

오류를 재현하는 코드 전체를 보여 주실 수 있습니까? –

+0

'f.AtomType'을 호출하고'threonine()'에 대한 코드를 게시했습니다. f.AtomType()의 코드를 게시하십시오 – pajton

답변

2

다음은 추측입니다. AtomTypethreonine을 호출하지만 반환 값은 반환하지 않습니다.

관련 문제