-
파이썬에서의 값 할당 방식@ 17. 1 ~ 18/파이썬 2018. 3. 18. 21:16def sort_priority2(nubmers, group):found = Falsedef helper(x):if x in group:found = Truereturn (0, x)return (1,x)numbers.sort(key=helper)return found
변수가 이미 현재 스코프에 정의되어 있다면 새로운 값을 얻는다.
파이썬은 변수가 현재 스코프에 존재하지 않으면 변수 정의로 취급한다. 새로 정의되는 변수의 스코프는 그 할당을 포함하고 있는 함수가 된다.
위에 함수에서 return받는 found의 값이 False일까? True일까?
사전에 helper내부에서 found = True가 된다는 가정하에서 말이다.
정답은 False이다.
그러면 우리가 알고 있는?? c#에서나.. 할당되는 방식은 어떻게 하는가?
파이썬 3에서는 nonlocal 을 사용하면되나..파이썬 2.7x에선 안된다. 지원하지 않음..
'@ 17. 1 ~ 18 > 파이썬' 카테고리의 다른 글
파이썬 None (0) 2018.03.18 try/except/else/finally (1) 2018.03.18 파이썬 컴프리 헨션의 고려사항 (0) 2018.03.15 문자열 서식 (0) 2018.03.14 파이썬 리스트 관련 (0) 2018.03.14