一:內建函式
1.返回的是字典,字典裡面的鍵值對:全域性作用域的全部內容
print(globals())
2.返回的是字典,字典裡面的鍵值對:當前作用域的全部內容
print(locals())
二:預設引數的陷阱1.預設引數:沒傳值,可變資料型別在記憶體中是同乙個
def func(name, alist=):
renturn alist
r1 = fun('whj')
print(r1)
>>>['whj']
r2 = fun('xhl')
print(r2)
>>>['whj','xhl']
2.預設引數:傳值
def func(a, alist=):
renturn alist
print(func(10))
>>>[10]
print(func(20, ))
>>>[20]
print(func(100))
>>>[10, 100]
3.預設引數執行順序
def func(a, alist=):
renturn alist
r1 = func(10)
r2 = func(20, )
r3 = func(100)
print(r1)
>>>[10, 100]
print(r2)
>>>[20]
print(r3)
>>>[10, 100]
三:區域性變數與全域性變數1.在函式中,如果你定義了乙個變數,但是在定義這個變數之前對其引用了,
那麼直譯器認為是語法問題,應該在使用前定義
count = 1
def func():
print(count)
count = 3 ×
func()
2.global
在區域性作用域宣告乙個全域性變數
3.nonlocal
不允許操作全域性變數
內層函式對外層函式的區域性變數進行修改(巢狀函式)
Python預設引數陷阱問題
def fun a,l print l fun hhh fun mmmm fun xingkd python中的def語句在每次執行的時候都初始化乙個函式物件,這個函式物件就是我們要呼叫的函式,可以把它當成乙個一般的物件,只不過這個物件擁有乙個可執行的方法和部分屬性,對於引數中提供了初始值的引數,由...
python 預設引數問題的陷阱
python 裡面乙個常見的陷阱就是函式的預設引數問題。如下 def func mylist mylist.append 1 return mylist 以下的執行結果如下 print func print func print func print func a print func 結果如下 1...
python 預設引數 Python預設引數有坑?
最近有小夥伴在面試中遇到了 關於函式預設引數的坑 的題目,少數夥伴對此問題理得不是太清楚,今天匯智妹請到匯智動力高階教師鄧老師為大家詳細講解一下,幫助不太清楚的小夥伴清晰的梳理一遍。鄧老師本次主要從以下三點來講解 什麼是預設引數?函式預設引數的坑是什麼?函式預設引數為什麼會有坑?一 什麼是預設引數 ...