Tôi đang viết một tập lệnh python mà tôi muốn có thể gọi cả từ dòng lệnh và nhập dưới dạng hàm thư viện. Lý tưởng nhất là các tùy chọn dòng lệnh và hàm nên sử dụng cùng một bộ giá trị mặc định. Cách tốt nhất để cho phép tôi sử dụng lại một tập hợp mặc định duy nhất ở cả hai nơi là gì?Mặc định mặc định của Python so với mặc định của hàm
Đây là mã hiện tại có mặc định trùng lặp.
from optparse import OptionParser
def do_stuff(opt1="a", opt2="b", opt3="c"):
print opt1, opt2, opt3
if __name__ == "__main__":
parser = OptionParser()
parser.add_option("--opt1", default="a")
parser.add_option("--opt2", default="b")
parser.add_option("--opt3", default="c")
#parser.set_defaults(opt1="a")
options, args = parser.parse_args()
do_stuff(*args, **vars(options))