回答
,就是遞歸函數,例如(刪除一個目錄,包括子目錄和文件):
def removeDir(dirPath):
if not os.path.isdir(dirPath):
return
files = os.listdir(dirPath)
try:
for file in files:
filePath = os.path.join(dirPath, file)
if os.path.isfile(filePath):
os.remove(filePath)
elif os.path.isdir(filePath):
removeDir(filePath)
os.rmdir(dirPath)
except Exception, e:
print e
對於不瞭解遞歸的人來說,這將很難理解。也許你應該舉一個更簡單的例子。 – 2014-12-19 10:12:09
但是我真的認爲這已經是一個非常簡單的例子了@ VincentBeltman – NeoWu 2014-12-19 10:24:31
我很抱歉,但並沒有說明。看看其他答案。它們簡單易懂,不需要關於其他庫的知識。 (在你的情況下) – 2014-12-19 10:29:42
是的,可以。它被稱爲遞歸函數。例如考慮下面的程序。
def a(num):
if num % 2 == 0:
print(num)
else:
num+= 1
a(num)
a(num)
函數需要一個整數。如果它可以被二整除,則打印該值,否則遞增變量num
並用新輸入調用它自己。
>>> a(3)
4
>>> a(5)
6
>>> a(6)
6
是的,你可以做到。這將是一個遞歸函數。舉例:
def pow(x, n):
if n == 0: #this if makes the function stop calling itself
return 1
else:
return x * pow(x, n-1)
print(pow(2, 3))
>>> 8
遞歸是編程或編碼問題的一種方式,其中函數在其主體中調用一次或多次。通常,它返回此函數調用的返回值。如果函數定義滿足遞歸條件,我們稱這個函數爲遞歸函數。
- 1. Bash腳本:你可以自己做一個函數調用嗎?
- 2. 一個Activity可以調用它自己的onPause(),onStop()嗎?
- 3. 你可以從它自己的json對象調用數據嗎?
- 4. 函數可以遞歸地調用自己嗎?
- 5. python:我可以設置一個變量來等於它自己的函數嗎?
- 6. 一個按鈕可以通過函數刪除自己嗎? Javascript
- 7. 一個類的實例可以用JavaScript代替它自己嗎?
- 8. 遞歸函數可以釋放它自己的互斥量嗎?
- 9. C#中的匿名方法可以調用它自己嗎?
- 10. 靜態方法可以在Java中調用它自己嗎?
- 11. 能從自己調用一個函數嗎?
- 12. 我可以調用另一個函數寫入的函數嗎?
- 13. Arduino中斷函數調用另一個函數可以嗎?
- 14. 你可以傳遞一個函數,以便稍後調用它嗎?
- 15. openresty上游postgres調用一個函數,它自己返回一個json
- 16. 一個函數可以告訴從哪個模塊調用它?
- 17. 一個constexpr函數可以調用一個返回void的函數嗎?
- 18. c#timer是否可以自己調用.stop函數?
- 19. 如何構造函數可以調用,自己的原型
- 20. 它可以自己加入一張表嗎?
- 21. 我可以在函數中傳遞一個指向自己的指針嗎?
- 22. 我可以創建自己的函數來爲LESS分配一個變量嗎?
- 23. 我可以調用一個函數作爲參數嗎?
- 24. 我可以有一個Django模型,它有自己的外鍵引用嗎?
- 25. jQuery $ .post可以從回調中再次調用自己嗎?
- 26. 一個類可以包含一個自己的列表嗎?
- 27. 析構函數如何知道何時激活自己?它可以依賴嗎?
- 28. 我可以自己編寫一個md5函數多少次?
- 29. 我可以自己編寫一個應用程序 - Xcode/iOS嗎?
- 30. 可以用你自己的initWithFrame初始化一個類嗎?
當你嘗試時發生了什麼? – 2014-12-19 10:04:34
這是[遞歸](https://en.wikipedia.org/wiki/Recursion)這是可能的。 – 2014-12-19 10:04:43
是的,你可以。附加信息:Python中沒有私有函數。你要求的是遞歸。 – 2014-12-19 10:04:53