python - How can I refactor these two functions to be more DRY? -


मेरे पास निम्न दो पायथन कार्य हैं:

  @classmethod def serialize_dict (सीएलएस, डी ): Values ​​= [] cls () .distinguishing_column_names (): value = str (d [column_name]) में column_name के लिए मान == 'कोई नहीं': value = '' values.append (value) return '' .join ( मान) = classmethod def serialize_row (cls, पंक्ति): value = [] cls () में column_name के लिए। Distinguishing_column_names (): value = str (row.value (cls () ._ meta.db_table, column_name)) मान == 'कोई नहीं': मान = '' मान .append (value) return '' .जोइंड (मान)   

जैसा कि आप देख सकते हैं, दो फ़ंक्शन समान हैं लूप के लिए नहीं बहुत सूखा पंक्ति और d अलग-अलग प्रकार के हैं ( dict और एक कस्टम प्रकार का मेरा, क्रमशः)?

एक जोड़ें ifinstance (arg, dict) यह निर्धारित करने के लिए कि क्या इसे किसी पंक्ति या डिक्ट के रूप में व्यवहार करना है, फिर दो तरीकों को एक साथ मिलाएं।

Comments