"파이썬 자유변수"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
 
(사용자 2명의 중간 판 8개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;파이썬 프리변수
;Python free variable
;Python free variable
*코드블록 안에서 사용은 되었지만, 그 블록안에 정의되지 않은 변수 (Used, but neither global nor bound)
;파이썬 프리변수, 파이썬 자유변수
* 어떤 코드블록 안에서 사용되지만, 글로벌 변수도 아니고 블록 내에 정의하지도 않은 변수<ref>Used, but neither global nor bound</ref>


<source lang=''>
<syntaxhighlight lang='python'>
def bar():
def bar():
     x = 1
     x = 1
13번째 줄: 13번째 줄:


bar()
bar()
</source>
</syntaxhighlight>
:→ foo() 함수 안에서의 x가 프리변수임. bar() 함수에서 x는 bound가 되어 있으므로 프리변수가 아님.
:→ foo() 함수 안에서의 x가 프리변수임.
:→ bar() 함수 입장에서는 x를 그 블록 내에서 정의하였으므로(bound) 프리변수가 아님.


==같이 보기==
==같이 보기==
* [[파이썬 locals()]]
* [[파이썬 locals()]]
* [[자유 변수]]
==참고==
* https://stackoverflow.com/questions/12919278/how-to-define-free-variable-in-python


[[분류: python]]
[[분류: python]]

2020년 11월 2일 (월) 02:32 기준 최신판

1 개요[ | ]

Python free variable
파이썬 프리변수, 파이썬 자유변수
  • 어떤 코드블록 안에서 사용되지만, 글로벌 변수도 아니고 그 블록 내에 정의하지도 않은 변수[1]
def bar():
    x = 1
    def foo():
        print(x)
        print(locals())
    foo()

bar()
→ foo() 함수 안에서의 x가 프리변수임.
→ bar() 함수 입장에서는 x를 그 블록 내에서 정의하였으므로(bound) 프리변수가 아님.

2 같이 보기[ | ]

3 참고[ | ]

  1. Used, but neither global nor bound
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}