一道Python題的解析

一道Python題的解析

此題出得比較tricky,涉及一些Python基本概念,包括變量作用域,列表初始化,實參傳值等,如果基本功不紮實,很容易出錯。

def add_Run(L=None): #定義函數add_Run,指定一個缺省參數L=None
    if L is None:#如果L = None,則重新初始化L爲[]
        L = []
    L.append('Run')
    return L
add_Run()
add_Run()#L是局部變量
print(add_Run(['Lying']))#實參['Lying']等效於L=['Lying']

運行結果:
[‘Lying’, ‘Run’]
小結:

  1. 只有函數外定義的變量纔是全局變量,其它包括實參,缺省值都是本地變量。
  2. L = None,L是NoneType,此時不能執行append。
  3. 位置實參可替代缺省形參
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章