이 글에서는 Python에서 특정 참조 값이 있는 함수 범위를 주로 소개합니다. 이제 도움이 필요한 친구들이 참조할 수 있도록 공유하겠습니다.
Python에서는 함수가 범위입니다. 이번 글은 파이썬의 함수 범위 소개에 초점을 맞췄습니다. 관심 있는 친구들은 함께 살펴보세요. 파이썬에서 함수는 범위입니다. Xiao Yafei
외부 이름: xiaoyafei 중첩 함수에서 검색하는 방법을 다시 살펴볼까요?이때 우리는 살펴봐야 합니다. 범위 검색 순서:변수 범위 LEGBname = 'xiaoyafei' def change_name(): name = '肖亚飞' print('在change_name里的name:',name) change_name() # 调用函数 print("在外面的name:",name)로그인 후 복사위의 중첩 함수에서는 함수가 범위라는 것을 잘 설명할 수 있으니 이제 코드를 조금 바꿔서 어떻게 되는지 살펴볼까요?
age = 15 def func(): print('第一层age:',age) # 第一层age: 15 def func2(): age = 73 print("func2中的age:",age) # func2中的age: 73 def func3(): age = 84 print("func3中的age:",age) # func3中的age: 84 func3() # 调用func3函数 func2() # 调用func2函数 func()로그인 후 복사
글쎄, 이때 누군가가 말도 안 되는 일이 많이 변했다고 하더군요. 는 지역 변수와 전역 변수가 되기 때문에 묻고 싶습니다. 위의 중첩 함수에는 func2에 age 변수가 없는데 전역 변수 age = 15를 어떻게 찾나요?
L: locals 지역 변수 및 실제 매개변수를 포함한 함수 내의 네임스페이스
E: enclosing 외부 중첩 함수의 네임스페이스 , 즉 인접한 상위 레이어입니다. 예를 들어 func2에 age 변수가 없으면 funcage = 15 def func(): print('第一层age:',age) # 第一层age: 15 def func2(): print("func2中的age:",age) # func2中的age: 15 # 看到没有,如果当前作用域里没有age变量,那么它就会往上找 def func3(): age = 84 print("func3中的age:",age) # func3中的age: 84 func3() # 调用func3函数 func2() # 调用func2函数 func()
위 내용은 Python의 함수 범위의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!