我想創建一個函數,它可以帶有1或2個參數。 目前,我有一個函數,通過CMD到底需要2個參數:傳遞函數中的可選參數 - python
def test(self,countName,optionalArg):
if countName == "lowest":
#something
if optionalArg == "furthest:
#something
else:
#something else
if __name__ == '__main__':
countName = sys.argv[1]
optionalArg = sys.argv[2]
temp = len(sys.argv)
for i in xrange(1,temp):
sys.argv.pop()
我會然後運行:
蟒蛇filename.py最低最遠
使用,這意味着通過第二個參數是必須的。如果我試圖通過傳遞一個參數來運行腳本,它會遇到錯誤(如預期的那樣)。我的問題是,你如何創建一個可選的參數,可以通過或不通過,取決於情況?
例如:
蟒蛇filename.py最低
在這種情況下,我希望該程序執行了「#something其他」的劇本,如無獲得通過,這是不同的比「最遠」。
請不要爲我寫的代碼,我在這裏學習:)
考慮讓你的函數接受一個參數,這本身就是一個參數列表。這樣,你可以做不同的事情,具體取決於列表的長度。 –
@ChristoferOhlsson嗨Christoper,如果我改變函數只接受一個參數,那麼它忽略了我通過CMD寫的東西,因此不會讓我傳遞第二個參數。 –
如果你繼續傳遞它兩個參數,那麼肯定。但你爲什麼? –