저는 파이썬 목록이 2 개 있고 다른 함수 (TP, TN, FP, FN)를 사용하여 4 개의 다른 값을 계산하려고합니다. 매개 변수로 각각의 모든 함수에 대한 매개 변수를 정의하지 않고 외부 중첩 함수에서 매개 변수를 정의 할 수 있다면 4 개의 모든 함수에 대해 동일합니다. 함수를 구현했지만 TP 함수 출력 만 제공합니다. 당신이 누군가가 나를 여기 문제 나는이 기능들하지만 당신의 코드를 수정을 위해 매개 변수를 공유 할 수있는 가장 좋은 방법이 아니다 '라고해야동일한 매개 변수에 대한 Python 중첩 함수
def evaluation(list1,list2):
def TP():
count1 = 0
for i in range(0,35):
if Jac_test_list[i].strip()==Simmilar_list[i].strip()=='True':
count1+=1
#return count
print ('TP count :' + str(count1))
return TP
def TN():
count2 = 0
for i in range(0,35):
if Jac_test_list[i].strip()==Simmilar_list[i].strip()=='False':
count2+=1
#return count
print ('TN count :' + str(count2))
return TN
def FP():
count3 = 0
for i in range(0,35):
if (Jac_test_list[i].strip()=='True') & (Simmilar_list[i].strip()=='False'):
count3+=1
#return count
print ('FP count :' + str(count3))
return FP
def FN():
count4 = 0
for i in range(0,35):
if (Jac_test_list[i].strip()=='False') & (Simmilar_list[i].strip()=='True'):
count4+=1
#return count
print ('FN count :' + str(count4))
return FN
힌트 :'return'은 함수를 종료합니다. 당신의 첫번째'반환 TP'가 실행 된 후에 아무것도. – BrenBarn
평가 (list1, list2)를 호출 할 때 무엇을 기대합니까? 예를 들어 줄 수 있습니까? – Allen
왜 여기에 중첩 함수를 사용하고 있습니까? 이것이 함수 팩토리가 될까요? 그런데, 당신은'Jac_test_list'와'Simmilar_list'에 클로저를 만들고 있습니다. –