我不明白當我運行函數時傳遞的變量是如何變化的。這些值最初設置爲無,因爲我希望它們在我運行該函數後進行更改,但沒有任何反應。所以我顯然做錯了什麼。我對Python相當陌生,會喜歡一些幫助。無法理解Python中的函數參數
def askUser(number_STRING, digits, array_NUM, chars):
print ("NOTE: Program can only convert mm, cm, m, and km")
number_STRING = raw_input("Type the number (9KM, 30M exactly like
that) you would like to convert to centimeters.")
digits = int(filter(str.isdigit, number_STRING))
array_NUM = len([c for c in number_STRING if c.isdigit()])
chars = str(number_STRING[array_NUM:])
def main():
number_STRING = None
digits = None
array_NUM = None
chars = None
askUser(number_STRING, digits, array_NUM, chars)
print chars
print array_NUM
print digits
main()
變量僅在函數內分配。但該函數不返回任何內容。 – trotta
Python函數參數按值傳遞,而不是通過引用傳遞。尋找'python pass by value'來解釋。 – khelwood