0
使用tinydb我有這樣的數據庫操作的對象:使用print()調用if語句/調用函數中的調用函數 - 良好實踐?
#database.py
class DataBase(object):
"""CRUD access to database."""
def __init__(self):
"""Initialize database."""
self.db = TinyDB('/db.json')
def new(self, **kwargs):
"""Add a new entry to the database."""
if self.db.insert(kwargs): # 1
return 'New item added to the database.'
else:
return 'Item NOT added to the database.'
的方法「插入」從tinydb返回條目的ID被插入後,見#1。所以我用這個效果返回成功/失敗的消息,可顯示當函數調用印刷():
#main.py
#...
@entry.command('new')
@click.argument('first_arg', type=str)
@click.argument('second_arg', type=str)
def entry_new(**kwargs):
"""Create a new entry."""
if kwargs is not None:
click.echo(a_db.new(**kwargs)) # 2
#...
問題1:
if self.db.insert(kwargs):
是不是'好的做法'在if語句的條件語句中執行insert函數?如果沒有,那麼根據返回值來創建一個if/else語句有哪些選擇?
問題2:
click.echo(a_db.new(**kwargs))
插入文件到數據庫的整個過程被包裹在一個打印語句能夠訪問插入函數的返回值。 這是'好習慣'還是有更好的方法來調用插入函數,訪問返回值並打印出來?
在此先感謝您的澄清!