我正在用 python 開發一個專案,我想過用兩種方法來撰寫相同的代碼,但我想知道哪種結構在性能、語意和最佳實踐方面更好。
版本 1
if x == 1:
try:
order = cliente.order_market_buy(
symbol = moeda,
quoteOrderQty=quantidade)
print(f'buy {order}')
except Exception as erro:
print(erro.status_code)
print(erro.response)
print(erro.code)
print(erro.message)
print(erro.request)
if erro.code == -2010:
print('no money')
elif x == -1:
try:
order = cliente.order_market_sell(
symbol = moeda,
quantity=quantidade)
print(f'sell {order}')
except Exception as erro:
print(erro.status_code)
print(erro.response)
print(erro.code)
print(erro.message)
print(erro.request)
if erro.code == -2010:
print('no crypto')
版本 2
try:
if x == 1:
order = cliente.order_market_buy(
symbol = moeda,
quoteOrderQty=quantidade)
print(f'buy {order}')
elif x == -1:
order = cliente.order_market_sell(
symbol = moeda,
quantity=quantidade)
print(f'sell {order}')
except Exception as erro:
print(erro.status_code)
print(erro.response)
print(erro.code)
print(erro.message)
print(erro.request)
if erro.code == -2010:
if x == 1:
print('no money')
elif x == -1:
print('no crypto')
兩個代碼都做同樣的事情,但是,第一個最容易除錯,第二個更小更干凈。兩者都需要相同的時間來運行。
還有另一種更好的方法來寫這個嗎?
uj5u.com熱心網友回復:
如果在所有情況下都做大致相同的事情,那么 IMO 最好使用一個例外塊。以下是避免重復if x檢查的方法:
try:
if x == 1:
currency = "money"
order = cliente.order_market_buy(
symbol=moeda,
quoteOrderQty=quantidade
)
print(f'buy {order}')
elif x == -1:
currency = "crypto"
order = cliente.order_market_sell(
symbol=moeda,
quantity=quantidade
)
print(f'sell {order}')
except Exception as erro:
print(erro.status_code)
print(erro.response)
print(erro.code)
print(erro.message)
print(erro.request)
print(f'no {currency}')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/380993.html
