函數內部的變量,如果和函數被調用的外部的變量一樣的話,就被PyCharm中叫做shadows name
這樣的話,容易引發不容易覺察到的,由於函數內部和外部的變量名一致而引發的一些問題:
比如:內部函數名引用時不小心寫錯了時,就會導致其實調用了外部變量名,從而導致邏輯錯亂。
所以解決辦法是:
確保函數內部和外部的變量名不要重復,這樣就不會導致可能由此導致的錯誤了。
錯誤示例
def func1(arg1='test'):
arg1 = arg1 # 錯誤,內部變量名字最后不要和外部變量名字一致
arg1='test2' # 錯誤,這里最后不要和調用的函數變量名字一致
func1(arg1=arg1)