else
/ elif
used after return
PYL-R170556 active_deposits = []
57 app = active_deposits.append
58
59 if status == 200:60 for item in response['data']['deposits']:
61 app(Deposit(self.api_key, self.api_base_url, item))
62 return active_deposits
87 inventory = []
88 app = inventory.append
89
90 if status == 200:91 self.can_refresh = response['allowUpdate']
92 for item in response['data']:
93 # skip any invalid items or items that are not tradable
79 status = response.status_code
80 response = response.json()
81
82 if status == 200: 83 return True
84 else:
85 handle_error(status, response, "Withdrawal", "bid")
34 status = response.status_code
35 response = response.json()
36
37 if status == 200:38 return True
39 else:
40 handle_error(status, response, "Deposit", "sell_now")
48 status = response.status_code
49 response = response.json()
50
51 if status == 200:52 return True
53 else:
54 handle_error(status, response, "Deposit", "list_item")
The use of else
or elif
becomes redundant and can be dropped if the last statement under the leading if
/ elif
block is a return
statement.
In the case of an elif
after return
, it can be written as a separate if
block.
For else
blocks after return
, the statements can be shifted out of else
. Please refer to the examples below for reference.
Refactoring the code this way can improve code-readability and make it easier to maintain.
def classify_number(x):
if x % 2 == 0:
return 'Even'
else:
return 'Odd'
def what_is_this_number(x):
if x % 2 == 0 and x >= 0:
return 'Even'
elif x % 2 == 0 and x < 0:
return 'Even and Negative'
elif x % 2 != 0 and x < 0:
return 'Odd and Negative.'
else:
return 'Odd'
def classify_number(x):
if x % 2 == 0:
return 'Even'
return 'Odd'
def what_is_this_number(x):
if x % 2 == 0 and x >= 0:
return 'Even'
if x % 2 == 0 and x < 0:
return 'Even and Negative'
if x % 2 != 0 and x < 0:
return 'Odd and Negative'
return 'Odd'