파이썬에서,당신은 어떻게 멈추지 함수 코드에서 실행되는?
-
11-12-2019 - |
문제
Python3.2,는 방법이 있을 정의 나머지는 기능을 실행?
기본적으로,나는 로그인을 만들 시스템의 개념으로 나의 과정,그리고 수 없었어 대한 대답을 찾을 수 있습니다.
나의 코드는 2 개로 분리하여 파일을 기록,처리하는 입력 및 출력으로 로그파일과 주요 클래스,이러한 데이터베이스로 연결 로그인 코드 자체,etc.
여기에 처리하는 코드 얻고 사용자 입력,나에게 관심에 3,4 선,변환로 연결하여'QUIT0x0',을 최소화하는 기회의 종료되는 코드에 의해 호출 사고입니다.
def getInput(input_string, type):
result = input(input_string)
if result.lower == 'quit':
result = 'QUIT0x0'
#log the input string and result
if type == 1:
with open(logFile, 'a') as log_file:
log_file.write('[Input] %s \n[Result] %s\n' %(input_string, result))
return result
#no logging
elif type == 2:
return result
#undefined type, returns 'Undefined input type' for substring searches, and makes a log entry
else:
result = '[Undefined input type] %s' %(input_string)
output(result, 4)
return result
이 코드를 처리하는 사용자를 삭제하는 기록부터 사용자 데이터베이스에 관심이 있어요 어떻게 만들 것 4 번째와 5 번째 라인을 작동 및 정지의 나머지는 기능이 실행되:
def deleteUser(self):
self.__user = getInput('Enter the username you want to delete records for: ', 1)
if self.__user == 'QUIT0x0':
#Quit code goes here
else:
self.__userList = []
self.__curs.execute('SELECT id FROM users WHERE username="%s"' %(self.__user))
사전에 감사합니다, 톰
해결책
종료"기능"이라고 return
:
def deleteUser(self):
self.__user = getInput('Enter the username you want to delete records for: ', 1)
if self.__user == 'QUIT0x0':
return
else:
# ...
하지만 당신은 이미 사용 if/else
, 이, else
점 안 실행되는 어쨌든,그래서 반환이 불필요한.당신은 단지뿐만 아니라어 pass
에 있:
def deleteUser(self):
self.__user = getInput('Enter the username you want to delete records for: ', 1)
if self.__user == 'QUIT0x0':
pass
else:
# ...
또는 다음과 같은 명령을 사용합니다.
def deleteUser(self):
self.__user = getInput('Enter the username you want to delete records for: ', 1)
if self.__user != 'QUIT0x0':
# ...
또한 사용 조기 반환:
def deleteUser(self):
self.__user = getInput('Enter the username you want to delete records for: ', 1)
if self.__user == 'QUIT0x0':
return
# ...
제휴하지 않습니다 StackOverflow