[英]Python Recursion: Are there any advantages to passing all variables vs just declaring a global variable and re-declaring in the function?
當我查看python代碼時,我看到了python中處理變量的兩種樣式。
例
#initialize
variable1 = 1
variable2 = 1
variable3 = 1
def recursive(variable1, variable2, variable3):
do stuff with variables
recursive(variable1, variable2, variable3)
例
#initialize
variable1 = 1
global variable2
variable2 = 1
global variable3
variable3 = 1
def recursive(variable1):
global variable2
global variable3
do stuff variables
recursive(variable1)
兩種風格都有什么優點嗎? 一個比另一個更“ pythonic”嗎?
過度使用global
可能很難調試。 pythonic方式肯定是將所有內容顯式傳遞或將工作封裝到較小的函數中,以使所有這三個變量不會太冗長。
在您的情況下,可能有一種更簡單的方法:
def recursive(*args)
# Do stuff with args
recursive(*args)
這消除了很多您可能不需要關心的冗長的細節。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.