好吧讓我重組這個更理論 - 我如何分隔一個函數內的重複任務。函數內的函數 - 好主意?
下面是這種情況:
def some_class:
def out_fxn():
self.some_vars being used here
for each value in some dict:
if entry has type_A:
get value, dict_index from entry
some_function(my_dict, dict_key, value)
if entry has type_B:
get value, dict_index from entry
some_function(my_dict, dict_key, value)
if entry has type_C:
get value, dict_index from entry
some_function(my_dict, dict_key, value)
- 類方法?應該some_function(my_dict,dict_index,值)是方法some_class? 它不會使用任何類成員變量,並且與類沒有太大關係
- 嵌套函數?應該some_function(my_dict,dict_index,值)是否在out_fxn()? 嵌套功能?
注意:我可以遍歷ABC,相應地分配值,但我只想知道是否有一種方法可以使用函數來完成此操作。
這裏有一些紅旗 - 類型的字典沒有指標,一。而且你不可能*有*在A,B和C上依次運行some_function()...「。這有一個非常時髦的代碼氣味,但不知道你在做什麼的具體細節,沒有辦法告訴你如何重構它。 – roippi 2014-10-08 21:39:12
對於從字面上看沒有額外的麻煩,您可以在for循環中使用語法上有效的代碼來避免模糊。 「入口」與「每個值」相同嗎?將它寫爲'在some_dict.items()中輸入:'不會含糊不清。那麼什麼是'value,dict_index',它與入口有什麼關係?它們是屬性嗎?它們對於每種情況都是一樣的還是不同的? my_dict與「some dict」相同嗎? – chthonicdaemon 2014-10-09 04:54:09